Google ADK搭建基于Kimi K3的智能体

Google ADK搭建基于Kimi K3的智能体 Google Agent Development Kit (ADK) 是 Google 于 2025年4月发布的一个开源、以代码为核心的框架旨在帮助开发者构建、评估和部署复杂的AI智能体Agent及多智能体系统[1][2]。因为一些特殊原因笔者并不想访问外网的大语言模型。国内的模型很多但是到目前为止通过检索的资料和测试通过Google ADK访问Kimi K3模型成功。过程非常曲折但是结果很好。也可以通过同样的方法对搭建基于其他模型的智能体。在这篇文章中将中间的过程介绍如下一、安装Google ADK库pipinstallgoogle-adk二、创建项目的目录层次结构创建一个目录结构multi_tool_agent |-|-.env|- _init_.py|- agent.py1.1 定义.env.env定义一些必备的环境变量的配置文件。因为需要访问kimi-k3模型该文件的内容如下# 设置kimi官方开放平台申请API密钥MOONSHOT_API_KEY你的kimi-k3模型的API密钥# 设置访问的模型的基址MOONSHOT_API_BASEhttps://api.moonshot.cn/v11.2 _ _ init _ _.pyfrom.importagent二、在agent.py文件中调用kimi-k3模型2.1 配置LiteLlmimportosimportlitellm# LiteLLM 配置# 禁用远程成本映射获取避免网络问题litellm.local_model_cost_mapTrue# 禁用远程成本映射获取避免网络问题os.environ[LITELLM_LOCAL_MODEL_COST_MAP]True# 设置 LiteLLM 日志级别为 ERROR避免过多日志输出os.environ[LITELLM_LOG]ERROR# 设置 LiteLLM 请求超时时间为 60 秒避免网络问题os.environ[LITELLM_REQUEST_TIMEOUT]60# 为 LiteLLM 添加一个“非官方/自定义”kimi-k3模型的配置# 注册 kimi-k3 模型成本litellm.model_costlitellm.model_costor{}litellm.model_cost[moonshot/kimi-k3]{input_cost_per_token:0.000001,output_cost_per_token:0.000002,litellm_provider:openai,mode:chat,supports_system_messages:True,supports_function_calls:True,}print(自定义LiteLLM 配置完成)2.2 导入Google ADK库和配置环境变量# 利用load_dotenv加载当前目录的.env文件的环境变量fromdotenvimportload_dotenv load_dotenv()# 导入google adk的相关库fromgoogle.adk.models.lite_llmimportLiteLlmfromgoogle.adk.toolsimportFunctionToolfromgoogle.adk.agentsimportAgent2.3 定义函数工具使用标注FuntionTool标注函数工具FunctionTooldefget_weather(city:str)-dict: 获取指定城市的天气信息. Args: city (str): 城市名称. Returns: dict: 状态和结果或错误的信息. ifcity南昌:return{status:success,report:(今天南昌的天气是晴朗最高气温为35摄氏度。 天气炎热请注意防暑降温。),}else:return{status:error,error_message:f没有找到 {city} 的天气信息。,}此处定义一个工具获取指定城市的天气这是一个模拟的操作。2.4 创建智能体# 创建LiteLlm模型对象modelLiteLlm(modelmoonshot/kimi-k3,temperature1,max_tokens2048,extra_params{api_base:os.getenv(MOONSHOT_API_BASE),api_key:os.getenv(MOONSHOT_API_KEY),})# 创建智能体root_agentAgent(nameweather_assistant,modelmodel,instruction你是一个有帮助的助手。需要时使用get_weather工具获取天气信息。,description一个获取天气信息的助手。,tools[get_weather])三、利用adk web在网页中测试连接是否成功启动终端进入目录multi_tool_agent的上级目录。下图是在上级目录中调用tree命令显示当前目录的所有下级目录图1 显示当前目录的所有下级目录然后调用命令adk web启动adk web使得可以通过http://127.0.0.1:8000访问智能体。运行结果如下所示图2 调用adk web然后启动浏览器在浏览器中输入“http://127.0.0.1:8000”,运行结果如下所示图3 启动成功分别在红色箭头所指的消息输入框中输入“南昌的天气”和“南京的天气”这是kimi-k3调用工具get_weather得到不同的调用结果运行结果如下图所示图4 运行结果参考文献“Agent Development Kit: Making it easy to build multi agent applications” https://developers.googleblog.com/en/agent-development-kit-easy-to-build-multi-agent-applications [EB/OL]“DeepWiki google/adk-python Overview”https://deepwiki.com/google/adk-python/1-overview[EB/OL]