koog

JAVA源码 2025-08-20

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)

  1. 将依赖项添加到build.gradle.kts文件:

    koog -agents:0.3.0") }">
     dependencies {
        implementation("ai. koog : koog -agents:0.3.0")
    }
    
  2. 确保存储库列表中的mavenCentral()

gradle(Groovy)

  1. 将依赖项添加到build.gradle文件:

    koog -agents:0.3.0' }">
     dependencies {
        implementation 'ai. koog : koog -agents:0.3.0'
    }
    
  2. 确保存储库列表中的mavenCentral()

小牛

  1. 将依赖项添加到pom.xml文件:

    koog koog -agents 0.3.0 ">
     
        ai. koog 
         koog -agents
        0.3.0
    
    
  2. 确保您在存储库列表中有mavenCentral

贡献

阅读贡献指南。

行为守则

该项目和相应的社区受到Jetbrains开源和社区行为守则的约束。请确保您阅读。

执照

koog已获得Apache 2.0许可证的许可。

支持

请随时在我们的官方Slack频道(链接)中提出任何问题,并使用koog官方YouTrack项目提交功能请求和错误报告。

下载源码

通过命令行克隆项目:

git clone https://github.com/JetBrains/koog.git