Skip to content
Draft
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
9 changes: 0 additions & 9 deletions content/docs/build/knowledge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,6 @@ cuga start demo_knowledge --knowledge-profile max_quality

You can also override embeddings from the CLI (`--embeddings-provider`, `--embeddings-model`, `--embeddings-base-url`, …). Built-in embedding families: local `fastembed` (default), Hugging Face, OpenAI-compatible, Ollama, and OpenRouter.

## Routing Knowledge Through CugaLite

The `[advanced_features].force_lite_mode_apps` list defaults to `["knowledge"]`, so knowledge queries always run through CugaLite's faster execution path regardless of `lite_mode_tool_threshold`. To change this, edit `settings.toml`:

```toml
[advanced_features]
force_lite_mode_apps = ["knowledge", "crm"] # add more apps as needed
```

<Callout type="info">
The agent's awareness block is rebuilt as documents are ingested or removed, so newly added documents are usable immediately on the next invocation.
</Callout>
9 changes: 2 additions & 7 deletions content/docs/build/memory.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,10 @@ If Memory is unavailable, times out, or returns nothing, CUGA continues — it n
Memory is used in **CugaLite**. Turn it on in `settings.toml`:

```toml
[advanced_features]
lite_mode = true

[evolve]
enabled = true
mode = "auto"
app_name = "evolve"
lite_mode_only = true
save_on_success = true
save_on_failure = true
async_save = true
Expand Down Expand Up @@ -66,10 +62,10 @@ EVOLVE_BACKEND=postgres
EVOLVE_PG_HOST=localhost
EVOLVE_PG_PORT=5432
EVOLVE_PG_USER=postgres
EVOLVE_PG_PASSWORD=postgres
EVOLVE_PG_PASSWORD=postgres # pragma: allowlist secret
EVOLVE_PG_DBNAME=evolve
EVOLVE_MODEL_NAME=Azure/gpt-4o
OPENAI_API_KEY=env://OPENAI_API_KEY
OPENAI_API_KEY=env://OPENAI_API_KEY # pragma: allowlist secret
OPENAI_BASE_URL=env://OPENAI_BASE_URL
```

Expand Down Expand Up @@ -122,7 +118,6 @@ Identify the common cities between my cuga_workspace/cities.txt and cuga_workspa
| `mode = "auto"` | Registry first, then direct SSE |
| `mode = "registry"` | Registry only |
| `mode = "direct"` | Use `url` only |
| `lite_mode_only = true` | Memory only on the CugaLite path |

---

Expand Down
85 changes: 26 additions & 59 deletions content/docs/configure/models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CUGA supports multiple LLM providers with flexible configuration options. You ca
```bash
# For OpenAI:
# AGENT_SETTING_CONFIG="settings.openai.toml" #Could be replaced by the settings in ./configurations/models
# OPENAI_API_KEY="XXXXXX"
# OPENAI_API_KEY="XXXXXX" # pragma: allowlist secret
# OPENAI_API_VERSION="2024-08-01-preview"
```

Expand Down Expand Up @@ -58,7 +58,7 @@ MODEL_NAME="gpt-4-turbo"
# AGENT_SETTING_CONFIG="settings.watsonx.toml" #Could be replaced by the settings in ./configurations/models
# WATSONX_PROJECT_ID="XXXXXX"
# WATSONX_URL="https://us-south.ml.cloud.ibm.com"
# WATSONX_APIKEY="XXXXXX"
# WATSONX_APIKEY="XXXXXX" # pragma: allowlist secret
```

**Default Values:**
Expand All @@ -78,7 +78,7 @@ MODEL_NAME="meta-llama/llama-3.1-8b-instruct"
```bash
# For Azure Openai
# AGENT_SETTING_CONFIG="settings.azure.toml" #Could be replaced by the settings in ./configurations/models
# AZURE_OPENAI_API_KEY="XXXXXX"
# AZURE_OPENAI_API_KEY="XXXXXX" # pragma: allowlist secret
# AZURE_OPENAI_ENDPOINT="XXXXXX"
```

Expand All @@ -96,7 +96,7 @@ MODEL_NAME="gpt-4o"
```bash
# For Groq
# AGENT_SETTING_CONFIG="settings.groq.toml"
# GROQ_API_KEY="XXXX"
# GROQ_API_KEY="XXXX" # pragma: allowlist secret
```

**Environment Variable Override:**
Expand All @@ -119,7 +119,7 @@ MODEL_NAME="openai/gpt-oss-120b"
```bash
# For OpenRouter
# AGENT_SETTING_CONFIG="settings.openrouter.toml"
# OPENROUTER_API_KEY="XXXX"
# OPENROUTER_API_KEY="XXXX" # pragma: allowlist secret
# OPENROUTER_BASE_URL="https://openrouter.ai/api/v1"
```

Expand All @@ -146,7 +146,7 @@ RITS (Research Internal Token Service) is an IBM-internal LLM gateway service.
```bash
# For RITS
AGENT_SETTING_CONFIG="settings.rits.toml"
RITS_API_KEY="XXXXXX"
RITS_API_KEY="XXXXXX" # pragma: allowlist secret
```

**Default Values:**
Expand All @@ -170,7 +170,7 @@ MiniMax-M3 over an OpenAI-compatible API. Default endpoint is global English (`h
1. Add to your `.env` file:
```bash
AGENT_SETTING_CONFIG="settings.minimax.toml"
MINIMAX_API_KEY="XXXXXX"
MINIMAX_API_KEY="XXXXXX" # pragma: allowlist secret
# Optional: MINIMAX_BASE_URL="https://api.minimax.io/v1"
```

