import asyncio
import sys
from pathlib import Path
sys.path.append(str(Path(__file__).parent.parent.parent))
import g4f
async def test(model: g4f.Model):
try:
try:
for response in g4f.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": "write a poem about a tree"}],
temperature=0.1,
stream=True
):
print(response, end="")
print()
except:
for response in await g4f.ChatCompletion.create_async(
model=model,
messages=[{"role": "user", "content": "write a poem about a tree"}],
temperature=0.1,
stream=True
):
print(response, end="")
print()
return True
except Exception as e:
print(model.name, "not working:", e)
print(e.__traceback__.tb_next)
return False
async def start_test():
models_to_test = [
# GPT-3.5 4K Context
g4f.models.gpt_35_turbo,
g4f.models.gpt_35_turbo_0613,
# GPT-3.5 16K Context
g4f.models.gpt_35_turbo_16k,
g4f.models.gpt_35_turbo_16k_0613,
# GPT-4 8K Context
g4f.models.gpt_4,
g4f.models.gpt_4_0613,
# GPT-4 32K Context
g4f.models.gpt_4_32k,
g4f.models.gpt_4_32k_0613,
]
models_working = []
for model in models_to_test:
if await test(model):
models_working.append(model.name)
print("working models:", models_working)
asyncio.run(start_test())