使用说明
项目简介
本项目 'Eino 旅行助手服务器' 是一个基于 Eino 框架构建的旅行助手应用后端。它利用大型语言模型 (LLM) 和高德地图 (AMap) API,为用户提供旅行相关的上下文信息和服务,例如查询天气、搜索地点、规划路线等。
主要功能点
- 智能对话交互: 通过 HTTP 接口接收用户输入的旅行相关问题,利用 LLM 进行理解和处理。
- 工具调用: 集成高德地图 API 工具,可以查询实时天气、天气预报、搜索地点 (POI)、规划步行和驾车路线。
- 流式响应: 使用 Server-Sent Events (SSE) 将 LLM 的响应和工具的执行结果流式传输回客户端,提供更流畅的用户体验。
- 可扩展性: 基于 Eino 框架,易于扩展和集成更多工具和服务。
安装步骤
- 安装 Go 环境: 确保已安装 Go 语言环境 (>= 1.18)。
- 克隆仓库:
git clone https://github.com/Wenrh2004/eino-learn-demo.git cd eino-learn-demo/travel_assistant - 安装依赖:
go mod tidy - 配置 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')。
- 编译运行:
服务器默认监听 '8080' 端口。go build -o server cmd/main.go ./server -conf internal/config/config.yml
服务器配置 (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"'。
基本使用方法
-
启动服务器: 按照上述安装步骤启动 'Eino 旅行助手服务器'。
-
MCP 客户端发送请求: MCP 客户端需要向服务器的 '/chat' 接口发送 HTTP POST 请求,请求体为 JSON 格式的 'ChatRequest',例如:
{ "message": "北京今天天气怎么样?", "history": [] }服务器将通过 SSE 流式返回 JSON 格式的 'schema.Message' 响应。
注意: 客户端需要根据服务器的传输协议 (http+sse) 和接口 '/chat' 来构建请求和处理响应。
信息
分类
网页与API