使用 FastAPI 和 Google Gemini 的 MCP 服务 API
这是一个示例API,演示了使用FastAPI和Google Gemini作为语言模型实现“模型上下文协议”(MCP)。API接收用户查询,构建结构化上下文,并使用它从语言模型生成响应。
什么是模型上下文协议(MCP)?
MCP是一种结构化发送到语言模型(LLM)的信息的方法,以确保模型具有产生准确和相关响应所需的所有上下文。本项目通过以下部分实现 MCP:
- 系统指令定义LLM应该遵循的人和规则。
- 知识恢复(RAG)为法学硕士提供来自外部知识库(在本示例中,模拟)的信息,以响应查询。
- 对话历史包括用户与 LLM 的交互历史记录,以保持对话的上下文。
- 用户查询用户特定的问题或说明。
如何执行项目
先决条件
- Python 3.8+
- Google Gemini API 密钥
1. 克隆仓库
git clone
cd Mcp_fastApi_openAi2. 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # No Windows, use `venv\Scripts\activate`3. 安装依赖关系
创建文件 requirements.txt 具有以下内容:
fastapi
uvicorn
pydantic
python-dotenv
google-generativeai
openai安装依赖关系:
pip install -r requirements.txt4. 设置您的环境变量
创建文件 .env 在项目根中添加您的 Google Gemini API 密钥:
GOOGLE_API_KEY="SUA_CHAVE_DE_API_AQUI"5. 运行应用程序
uvicorn app.main:app --reloadAPI可在 http://127.0.0.1:8000.
如何使用API
您可以在 http://127.0.0.1:8000/docs.
请求示例 curl
curl -X POST "http://127.0.0.1:8000/generate" -H "Content-Type: application/json" -d '{
"query": "o que é fastapi?",
"user_id": "user123"
}'答案示例
{
"response": "FastAPI é um framework web moderno e rápido para Python 3.8+...",
"prompt_used": "\n
Você é um assistente de programação...
..."
}