Skip to content

LLM & Ecosystem Providers

AgentV uses Ecosystem Adapters to transparently map evaluation tasks to specific LLM providers. All provider configurations are managed via environment variables to ensure secure, zero-touch deployment.

Set the following variables in your .env file or CI/CD secrets to enable provider connectivity.

Provider.env VariableDefault Fallback
AnthropicCLAUDE_API_URLhttps://api.anthropic.com/v1/messages
GoogleGEMINI_BASE_URLhttps://generativelanguage.googleapis.com/v1/models
OllamaOLLAMA_API_URLhttp://localhost:11434/api/chat
xAI (Grok)GROK_API_URL(Requires active Grok Adapter)
AutoGenAG2_API_URLhttp://localhost:5002/execute_task

Most providers also require their respective API keys (e.g., ANTHROPIC_API_KEY, GOOGLE_API_KEY, OPENAI_API_KEY).


The harness uses custom URI schemes to route tasks to specific providers.

  • gemini://: Uses the official google-genai v1.70.0 SDK. (Default: Gemini 2.5 Flash).
  • claude://: Direct integration with Anthropic Claude 3.5/4 models.
  • openai://: Standard OpenAI v1 protocol support.
  • grok://: Native xAI Grok API integration.
  • ollama://: For local model execution.

Specific models can be targeted in the scenario definition:

{
"agent_url": "gemini://gemini-2.5-flash",
"temperature": 0.0
}

The luna_judge_score metric can be configured to use any registered provider as the evaluation judge.

FieldDefaultDescription
judge_providergeminiThe model provider (e.g., openai, gemini, ollama).
judge_modelgemini-2.5-flashSpecific model ID.
judge_rubricgenericThe named rubric to use for scoring.
  • clinical_safety: Healthcare-specific HIPAA and safety audit.
  • fiduciary_accuracy: Financial advice and numerical correctness.
  • policy_adherence: Legal boundary enforcement.
  • generic: Standard semantic similarity.

To prevent hung evaluations, all provider calls are subject to the following global limits:

  • PROVIDER_TIMEOUT: 30.0s (Default).
  • RETRY_COUNT: 3 (Exponential backoff for 429/503 errors).

These can be overridden in eval_runner/config.py or via the CLI.