Expand All @@ -192,7 +192,7 @@ MODEL_NAME="MiniMax-M3"
1. Add to your `.env` file:
```bash
AGENT_SETTING_CONFIG="settings.google.toml"
GOOGLE_API_KEY="XXXXXX"
GOOGLE_API_KEY="XXXXXX" # pragma: allowlist secret
```

**Environment Variable Override:**
Expand All @@ -210,7 +210,7 @@ Ollama is configured as an OpenAI-compatible endpoint. A dummy API key is requir
2. Add to your `.env` file:
```bash
AGENT_SETTING_CONFIG="settings.ollama.toml"
OPENAI_API_KEY="ollama"
OPENAI_API_KEY="ollama" # pragma: allowlist secret
# Optional: OPENAI_BASE_URL="http://localhost:11434/v1"
```

Expand Down Expand Up @@ -238,7 +238,7 @@ guardrails, and are billed against its entitlement.
3. Add to your `.env` file:
```bash
AGENT_SETTING_CONFIG="settings.wxo.toml"
WXO_API_KEY="XXXXXX"
WXO_API_KEY="XXXXXX" # pragma: allowlist secret
WXO_INSTANCE_URL="https://api.dl.watson-orchestrate.ibm.com/instances/XXXXXX"
```

Expand All @@ -264,7 +264,7 @@ CUGA supports LiteLLM through the OpenAI configuration by overriding the base UR
```bash
# For LiteLLM:
# AGENT_SETTING_CONFIG="settings.openai.toml" #Could be replaced by the settings in ./configurations/models
# OPENAI_API_KEY="XXXXXX"
# OPENAI_API_KEY="XXXXXX" # pragma: allowlist secret
# OPENAI_BASE_URL="XXXXXX"
```

Expand Down Expand Up @@ -306,76 +306,43 @@ Use `settings.openai.reasoning-high-32k.toml` if high effort crowds out visible

### Settings File Content Structure

Each settings file contains configuration for different CUGA agents. You can configure each agent independently with different models and parameters:
Each settings file configures the same six agent roles: **planner**, **chat**, **final_answer**, **code**, **qa**, and **action**. You can set model and parameters per role.

#### OpenAI Configuration Example

```toml
[agent.task_decomposition.model]
platform = "openai"
temperature = 0.1
max_tokens = 1000

[agent.planner.model]
platform = "openai"
temperature = 0.1
max_tokens = 5000
max_tokens = 16000

[agent.chat.model]
platform = "openai"
temperature = 0.1
max_tokens = 5000
max_tokens = 16000

[agent.shortlister.model]
[agent.final_answer.model]
platform = "openai"
temperature = 0.1
max_tokens = 7000
```

#### WatsonX Configuration Example
max_tokens = 16000

```toml
[agent.shortlister.model]
platform = "watsonx"
model_name = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
[agent.code.model]
platform = "openai"
temperature = 0.1
max_tokens = 7000
max_tokens = 16000

[agent.planner.model]
platform = "watsonx"
model_name = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
[agent.qa.model]
platform = "openai"
temperature = 0.1
max_tokens = 5000
max_tokens = 16000

[agent.chat.model]
platform = "watsonx"
model_name = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
[agent.action.model]
platform = "openai"
temperature = 0.1
max_tokens = 5000
max_tokens = 400
```

#### OpenRouter Configuration Example
```toml
[agent.task_decomposition.model]
platform = "openrouter"
temperature = 0.1
max_tokens = 1000

[agent.planner.model]
platform = "openrouter"
temperature = 0.1
max_tokens = 5000

[agent.chat.model]
platform = "openrouter"
temperature = 0.1
max_tokens = 5000

[agent.shortlister.model]
platform = "openrouter"
temperature = 0.1
max_tokens = 7000
```
Other providers (`settings.watsonx.toml`, `settings.azure.toml`, `settings.groq.toml`, `settings.openrouter.toml`, and the rest) use the same six keys. Only `platform` (and optional `model_name`) change.

## Switching Between Providers

Expand Down
Loading