Koog is a JVM (Java and Kotlin) framework for building predictable, fault-tolerant and enterprise-ready AI agents across all platforms – from backend services to Android and iOS, JVM, and even in-browser environments. Koog is based on our AI products expertise and provides proven solutions for complex LLM and AI problems
Koog
构建状态:
实用链接:
概述
Koog 是一个基于 Kotlin 的框架,旨在完全通过地道的 Kotlin 和 Java API 构建和运行 AI 智能体。它让您能够创建可以与工具交互、处理复杂工作流并与用户沟通的智能体。
主要特性
Koog 的主要特性包括:
- 跨平台开发:使用 Kotlin Multiplatform 在 JVM、JS、WasmJS、Android 和 iOS 目标平台上部署智能体。
- 可靠性与容错性:通过内置重试机制处理故障,并借助智能体持久化功能在执行期间的特定点恢复智能体状态。
- 智能历史压缩:使用先进的内置历史压缩技术,在保持长对话上下文的同时优化令牌使用。
- 企业级集成:利用与 Spring Boot 和 Ktor 等流行 JVM 框架的集成,将 Koog 嵌入到您的应用程序中。
- OpenTelemetry 导出器可观测性:通过对流行可观测性提供商(W&B Weave、Langfuse)的内置支持,监控和调试应用程序。
- LLM 切换与无缝历史适配:可随时切换到不同的 LLM 而不会丢失现有对话历史,或在多个 LLM 提供商之间重新路由。
- 与 JVM 和 Kotlin 应用程序集成:使用专为 JVM 和 Kotlin 开发人员设计的地道、类型安全的 Kotlin DSL 构建 AI 智能体。
- 模型上下文协议集成:在 AI 智能体中使用模型上下文协议(MCP)工具。
- 智能体客户端协议集成:构建符合 ACP 标准的智能体,使其能够使用智能体客户端协议(ACP)与标准化客户端应用程序通信。
- 知识检索与记忆:使用向量嵌入和 RAG 在对话间保留和检索知识。
- 强大的流式 API:通过流式支持和并行工具调用实时处理响应。
- 模块化功能系统:通过可组合架构自定义智能体功能。
- 灵活的图工作流:使用直观的基于图的工作流设计复杂的智能体行为。
- 自定义工具创建:通过访问外部系统和 API 的工具增强您的智能体。
- 全面追踪:通过详细的、可配置的追踪来调试和监控智能体执行。
可用的 LLM 提供商和平台
您可以使用以下 LLM 提供商和平台的 LLM 来增强您的智能体能力:
- OpenAI
- Anthropic
- DeepSeek
- OpenRouter
- Ollama
- Bedrock
快速入门示例
为了帮助您快速上手 AI 智能体,以下是一个简单示例:
fun main() = runBlocking {
// Before you run the example, assign a corresponding API key as an environment variable.
val apiKey = System.getenv("OPENAI_API_KEY") // or Anthropic, Google, OpenRouter, etc.
val agent = AIAgent(
promptExecutor = MultiLLMPromptExecutor(OpenAILLMClient(apiKey)), // or Anthropic, Google, OpenRouter, etc.
systemPrompt = "You are a helpful assistant. Answer user questions concisely.",
llmModel = OpenAIModels.Chat.GPT4o
)
val result = agent.run("Hello! How can you help me?")
println(result)
}
在您的项目中使用
支持的目标平台
目前,该框架支持 JVM、JS、WasmJS 和 iOS 目标平台。
要求
- 在 JVM 上使用该框架需要 JDK 17 或更高版本。
- 现有项目中应明确设置 Kotlin 2.3.10 或更高版本。有关 Kotlin 依赖项的更多信息,请查看 libs.versions.toml(当前使用 kotlinx-coroutines 1.10.2、kotlinx-serialization 1.10.0 和 kotlinx-datetime 0.7.1)
Gradle(Kotlin DSL)
-
向
build.gradle.kts文件添加依赖:dependencies { implementation("ai.koog:koog-agents:1.0.0") implementation("ai.koog:koog-agents-additions:1.0.0-beta") } -
确保仓库列表中包含
mavenCentral()。
Gradle(Groovy)
-
向
build.gradle文件添加依赖:dependencies { implementation 'ai.koog:koog-agents:1.0.0' implementation 'ai.koog:koog-agents-additions:1.0.0-beta' } -
确保仓库列表中包含
mavenCentral()。
Maven
-
向
pom.xml文件添加依赖:<dependency> <groupId>ai.koog</groupId> <artifactId>koog-agents-jvm</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>ai.koog</groupId> <artifactId>koog-agents-additions-jvm</artifactId> <version>1.0.0-beta</version> </dependency> -
确保仓库列表中包含
mavenCentral。
版本控制
Koog 框架稳定,并遵循语义化版本控制。详情请参见 VERSIONING.md。
贡献
请阅读 贡献指南。
行为准则
本项目及相应社区遵循 JetBrains 开源和社区行为准则。请务必阅读。
许可
Koog 根据 Apache 2.0 许可 授权。
支持
欢迎在我们的官方 Slack 频道随时提问,并使用Koog 官方 YouTrack 项目提交功能请求和错误报告。
Introduction
Koog 是一个基于 Kotlin 的框架,旨在用纯熟的 Kotlin 语法构建和运行人工智能代理。【此简介由AI生成】