使用说明

项目简介

本项目 'Eino 旅行助手服务器' 是一个基于 Eino 框架构建的旅行助手应用后端。它利用大型语言模型 (LLM) 和高德地图 (AMap) API,为用户提供旅行相关的上下文信息和服务,例如查询天气、搜索地点、规划路线等。

主要功能点

  • 智能对话交互: 通过 HTTP 接口接收用户输入的旅行相关问题,利用 LLM 进行理解和处理。
  • 工具调用: 集成高德地图 API 工具,可以查询实时天气、天气预报、搜索地点 (POI)、规划步行和驾车路线。
  • 流式响应: 使用 Server-Sent Events (SSE) 将 LLM 的响应和工具的执行结果流式传输回客户端,提供更流畅的用户体验。
  • 可扩展性: 基于 Eino 框架,易于扩展和集成更多工具和服务。

安装步骤

  1. 安装 Go 环境: 确保已安装 Go 语言环境 (>= 1.18)。
  2. 克隆仓库:
    git clone https://github.com/Wenrh2004/eino-learn-demo.git
    cd eino-learn-demo/travel_assistant
  3. 安装依赖:
    go mod tidy
  4. 配置 API 密钥:
    • 复制 'internal/config/config.example.yml' 为 'internal/config/config.yml'。
    • 修改 'internal/config/config.yml' 文件,填入你的 OpenAI API Key 和 高德地图 API Key。
    • 你可能需要根据实际情况修改 LLM 模型配置 ('app.llm') 和 高德地图 API 配置 ('app.amap')。
  5. 编译运行:
    go build -o server cmd/main.go
    ./server -conf internal/config/config.yml
    服务器默认监听 '8080' 端口。

服务器配置 (MCP 客户端配置)

MCP 客户端需要配置以下信息才能连接到 'Eino 旅行助手服务器':

{
  "serverName": "eino-travel-assistant",
  "command": "./server",
  "args": ["-conf", "internal/config/config.yml"],
  "description": "Eino 旅行助手服务器,提供旅行信息查询和规划服务",
  "transport": "http+sse",
  "baseURL": "http://localhost:8080"
}

配置参数说明:

  • 'serverName': 服务器名称,客户端用于标识连接的服务器。可以自定义,例如 "eino-travel-assistant"。
  • 'command': 服务器启动命令。假设编译后的服务器程序名为 'server',则命令为 './server'。
  • 'args': 服务器启动参数。本项目需要指定配置文件路径,参数为 '["-conf", "internal/config/config.yml"]'。
  • 'description': 服务器描述信息,用于客户端显示服务器的功能和用途。
  • 'transport': 传输协议。本项目使用 HTTP 协议和 Server-Sent Events (SSE),配置为 '"http+sse"'。
  • 'baseURL': 服务器基础 URL。默认情况下服务器运行在本地 '8080' 端口,所以基础 URL 为 '"http://localhost:8080"'。

基本使用方法

  1. 启动服务器: 按照上述安装步骤启动 'Eino 旅行助手服务器'。

  2. MCP 客户端发送请求: MCP 客户端需要向服务器的 '/chat' 接口发送 HTTP POST 请求,请求体为 JSON 格式的 'ChatRequest',例如:

    {
      "message": "北京今天天气怎么样?",
      "history": []
    }

    服务器将通过 SSE 流式返回 JSON 格式的 'schema.Message' 响应。

注意: 客户端需要根据服务器的传输协议 (http+sse) 和接口 '/chat' 来构建请求和处理响应。

信息

分类

网页与API