命令行工具
命令说明
多样工具便捷使用
创建智能体
使用 veadk create 命令在当前目录中创建一个新的智能体项目脚手架。
veadk create [AGENT_NAME] [OPTIONS]
参数
AGENT_NAME: 要创建的智能体的名称。如果未提供,将会提示您输入。
选项
--ark-api-key:ARK API 密钥。如果未提供,将会提示您输入或稍后在config.yaml文件中配置。
执行 veadk create 命令后,它会:
- 提示您输入智能体名称(如果未作为参数提供)。
- 提示您输入 ARK API 密钥(如果未通过
--ark-api-key提供),您可以选择立即输入或稍后在生成的config.yaml文件中手动配置。 - 在当前目录下创建一个以智能体名称命名的新目录。
- 在新目录中生成以下文件:
config.yaml: 包含模型配置和日志级别的配置文件。{agent_name}/__init__.py: 包初始化文件。{agent_name}/agent.py: 智能体的主要逻辑文件,包含一个基本的Agent定义。
如果目标目录已存在且不为空,它会提示您是否要覆盖它。
提示词优化
用来优化 Agent 的系统提示词(System prompt)。
veadk prompt
选项包括:
--path:指定要优化的 Agent 文件路径,默认值为当前目录下的agent.py文件。注意,必须将你定义的智能体作为全局变量导出--feedback:指定优化后的提示词反馈,用于优化模型--api-key:指定 AgentPilot 平台的 API Key,用于调用优化模型--model-name:指定优化模型的名称,默认值为doubao-1.5-pro-32k-250115
一键上云部署
可直接将本地项目部署到火山引擎 FaaS 平台上:
veadk deploy
选项包括:
--access-key:指定火山引擎的 Access Key,用于调用 FaaS 平台的 API--secret-key:指定火山引擎的 Secret Key,用于调用 FaaS 平台的 API--name:指定部署的应用名称,用于在 FaaS 平台上标识该部署--path:指定项目路径,默认值为当前目录
本地调试
可以通过adk web或veadk web来启动Web页面,运行智能体:
# basic usage:
adk web
# or
veadk web
它们能够自动读取执行命令目录中的agent.py文件,并加载root_agent全局变量。
评测
通过使用 veadk eval 来进行智能体评测,相关参数如下:
--agent-dir
string
待评测的 Agent 目录。目录中需要符合 Google ADK 的项目结构,即需要具备一个导出
root_agent 的名为 agent.py 的文件。--agent-a2a-url
string
待评测的云端 Agent 路径,要求云端 Agent 使用 A2A 协议进行部署。
--evalset-file
string
Google ADK 格式的评测集文件
--evaluator
string
评测器类别:
adk 为 Google ADK 内置评测器,评测模型为自身;deepeval 为 DeepEval 评测器,评测模型可以通过 --judge-model-name 参数指定。--judge-model-name
string
默认为
doubao-1-5-pro-256k-250115 - 评测模型,该参数在 --evaluator 值为 adk 时无效。--volcengine-access-key
string
火山引擎 Access Key
--volcengine-secret-key
string
火山引擎 Secret Key
知识库操作
您可以通过 veadk kb add 命令来向您的知识库添加本地文件或者目录。例如,准备如下目录:
knowledges/id.txt
My id is 20250101.
之后,将 knowledges/id.txt 中的内容存入到 OpenSearch 知识库中:
# 知识库的相关配置将会从环境变量中读取
veadk kb add --backend opensearch --app_name=cmd_app --path=./knowledges
可使用如下代码测试:
import asyncio
from veadk import Agent, Runner
from veadk.knowledgebase import KnowledgeBase
app_name = "cmd_app"
knowledgebase = KnowledgeBase(backend="opensearch", app_name=app_name)
agent = Agent(knowledgebase=knowledgebase)
runner = Runner(agent=agent, app_name=app_name)
response = asyncio.run(
runner.run(messages="Please help me to fetch my ID from my knowledgebase")
)
print(response) # Your ID is 20250101.
评测集上传
将评测集上传到 CozeLoop 平台:
# cozeloop-workspace-id, cozeloop-evalset-id, cozeloop-api-key可从从环境变量中读取
veadk uploadevalset --file <评测集JSON文件路径> ---cozeloop-workspace-id <CozeLoop工作空间ID> --cozeloop-evalset-id <CozeLoop评测集ID> --cozeloop-api-key <CozeLoop API Key>
环境变量配置:
OBSERVABILITY_OPENTELEMETRY_COZELOOP_SERVICE_NAME: 工作空间IDOBSERVABILITY_OPENTELEMETRY_COZELOOP_EVALSET_ID: 评测集IDOBSERVABILITY_OPENTELEMETRY_COZELOOP_API_KEY: API Key