跳转到主要内容
VeADK Java 可以用两种方式接入 AgentKit:
  • AgentKit Runtime HTTP 示例:启动一个轻量 HTTP 进程,对外暴露 /invoke、/ping、/health、/readiness 和 /liveness。适合先验证 Agent 能否作为 AgentKit Runtime 被调用。
  • AgentKit Server 示例:基于 ADK Web 暴露 /run、/run_sse、/list-apps 和会话管理接口。适合需要复用 ADK Web 原生会话和执行语义的场景。
部署前,应先在本地确认模型、工具、知识库、记忆和观测链路已经能通过 Agent.builder() 与 Runner 正常工作。

部署前准备

  • 使用 JDK 17 或更高版本。
  • 固定 VeADK Java 的 Maven 版本、源码提交或发布版本。
  • 将模型、AgentKit、知识库、记忆、工具和观测凭证放入平台 Secret,不要写入代码仓或镜像。
  • 确认运行镜像可以访问模型服务、AgentKit 工具服务、检索后端和观测后端。
  • 在接入云上 Runtime 前,先用本地 HTTP 调用验证入口类和环境变量。

本地运行 Runtime

先构建示例模块并复制运行依赖:
最小运行只需要一个可访问的模型名称和模型凭证。模型凭证应通过 Secret 注入,这里只展示变量名:
默认监听 127.0.0.1:8000。开启流式返回时设置 AGENTKIT_STREAMING=true:
如果要运行 ADK Web 形态的 AgentKit Server,入口类换成:

调用 HTTP 接口

基础 Runtime 的健康检查和调用接口如下: 可以用 AgentKit CLI 调用本地 Runtime:
local-placeholder 只用于本地验证。部署到云上后,请使用网关或平台分发的凭证。

会话与并发

/invoke 通过请求头选择会话: user_id 和 session_id 只用于选择对话上下文,不等同于已认证身份。生产环境应在可信网关完成鉴权,并只把可信的用户和会话信息转发给 Runtime。 基础 Runtime 的会话保存在内存中,进程重启后会丢失。需要长期保留对话历史时,应在 Agent 侧显式配置稳定的会话服务或记忆后端。并发行为也需要提前压测:同一个 user_id / session_id 的重叠请求会返回 409 SessionBusy,工作线程满时会返回 503。

容器入口

示例镜像使用 eclipse-temurin:17-jre,将 jar 放到 /app/app.jar,依赖放到 /app/lib/,默认入口为:
容器默认设置 AGENTKIT_BIND_HOST=0.0.0.0 和 PORT=8000,并以 10001:10001 运行。示例构建命令如下:
如果要用同一个镜像运行 AgentKit Server,可以覆盖入口类:

自定义 Agent

不设置 AGENTKIT_AGENT_CLASS 时,示例 Runtime 会根据环境变量创建一个内置 Agent。需要复用业务代码里的 Agent 时,可以提供一个包含 public static BaseAgent ROOT_AGENT 的类,并把完整类名注入给 Runtime:
此时模型、工具、指令、知识库、记忆和回调应在 ROOT_AGENT 的 Java 代码中配置。Runtime 只负责加载该 Agent、承接 HTTP 请求并在进程退出时关闭 Agent。

环境变量

工具相关凭证也应通过 Secret 注入: 只在 AGENTKIT_TOOLS 中写入工具名不会自动开通后端服务。部署前应单独确认服务权限、网络连通性和 Secret 注入方式。

AgentKit CLI 模板

AgentKit CLI 提供 Java 生命周期模板,可用于生成或包装 Runtime 项目。常见模板包括: 模板能力随 CLI 版本变化。使用前先执行:

生产建议

部署到云上时,建议至少检查以下事项:
最后修改于 2026年10月20日