AI代理助手

Bot AI Agent是一个基于Spring Boot、Spring AI和OpenAI的智能助手,能够通过REST API或Telegram Bot与用户交互,并从MCP服务器获取特定领域数据。

  • by devsahamerlin
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 devsahamerlin/spring-ai-openai-telegram-agent

使用说明

机器人AI代理——Spring Boot+Spring AI+OpenAI+Telegram集成

Bot AI Agent是一个智能助手,由 Spring Boot, 春季AI,以及 开放人工智能,能够通过以下方式与用户交互:

  • 一 REST API (HTTP端点),
  • 或一个 电报机器人.

该代理旨在连接到内部 MCP服务器 它提供特定领域的数据(例如,员工、工资、资历等)。
用户可以自然地查询代理——它理解意图,从MCP服务器获取数据,并制定上下文答案。


主要特点

特性 描述
AI助手 使用Spring AI+OpenAI进行对话理解和推理
MCP服务器集成 使用内部API调用动态获取员工数据
REST API 公开端点以供外部集成和编程使用
电报机器人 与同一后端代理交互的自然聊天界面
模块化设计 单独的模块 bot-ai-agent 和 mcp-server
可配置的秘密 通过环境变量或 application.properties

项目结构

  • mcp-server/ -实现MCP服务器的Spring Boot应用程序
  • bot-ai-agent/ -Spring Boot应用程序实现了与Telegram集成的AI Agent

运作原理

  1. 用户输入

    • 用户通过以下方式发送消息 电报 或致电 REST API.
  2. 使用MCPTools进行人工智能推理

    • 消息由处理 Spring AI,由一个 OpenAI模型.
    • AI代理分析意图(例如。, “向我展示所有员工” 或 “爱丽丝的薪水是多少?”).
  3. 数据获取(MCP服务器)

    • AI Agent调用 MCP服务器 获取结构化数据(如员工记录)。
  4. 响应生成

    • 代理制定一个人类可读的上下文响应(例如,解释、总结、故事)。
  5. 交付

    • 响应通过Telegram发回或作为流返回。

Telegram机器人演示

对话示例:

运行项目

先决条件

  • Java 21+
  • 弹簧靴3+
  • OpenAI API
  • 电报机器人API
  • 梅文

1–运行MCP服务器

cd mcp-server
mvn spring-boot:run

npx -y @modelcontextprotocol/inspector 
# Transport Type: Streamable HTTP
# URL: http://localhost:8989/mcp
# Connection Type: Via Proxy

MCP Server是一个Spring Boot应用程序,它实现了模型上下文协议(MCP)服务器功能。它提供有关员工的信息

MCP客户端(主应用程序)

# in main directory
mvn spring-boot:run

它连接到MCP服务器,使用模型上下文协议(MCP)客户端获取和显示员工数据。 MCP客户端使用Spring Boot构建,并利用MCP客户端依赖关系与MCP服务器通信。

使用OpenAI的GPT-4 API,该应用程序可以根据提取的员工数据生成见解和摘要,或执行其他AI驱动的任务。 我们使用浏览器访问应用程序并提出以下问题:

http://localhost:8087/ai-agent/chat?query=raconte%20moi%20une%20histoire%20sur%20l%27avenir%20de%20l%27ia%20generative%20et%20les%20entreprise

配置

1.环境变量

创建一个 .env 或使用以下配置您的环境:

OPENAI_API_KEY=sk-xxxxxxx
TELEGRAM_BOT_TOKEN=xxxxxxx

许可证

这个项目是根据麻省理工学院许可证授权的——你可以随意使用和修改它。

作者