UNPKG

@botpress/adk-cli

Version:

Command-line interface for the Botpress Agent Development Kit (ADK)

205 lines (149 loc) 4.02 kB
# Model Configuration Reference Quick reference for configuring AI models at different levels in ADK agents. --- ## 1. Global Defaults (agent.config.ts) ```typescript import { defineConfig } from '@botpress/runtime' export default defineConfig({ name: 'my-agent', defaultModels: { autonomous: 'openai:gpt-4o', // Used by execute() zai: 'openai:gpt-4o-mini', // Used by Zai operations }, }) ``` ### With Fallback Arrays ```typescript defaultModels: { autonomous: [ "openai:gpt-4o", "anthropic:claude-3-5-sonnet", "openai:gpt-4o-mini" ], zai: "openai:gpt-4o-mini" } ``` --- ## 2. Per-Call Override (execute) ```typescript await execute({ instructions: 'You are a helpful assistant', model: 'anthropic:claude-3-5-sonnet', temperature: 0.7, }) ``` ### With Fallback Array ```typescript await execute({ instructions: 'You are a helpful assistant', model: ['openai:gpt-4o', 'anthropic:claude-3-5-sonnet'], }) ``` --- ## 3. Zai Model Override Override the default Zai model per-instance using `.with()`: ```typescript import { adk } from '@botpress/runtime' const preciseZai = adk.zai.with({ modelId: 'openai:gpt-4o' }) await preciseZai.extract(text, schema) ``` > For full Zai configuration (initialization, chaining, learning, operations), see [zai-agent-reference.md](./zai-agent-reference.md) and [zai-complete-guide.md](./zai-complete-guide.md). --- ## 4. Available Models ### Model Name Format Models follow the pattern: `{provider}:{model-name}` ```typescript 'openai:gpt-4o' // Short name 'openai:gpt-4.1-2025-04-14' // Dated version (more specific) 'anthropic:claude-3-5-sonnet' // Short name 'anthropic:claude-sonnet-4-5-20250929' // Dated version 'best' // Zai shortcut (highest quality) 'fast' // Zai shortcut (fastest/cheapest) ``` **Finding Available Models:** - The Models type accepts any string, so new models work automatically - For current available models, check the `Models` type in `@botpress/cognitive` - Use TypeScript autocomplete: Start typing a provider name to see suggestions - Dated versions (e.g., `gpt-4.1-2025-04-14`) are more explicit about which version you're using ### Common Models ### OpenAI ``` openai:gpt-4o openai:gpt-4o-mini openai:gpt-4-turbo openai:gpt-3.5-turbo ``` ### Anthropic ``` anthropic:claude-3-5-sonnet anthropic:claude-3-opus anthropic:claude-3-haiku ``` ### Google ``` google:gemini-1.5-pro google:gemini-1.5-flash ``` ### Cerebras ``` cerebras:gpt-oss-120b ``` ### Zai Shortcuts ``` best # Highest quality model fast # Fastest/cheapest model ``` --- ## 5. Precedence Order **For execute():** 1. `execute({ model: "..." })` - Per-call override 2. `agent.config.ts defaultModels.autonomous` - Global default **For Zai:** 1. `zai.with({ modelId: "..." })` - Instance override 2. `new Zai({ modelId: "..." })` - Constructor config 3. `agent.config.ts defaultModels.zai` - Global default --- ## 6. Environment-Based Configuration ```typescript export default defineConfig({ name: 'my-agent', defaultModels: { autonomous: process.env.AI_MODEL || 'openai:gpt-4o', zai: process.env.ZAI_MODEL || 'openai:gpt-4o-mini', }, }) ``` --- ## Quick Examples ### Conversation with Custom Model ```typescript export default new Conversation({ channel: '*', handler: async ({ execute }) => { await execute({ instructions: 'You are a helpful assistant', model: 'anthropic:claude-3-5-sonnet', }) }, }) ``` ### Workflow with Model Override ```typescript export default Workflow({ name: 'research', handler: async ({ step, execute }) => { const result = await step('analyze', async () => { return await execute({ instructions: 'Analyze this data', model: 'openai:gpt-4o', }) }) return result }, }) ``` ### Zai Operation with Specific Model ```typescript import { adk } from '@botpress/runtime' const analysis = await adk.zai.with({ modelId: 'anthropic:claude-3-5-sonnet' }).extract(document, schema) ```