谷歌adk测试
使用Google ADK(代理开发工具包)创建代理和MCP工具
代理
- 它是一个助手代理,可以帮助记住我要求它记住的任何事情,然后我可以统计我不记得和想知道的任何事情。.
- 此外,它还可以帮助使用谷歌搜索总结任何内容。
- 例如:为什么申请一份工作,我可以详细介绍公司概况、员工评价、市场评级等。并在此基础上。我可以决定申请那份工作。
- 此外,我可以要求它记住,我在某个日期申请了这份工作,比如11月21日,然后我可以统计“到目前为止,我在11月申请的所有工作是什么。”
- Agent还有一个MCP工具,可以帮助它访问用户的GMAIL,以获取工作申请的最新状态。
- 示例:我可以要求代理根据我的电子邮件为我提供这份工作申请的最新状态。
MCP服务器
- 构建了一个基于OAUTH 2对用户进行身份验证的自定义MCP服务器。它还根据验证存储在本地sqllite数据库中的当前令牌来处理令牌刷新。
- 如果用户未通过身份验证,代理会提供一个登录链接,用户必须手动前往并给予同意。
- 根据给定的日期范围和给定的标签类别汇总电子邮件。
记忆
- 代理使用InMemoryMemoryService进行本地测试。
工具
- 谷歌搜索工具,内置于adk中,有助于在谷歌上搜索任何东西。
- 如上所述,MCP服务器公开的工具。
助手代理工作示例
- 用户可以请求在谷歌中搜索任何信息。代理使用谷歌搜索工具进行此操作。
- Agent使用googleADK的InMemoryMemoryService来存储和加载内存,以跟踪其上下文。即使用户使用新会话,代理也可以查找内存以从旧会话中查找上下文。
- 这里我使用auto_save_to_memory回调,这样代理就可以在每次对话后自动保存到内存中。
- 若用户要求访问电子邮件,代理将使用给定的自定义MCP服务器提供的MCP服务器工具。
- MCP服务器检查用户在本地sqllite数据库中是否没有有效的令牌,它需要一个登录网址,该网址已由用户手动打开,以获得对gmail访问的同意。
- 一旦同意,用户可以重新提出相同的问题,代理可以从MCP工具中获得相应的有效回复。
