()
| 37 | |
| 38 | |
| 39 | async def test_chat(): |
| 40 | logger.info(f"| --------------------------------------------------") |
| 41 | logger.info(f"| Testing chat with different models") |
| 42 | models = [ |
| 43 | # OpenAI models |
| 44 | "openrouter/gpt-4o", |
| 45 | # "openrouter/gpt-4.1", |
| 46 | # "openrouter/gpt-5", |
| 47 | # "openrouter/gpt-5.1", |
| 48 | # "openrouter/gpt-5.2", |
| 49 | # "openrouter/o3", |
| 50 | # "openai/gpt-4o", |
| 51 | # "openai/gpt-4.1", |
| 52 | # "openai/gpt-5", |
| 53 | # "openai/gpt-5.1", |
| 54 | # "openai/gpt-5.2", |
| 55 | # "openai/o3", |
| 56 | |
| 57 | # Anthropic models |
| 58 | # "openrouter/claude-sonnet-3.7", |
| 59 | # "openrouter/claude-sonnet-4", |
| 60 | # "openrouter/claude-opus-4", |
| 61 | # "openrouter/claude-sonnet-4.5", |
| 62 | # "openrouter/claude-opus-4.5", |
| 63 | # "anthropic/claude-sonnet-3.7", |
| 64 | # "anthropic/claude-sonnet-4", |
| 65 | # "anthropic/claude-sonnet-4.5", |
| 66 | |
| 67 | # Gemini models |
| 68 | # "openrouter/gemini-2.5-flash", |
| 69 | # "openrouter/gemini-2.5-pro", |
| 70 | # "openrouter/gemini-3-flash-preview", |
| 71 | # "openrouter/gemini-3-pro-preview", |
| 72 | # "google/gemini-2.5-flash", |
| 73 | # "google/gemini-2.5-pro", |
| 74 | # "google/gemini-3-pro-preview", |
| 75 | ] |
| 76 | |
| 77 | image_url = make_file_url(file_path=assemble_project_path("tests/files/pokemon.jpg")) |
| 78 | |
| 79 | messages = [ |
| 80 | SystemMessage(content="You are a helpful assistant."), |
| 81 | HumanMessage(content=[ |
| 82 | ContentPartText(text="What are the names of the Pokémon in the image?"), |
| 83 | ContentPartImage(image_url=ImageURL(url=image_url, detail="high")), |
| 84 | ]), |
| 85 | ] |
| 86 | |
| 87 | for model in models: |
| 88 | logger.info(f"| Testing {model}") |
| 89 | response = await model_manager( |
| 90 | model=model, |
| 91 | messages=messages |
| 92 | ) |
| 93 | logger.info(f"| {model} Response: {json.dumps(response.model_dump(), indent=4)}") |
| 94 | logger.info(f"| --------------------------------------------------") |
| 95 | |
| 96 | async def test_transcription(): |
nothing calls this directly
no test coverage detected