()
| 263 | logger.info(f"| --------------------------------------------------") |
| 264 | |
| 265 | async def test_tool_calling(): |
| 266 | logger.info(f"| --------------------------------------------------") |
| 267 | logger.info(f"| Testing tool calling with different models") |
| 268 | models = [ |
| 269 | # OpenAI models |
| 270 | "openrouter/gpt-4o", |
| 271 | "openrouter/gpt-4.1", |
| 272 | "openrouter/gpt-5", |
| 273 | "openrouter/gpt-5.1", |
| 274 | "openrouter/gpt-5.2", |
| 275 | "openrouter/o3", |
| 276 | # "openai/gpt-4o", |
| 277 | # "openai/gpt-4.1", |
| 278 | # "openai/gpt-5", |
| 279 | # "openai/gpt-5.1", |
| 280 | # "openai/o3", |
| 281 | |
| 282 | # Anthropic models |
| 283 | # "openrouter/claude-sonnet-3.7", |
| 284 | # "openrouter/claude-sonnet-4", |
| 285 | # "openrouter/claude-opus-4", |
| 286 | # "openrouter/claude-sonnet-4.5", |
| 287 | # "openrouter/claude-opus-4.5", |
| 288 | # "anthropic/claude-sonnet-3.7", |
| 289 | # "anthropic/claude-sonnet-4", |
| 290 | # "anthropic/claude-sonnet-4.5", |
| 291 | |
| 292 | # Gemini models |
| 293 | # "openrouter/gemini-2.5-flash", |
| 294 | # "openrouter/gemini-2.5-pro", |
| 295 | # "openrouter/gemini-3-pro-preview", |
| 296 | # "google/gemini-2.5-flash", |
| 297 | # "google/gemini-2.5-pro", |
| 298 | # "google/gemini-3-pro-preview", |
| 299 | ] |
| 300 | |
| 301 | tools = [ |
| 302 | await tcp.get('bash'), |
| 303 | ] |
| 304 | |
| 305 | messages = [ |
| 306 | SystemMessage(content="You are a helpful assistant."), |
| 307 | HumanMessage(content=[ |
| 308 | ContentPartText(text="Please run the command 'ls -l' and return the output."), |
| 309 | ]), |
| 310 | ] |
| 311 | |
| 312 | for model in models: |
| 313 | logger.info(f"| Testing {model}") |
| 314 | response = await model_manager( |
| 315 | model=model, |
| 316 | messages=messages, |
| 317 | tools=tools, |
| 318 | ) |
| 319 | logger.info(f"| {model} Response: {json.dumps(response.model_dump(), indent=4)}") |
| 320 | logger.info(f"| --------------------------------------------------") |
| 321 | |
| 322 | async def test_search(): |
nothing calls this directly
no test coverage detected