koog
概述
koog是一个基于Kotlin的框架,旨在完全用惯用的Kotlin构建和运行AI代理。它使您可以创建可以与工具进行交互,处理复杂工作流并与用户通信的代理。
关键功能
koog的主要特征包括:
- 纯Kotlin实施:完全用自然和惯用的Kotlin构建AI代理。
- MCP集成:连接到增强模型管理的模型上下文协议。
- 嵌入功能:使用矢量嵌入进行语义搜索和知识检索。
- 自定义工具创建:使用访问外部系统和API的工具扩展代理。
- 现成的组件:通过针对常见的AI工程挑战的预先建立的解决方案加快开发的速度。
- 智能历史记录压缩:在使用各种预先构建的策略维护对话上下文的同时,优化令牌用法。
- 功能强大的流API :通过流支持和并行工具调用实时实时的过程响应。
- 持续的代理记忆:使会话甚至不同的代理之间的知识保留。
- 全面的跟踪:带有详细和可配置的跟踪的调试和监视器执行。
- 灵活的图形工作流程:使用基于图形的工作流程设计复杂的代理行为。
- 模块化功能系统:通过合并体系结构自定义代理功能。
- 可扩展体系结构:处理从简单聊天机器人到企业应用程序的工作负载。
- 多平台:JVM,JS,WASMJS目标的运行代理具有Kotlin MultiPlatform。
可用的LLM提供商和平台
LLM提供商和平台,您可以使用其LLM来为代理功能供电:
- 谷歌
- Openai
- 人类
- OpenRouter
- 奥拉马
QuickStart示例
为了帮助您开始使用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 ( executor = simpleOpenAIExecutor(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目标。
在JVM上,使用框架需要JDK 17或更高。
请检查libs.versions.toml以了解有关koog依赖性的更多信息。
Gradle(Kotlin DSL)
-
将依赖项添加到
build.gradle.kts文件:koog -agents:0.3.0")
}\”>dependencies { implementation(\"ai. koog : koog -agents:0.3.0\") } -
确保存储库列表中的
mavenCentral()。
gradle(Groovy)
-
将依赖项添加到
build.gradle文件:koog -agents:0.3.0\’
}\”>dependencies { implementation \'ai. koog : koog -agents:0.3.0\' } -
确保存储库列表中的
mavenCentral()。
小牛
-
将依赖项添加到
pom.xml文件:koog</groupId>
<artifactId> koog -agents</artifactId>
<version>0.3.0</version>
</dependency>\”><dependency> <groupId>ai. koog </groupId> <artifactId> koog -agents</artifactId> <version>0.3.0</version> </dependency> -
确保您在存储库列表中有
mavenCentral。
贡献
阅读贡献指南。
行为守则
该项目和相应的社区受到Jetbrains开源和社区行为守则的约束。请确保您阅读。
执照
koog已获得Apache 2.0许可证的许可。
支持
请随时在我们的官方Slack频道(链接)中提出任何问题,并使用koog官方YouTrack项目提交功能请求和错误报告。
