无障碍个人代理

Jarbest是一个无障碍个人代理,旨在帮助用户(特别是视觉或身体障碍者)独立安全地管理数字生活。

  • by coozgan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 coozgan/kaggle-5day-ai-agents-capstone

使用说明

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项目。
  • gcloud CLI已安装并通过身份验证。
  • 已安装Docker和Docker Compose。
  • Google API密钥 从 谷歌AI工作室.

配置

注: 此存储库不包括敏感的配置文件(如 .env)或API密钥。您必须手动设置这些。

  1. 环境变量:该系统依赖于 GOOGLE_API_KEY 对于Gemini型号。
  2. 服务URL:部署时,服务需要知道彼此的URL(由自动处理 deploy.sh 云运行)。

🚀 云运行部署

我们提供了一个专门的脚本,可以自动将所有4个服务部署到Google Cloud Run。

  1. 设置API密钥:
    export GOOGLE_API_KEY='your-api-key-here'
    
  2. 运行部署脚本:
    chmod +x deploy.sh
    ./deploy.sh
    

有关详细的部署说明,包括故障排除和架构详细信息,请参阅 部署.md.

💻 地方发展

要使用Docker Compose在本地运行整个系统:

  1. 导航至 personal_agent/ 并创建一个 .env 文件基于 .env_example:
    cp personal_agent/.env_example personal_agent/.env
    # Edit .env to add your GOOGLE_API_KEY
    
  2. 运行堆栈:
    docker-compose up --build
    
  3. 访问服务: