Jarbest:无障碍个人伴侣
贾贝斯特 是一个可访问的个人代理,旨在使用户,特别是那些有视觉或身体障碍的用户,能够独立和安全地管理他们的数字生活。
作为 Kaggle 5天人工智能代理强化课程,此项目与 代理商为好 通过解决一个关键问题来追踪:数字世界是碎片化的,而且往往无法访问。
问题陈述
对于许多用户,尤其是视障人士来说,管理日常任务涉及到在错综复杂的应用程序中导航。检查银行余额、订购食物和购买必需品需要切换上下文,处理无法访问的UI,并冒着安全错误的风险。像“如果我能负担得起,就点晚餐”这样的简单任务变成了一项复杂的、多步骤的磨难。
解决方案:Jarbest
Jarbest将这些分散的服务统一到一个单一的会话界面中。它作为一个值得信赖的监护人,在每次购买之前验证财务状况,并提供适合文本到语音交互的清晰、描述性的反馈。
系统架构
下图说明了系统中各种代理之间的高级工作流程和交互:
工作流程说明
该系统由一个中央协调器和专门的子代理组成,每个子代理处理特定的责任领域。
1.用户界面(客户端)
- 入口点:用户通过支持语音的移动或网络客户端与系统交互。
- 客户到代理人:请求被安全地发送到 个人AI代理 托管在Google Cloud上。
2.个人AI代理(编排器)
- 角色:充当系统的中央大脑和“眼睛”。它解析用户意图,并将任务委托给适当的专业代理。
- 无障碍:针对与屏幕阅读器配合良好的清晰、描述性响应进行了优化。
- 安全:实施“守护者”协议,以验证交易细节并警告可疑活动。
- 记忆:配备 内存服务 存储和回忆用户偏好(例如“通常的披萨订单”)以减少认知负荷。
3.财务代理人(代理人作为工具)
- 角色:管理所有财务交易和查询。
- 能力:
- 查询余额:检索当前帐户状态。 - 汇款:启动账户之间的转账。
- 整合:使用 模型上下文协议(MCP) 与安全通信 银行 系统。
4.买方代理(代理作为工具)
- 角色:处理所有采购和购物任务。
- 授权:它使用 A2A(代理对代理)协议.
- 披萨订单代理:对于食品配送请求(例如。, PLACE_ORDER). - 电子商务代理:对于一般购物和产品搜索(例如。, SEARCH_ITEMS).
记忆与毅力
个人AI代理增强了记忆能力,以提供更个性化的体验。
- 内存服务:利用
InMemoryMemoryService在不同的对话会话中存储用户偏好和重要信息。 - 会话服务:用途
InMemorySessionService管理活跃的对话环境。 - 自动保存一
after_agent_callback(auto_save_to_memory)被实现为在每次代理轮换后自动将会话状态持久化到内存中。 - 检索:代理人配备了
load_memory该工具允许它在需要时主动搜索和回忆过去的交互。
*注意:当前实现使用内存存储,内存存储是易失性的,在应用程序重新启动时会重置。*
关键技术
- 谷歌云:承载主代理基础架构。
- 代理开发工具包(ADK):建立代理的框架。
- 模型上下文协议(MCP):将人工智能模型连接到外部数据和工具的标准化协议(用于银行连接)。
- A2A协议:实现独立代理之间的互操作性和通信(用于披萨和电子商务服务)。
项目跟踪
代理商为好:该项目通过为财务和生活方式管理提供安全、语音就绪的界面,为残疾用户提供支持。
部署
该系统旨在部署在Google Cloud Run上或使用Docker在本地运行。
先决条件
- 启用计费的Google Cloud项目。
gcloudCLI已安装并通过身份验证。- 已安装Docker和Docker Compose。
- Google API密钥 从 谷歌AI工作室.
配置
注: 此存储库不包括敏感的配置文件(如 .env)或API密钥。您必须手动设置这些。
- 环境变量:该系统依赖于
GOOGLE_API_KEY对于Gemini型号。 - 服务URL:部署时,服务需要知道彼此的URL(由自动处理
deploy.sh云运行)。
🚀 云运行部署
我们提供了一个专门的脚本,可以自动将所有4个服务部署到Google Cloud Run。
- 设置API密钥:
export GOOGLE_API_KEY='your-api-key-here'- 运行部署脚本:
chmod +x deploy.sh
./deploy.sh有关详细的部署说明,包括故障排除和架构详细信息,请参阅 部署.md.
💻 地方发展
要使用Docker Compose在本地运行整个系统:
- 导航至
personal_agent/并创建一个.env文件基于.env_example:
cp personal_agent/.env_example personal_agent/.env
# Edit .env to add your GOOGLE_API_KEY- 运行堆栈:
docker-compose up --build- 访问服务:
- 个人代理UI: http://localhost:8080 - 银行MCP: http://localhost:8888 - 披萨代理: http://localhost:10000 - 电子商务代理: http://localhost:11000
