Kotlinv2.4.0

LLM 提供商

Koog 支持主要的 LLM 提供商,并支持使用 Ollama 的本地模型。 目前支持以下提供商:

LLM 提供商
适用场景
OpenAI(包括 Azure OpenAI Service具有广泛功能的高级模型。
Anthropic长上下文和提示词缓存。
Google β多模态处理(音频、视频)、长上下文。
DeepSeek β高性价比的推理和编码。
OpenRouter一次集成即可访问来自多个提供商的多个模型,具有灵活性、提供商对比和统一 API 的优势。
Amazon BedrockAWS 原生环境、企业级安全与合规、多提供商访问。
Mistral β欧洲数据托管、GDPR 合规。
Alibaba β(DashScope OpenAI 兼容客户端)长上下文和高性价比的通义千问 (Qwen) 模型。
Ollama隐私、本地开发、离线操作且无 API 费用。

下表显示了 Koog 支持的 LLM 功能,以及哪些提供商在其模型中提供这些功能。

LLM 功能
OpenAIAnthropicGoogle βDeepSeek βOpenRouterAmazon BedrockMistral β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 之上提供一个更高级级别的层。 它管理客户端的生命周期,并向不同提供商公开统一的接口。 在多提供商设置中,它可以根据需要在提供商之间路由请求,并可以选择在核心请求需要时回退到指定的客户端。 您可以创建自己的执行器,也可以使用预定义的执行器——单提供商和多提供商选项均可用。

下一步