()
| 16 | |
| 17 | |
| 18 | def _build_parser() -> argparse.ArgumentParser: |
| 19 | parser = argparse.ArgumentParser( |
| 20 | prog="direct-llm-agent", |
| 21 | description="Run a question through a direct model-only LLM baseline.", |
| 22 | formatter_class=argparse.RawDescriptionHelpFormatter, |
| 23 | epilog=""" |
| 24 | model-id format: |
| 25 | tokenrouter/<model> TokenRouter (OpenAI-compatible) model [default] |
| 26 | e.g. tokenrouter/MiniMax-M3 |
| 27 | litellm_proxy/<model> LiteLLM proxy model |
| 28 | e.g. litellm_proxy/Azure/gpt-5-mini-2025-08-07 |
| 29 | |
| 30 | environment variables: |
| 31 | TOKENROUTER_API_KEY TokenRouter API key (for tokenrouter/* models) |
| 32 | TOKENROUTER_BASE_URL TokenRouter base URL (e.g. https://api.tokenrouter.com/v1) |
| 33 | LITELLM_API_KEY LiteLLM API key (for litellm_proxy/* models) |
| 34 | LITELLM_BASE_URL LiteLLM base URL |
| 35 | |
| 36 | examples: |
| 37 | direct-llm-agent 'Return only JSON: {"test": 1}' |
| 38 | direct-llm-agent --model-id tokenrouter/MiniMax-M3 'Return only one integer.' |
| 39 | """, |
| 40 | ) |
| 41 | add_common_args(parser, default_model=_DEFAULT_MODEL) |
| 42 | return parser |
| 43 | |
| 44 | |
| 45 | def _build_llm(model_id: str): |
nothing calls this directly
no test coverage detected