文章目录
说明
- 本文学自赋范社区公开课,仅供学习和交流使用,不用作任何商业用途!
ADK内置前端
- ADK作为最新一代Agent开发框架,不仅功能特性非常领先,而且还内置了非常多的工具,包括Gemini系列模型自带的谷歌搜索、文件检索和代码解释器等功能,同时ADK还拥有内置对话前端,方便开发者更加直观的感受Agent的对话流程,并且实时追踪Agent的events流。
- 如果Agent中存在外部工具调用,则在内置前端中,还能进一步观察到Agent调用外部工具完整流程,以及各环节调用信息,方便开发者即时debug。如果是使用Gemini模型,这个前端还支持语音和视频实时交互。
ADK内置前端开启流程
- 需要创建一个项目文件,如创建一个
ADK_Chat
文件夹。然后,创建基本文件结构。
- 注意,如果是Windows系统,官方推荐手动创建项目文件基本结构,而不是采用IDE如Cursor等进行创建,以避免出现字符乱码情况。
ADK_Chat/
├── test_agent/
│ ├── agent.py
│ ├── __init__.py
│ ├── .env
├── __init__.py
└── ...
- 在
ADK_Chat
目录下,创建虚拟环境,并安装adk和litellm库
uv venv
.venv\Scripts\activate
pip install litellm google-adk
- 在
test_gent/__init__.py
文件中写入:from . import agent
- 然后在
.env
中写入如下内容:OPENAI_API_BASE="https://dashscope.aliyuncs.com/compatible-mode/v1" OPENAI_API_KEY="sk-xxx" MODEL="deepseek/deepseek-r1-0528"
agent.py
文件代码如下:
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlm
import os
from dotenv import load_dotenv
load_dotenv(override=True)
DS_API_KEY = os.getenv("DS_API_KEY")
DS_BASE_URL = os.getenv("DS_BASE_URL")
MODEL=os.getenv("MODEL")
model = LiteLlm(
model=MODEL,
api_base=DS_BASE_URL,
api_key=DS_API_KEY
)
root_agent = Agent(
name="helpful_agent",
model=model,
instruction="你是一个乐于助人的中文助手。",
description="回答用户的问题。"
)
- 在根目录下输入,使用adk命令先进行Agent测试。
(ADK_Chat) D:\Code\ADK_Chat>adk run test_agent
- adk其实是伴随着安装包一起安装的调用测试命令。在使用adk命令时,无需单独设置主函数,只需要按照要求创建一个名为
root_agent
的主agent,即可顺利开启对话。同时当前项目结构中,.env
文件用于保存一些关键变量信息,而__init__.py
则负责将当前项目文件test_agent
包装为一个可执行的Python文件。这也就是为何可以直接输入adk run test_agent
的原因。 - 在项目根目录下输入,在浏览器输入:
http://127.0.0.1:8002/
即可开启对话
adk web --port 8002
- 借助ADK run或者web等工具,则可以不进行任何额外其他设置,快速调用已经创建好的Agent并进行功能测试,期间关于会话ID、用户ID和APP ID等参数都会自动设置,且支持多轮对话并能打印详细的每个event信息,是非常高效的开发工具。