使用说明
🧠 无服务器游戏搜索平台
一个模块化的、人工智能驱动的、, 无服务器搜索架构 用于视频游戏——由ElasticSearch、OpenAI和GameBrain的MCP协议提供支持。该平台智能地路由用户查询,如 “给我找像《博德之门》这样的游戏” 适当的内部服务(/search, /similar, /suggest)使用LLM或基于MCP的推理。
🚀 概述
该项目展示了 完整的无服务器搜索系统 即:
- 提取物 用户意图 通过ChatGPT(OpenAI)或GameBrain的MCP代理
- 将查询路由到正确的微服务(
/search,/similar,或/suggest) - 用途 弹性搜索 作为后端索引
- 使用完全容器化和编排 Docker Compose
📦 建筑
┌──────────────────────┐
│ User Query │
└─────────┬────────────┘
│
┌────────────▼────────────┐
│ Gateway (Go + .env) │
└───────┬────────┬────────┘
│ │
┌──────────────┘ └──────────────┐
│ │
┌───────────▼────────────┐ ┌───────────────▼──────────────┐
│ OpenAI Chat Completion │ │ GameBrain MCP via npx call │
│ (LLM Intent Extraction)│ │ (Fallback if OpenAI fails) │
└───────────┬────────────┘ └───────────────┬──────────────┘
│ │
┌────────▼────────┐ ┌─────────▼────────┐
│ JSON Intent │ │ JSON Intent │
└───────┬─────────┘ └────────┬─────────┘
│ │
┌───────────▼────────────┐ ┌──────────────────▼────────────┐
│ function-search │ │ function-similar / suggest │
│ Node.js + Elastic │ │ Node.js + Elastic │
└───────────┬────────────┘ └──────────────┬────────────────┘
│ │
┌────────▼────────┐ ┌─────────▼────────┐
│ ElasticSearch │◄─────────────────────►│ Bootstrap Loader │
│ Backend │ │ (init-es script) │
└─────────────────┘ └───────────────────┘
🔧 堆栈和工具
| 组件 | 使用的技术 |
|---|---|
| 门户 | 高朗+戈多特涅夫 |
| 意图路由 | OpenAI(ChatGPT),GameBrain MCP |
| 回退执行 | npx mcp-remote 子进程 |
| 搜索后端 | ElasticSearch |
| 微服务 | Node.js+Express.js |
| 部署 | Docker+Docker编写 |
| 环境配置 | .env (带API密钥) |
🧠 智能查询路由
用户查询:
{ "query": "Find me games like Baldur's Gate" }