LLM 提供商
Koog 支持主要的 LLM 提供商,并支持使用 Ollama 的本地模型。 目前支持以下提供商:
LLM 提供商 | 适用场景 |
|---|---|
| OpenAI(包括 Azure OpenAI Service) | 具有广泛功能的高级模型。 |
| Anthropic | 长上下文和提示词缓存。 |
| Google β | 多模态处理(音频、视频)、长上下文。 |
| DeepSeek β | 高性价比的推理和编码。 |
| OpenRouter | 一次集成即可访问来自多个提供商的多个模型,具有灵活性、提供商对比和统一 API 的优势。 |
| Amazon Bedrock | AWS 原生环境、企业级安全与合规、多提供商访问。 |
| Mistral β | 欧洲数据托管、GDPR 合规。 |
| Alibaba β(DashScope OpenAI 兼容客户端) | 长上下文和高性价比的通义千问 (Qwen) 模型。 |
| Ollama | 隐私、本地开发、离线操作且无 API 费用。 |
下表显示了 Koog 支持的 LLM 功能,以及哪些提供商在其模型中提供这些功能。
LLM 功能 | OpenAI | Anthropic | Google β | DeepSeek β | OpenRouter | Amazon Bedrock | Mistral β | Alibaba β (DashScope OpenAI 兼容客户端) | Ollama (本地模型) |
|---|---|---|---|---|---|---|---|---|---|
| 支持的输入 | 文本、图像、音频、文档 | 文本、图像、文档^1 | 文本、图像、音频、视频、文档^1 | 文本 | 因模型而异 | 因模型而异 | 文本、图像、文档^1 | 文本、图像、音频、视频^1 | 文本、图像^1 |
| 响应流式传输 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 工具 (Tools) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓^1 | ✓ | ✓ | ✓ |
| 工具选择 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓^1 | ✓ | ✓ | – |
| 结构化输出 (JSON Schema) | ✓ | ✓^1 | ✓ | ✓ | ✓^1 | – | ✓ | ✓^1 | ✓ |
| 多个选项 | ✓ | – | ✓ | – | ✓^1 | ✓^1 | ✓ | ✓^1 | – |
| Temperature | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 推测 (Speculation) | ✓^1 | – | – | – | ✓^1 | – | ✓^1 | ✓^1 | – |
| 内容审查 | ✓ | – | – | – | – | ✓ | ✓ | – | ✓ |
| 嵌入 (Embeddings) | ✓ | – | – | – | – | ✓ | ✓ | – | ✓ |
| 提示词缓存 | ✓^1 | ✓ | – | – | – | – | – | – | – |
| 补全 (Completion) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 本地执行 | – | – | – | – | – | – | – | – | ✓ |
NOTE
Koog 支持用于创建 AI 代理的最常用功能。 各提供商的 LLM 可能具有 Koog 目前尚不支持的其他特性。 要了解更多信息,请参阅模型功能。
使用提供商
Koog 允许您在两个层面上使用 LLM 提供商:
使用 LLM 客户端与特定提供商进行直接交互。 每个客户端都实现了
LLMClient接口,处理该提供商的身份验证、 请求格式化和响应解析。 有关详情,请参阅 LLM 客户端。- 使用提示词执行器进行更高级级别的抽象,它封装了一个或多个 LLM 客户端, 管理它们的生命周期,并统一了跨提供商的接口。 它可以切换提供商, 并可以选择使用相应的客户端回退到配置的提供商和 LLM。 您可以创建自己的执行器,也可以针对特定提供商使用预定义的提示词执行器。 有关详情,请参阅提示词执行器。
使用提示词执行器可在多个 LLMClient 之上提供一个更高级级别的层。 它管理客户端的生命周期,并向不同提供商公开统一的接口。 在多提供商设置中,它可以根据需要在提供商之间路由请求,并可以选择在核心请求需要时回退到指定的客户端。 您可以创建自己的执行器,也可以使用预定义的执行器——单提供商和多提供商选项均可用。