Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2902,12 +2902,15 @@ docker run --rm \

#### Using Pre-configured Providers

The Docker image comes with built-in support for major providers (OpenAI, Anthropic, Gemini, Ollama) and pre-configured provider files for additional services (OpenRouter, DeepInfra, DeepSeek, Moonshot, Novita):
The Docker image comes with built-in support for major providers (OpenAI, Anthropic, Gemini, Ollama) and pre-configured provider files for additional services (OpenRouter, OrcaRouter, DeepInfra, DeepSeek, Moonshot, Novita):

```bash
# Test with OpenRouter configuration
docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/openrouter.provider.yml

# Test with OrcaRouter configuration
docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/orcarouter.provider.yml

# Test with DeepInfra configuration
docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/deepinfra.provider.yml

Expand Down Expand Up @@ -2960,11 +2963,11 @@ docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/ollam
To use these configurations, your `.env` file only needs to contain:

```
LLM_SERVER_URL=https://openrouter.ai/api/v1 # or https://api.deepinfra.com/v1/openai or https://api.openai.com/v1 or https://api.novita.ai/openai
LLM_SERVER_URL=https://openrouter.ai/api/v1 # or https://api.orcarouter.ai/v1 or https://api.deepinfra.com/v1/openai or https://api.openai.com/v1 or https://api.novita.ai/openai
LLM_SERVER_KEY=your_api_key
LLM_SERVER_MODEL= # Leave empty, as models are specified in the config
LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/openrouter.provider.yml # or deepinfra.provider.ymll or custom-openai.provider.yml or novita.provider.yml
LLM_SERVER_PROVIDER= # Provider name for LiteLLM proxy (e.g., openrouter, deepseek, moonshot, novita)
LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/openrouter.provider.yml # or orcarouter.provider.yml or deepinfra.provider.ymll or custom-openai.provider.yml or novita.provider.yml
LLM_SERVER_PROVIDER= # Provider name for LiteLLM proxy (e.g., openrouter, orcarouter, deepseek, moonshot, novita)
LLM_SERVER_LEGACY_REASONING=false # Controls reasoning format, for OpenAI must be true (default: false)
LLM_SERVER_PRESERVE_REASONING=false # Preserve reasoning content in multi-turn conversations (required by Moonshot, default: false)

Expand Down Expand Up @@ -3083,6 +3086,7 @@ When using LiteLLM proxy, set the corresponding `*_PROVIDER` variable to enable
- `dashscope` - for Qwen models (`QWEN_PROVIDER=dashscope` → `dashscope/qwen-plus`)
- `openai`, `anthropic`, `gemini` - for major cloud providers
- `openrouter` - for OpenRouter aggregator
- `orcarouter` - for OrcaRouter aggregator
- `deepinfra` - for DeepInfra hosting
- `novita` - for Novita AI
- Any other provider name configured in your LiteLLM instance
Expand Down
134 changes: 134 additions & 0 deletions examples/configs/orcarouter.provider.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# OrcaRouter provider configuration (OpenAI-compatible meta-router).
# Use via the custom LLM endpoint:
# LLM_SERVER_URL=https://api.orcarouter.ai/v1
# LLM_SERVER_KEY=sk-orca-...
# LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/orcarouter.provider.yml
# Model IDs are namespaced (e.g. openai/gpt-5.5); "orcarouter/auto" is a virtual
# adaptive router. Prices are indicative - regenerate from https://www.orcarouter.ai/api/pricing.

simple:
model: "google/gemini-3.5-flash"
temperature: 0.3
top_p: 0.9
n: 1
max_tokens: 4000
price:
input: 0.3
output: 2.5

simple_json:
model: "google/gemini-3.5-flash"
temperature: 0.3
top_p: 1.0
n: 1
max_tokens: 4000
json: true
price:
input: 0.3
output: 2.5

primary_agent:
model: "openai/gpt-5.5"
n: 1
max_tokens: 6000
reasoning:
effort: high
price:
input: 1.25
output: 10.0

assistant:
model: "openai/gpt-5.5"
n: 1
max_tokens: 6000
reasoning:
effort: high
price:
input: 1.25
output: 10.0

generator:
model: "anthropic/claude-sonnet-4.6"
n: 1
max_tokens: 12000
reasoning:
max_tokens: 4000
price:
input: 3.0
output: 15.0

refiner:
model: "openai/gpt-5.5"
n: 1
max_tokens: 10000
reasoning:
effort: medium
price:
input: 1.25
output: 10.0

adviser:
model: "openai/gpt-5.5"
n: 1
max_tokens: 6000
reasoning:
effort: high
price:
input: 1.25
output: 10.0

reflector:
model: "google/gemini-3.5-flash"
temperature: 0.5
top_p: 1.0
n: 1
max_tokens: 4000
price:
input: 0.3
output: 2.5

searcher:
model: "google/gemini-3.5-flash"
n: 1
max_tokens: 4000
price:
input: 0.3
output: 2.5

enricher:
model: "google/gemini-3.5-flash"
temperature: 0.5
top_p: 1.0
n: 1
max_tokens: 6000
price:
input: 0.3
output: 2.5

coder:
model: "anthropic/claude-sonnet-4.6"
n: 1
max_tokens: 8000
reasoning:
max_tokens: 2000
price:
input: 3.0
output: 15.0

installer:
model: "google/gemini-3.5-flash"
n: 1
max_tokens: 4000
price:
input: 0.3
output: 2.5

pentester:
model: "openai/gpt-5.5"
n: 1
max_tokens: 6000
reasoning:
effort: high
price:
input: 1.25
output: 10.0