模型上下文协议API

一个使用FastAPI和Google Gemini实现的模型上下文协议(MCP)API,用于结构化输入并生成精确的LLM响应。

  • by DanielBrown1998
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 danielbrown1998/mcp_fastapi_openai

使用说明

使用 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 <URL_DO_REPOSITORIO>
cd Mcp_fastApi_openAi

2. 创建并激活虚拟环境

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.txt

4. 设置您的环境变量

创建文件 .env 在项目根中添加您的 Google Gemini API 密钥:

GOOGLE_API_KEY="SUA_CHAVE_DE_API_AQUI"

5. 运行应用程序

uvicorn app.main:app --reload

API可在 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": "<system_instructions>\n<persona>Você é um assistente de programação...</persona>..."
}