返回市场
mcp-llama-集成

mcp-llama-集成

作者:EXPESRaza4 星标更新:2025-04-05

项目介绍

集成Llama模型的Model Context Protocol服务器

此仓库包含一个集成本地运行的Llama模型的Model Context Protocol (MCP)服务器实现。MCP服务器提供了一个标准化的上下文检索接口,通过本地LLM增强了AI应用的相关信息。

概述

该项目由两个主要组件组成:

  1. MCP服务器 - 基于FastAPI的服务器,实现了Model Context Protocol,并将查询转发给本地的Llama模型。
  2. Python客户端 - 样本客户端应用程序,演示如何与MCP服务器交互。

先决条件

安装

克隆仓库

git clone https://github.com/EXPESRaza/mcp-llama-integration.git
cd mcp--llama-integration

安装依赖

pip install -r requirements.txt

文件结构

mcp-llama-integration/
├── llama_mcp_server.py      # 集成Llama的MCP服务器
├── llama_client_app.py      # 样本客户端应用程序
└── README.md                # 项目文档

设置Llama模型

  1. 如果尚未安装,请安装Ollama
  2. 拉取Llama模型:
    ollama pull llama3.2
    
  3. 验证模型是否正在运行:
    curl http://localhost:11434/api/tags
    
    浏览器访问: http://localhost:11434 http://localhost:11434/api/tags image

运行MCP服务器

  1. 启动服务器:

    python llama_mcp_server.py
    
  2. 服务器将在http://localhost:8000上启动运行。

  3. 您可以通过检查健康状态端点来验证服务器是否运行:

    curl http://localhost:8000/health
    

    image

    image

使用客户端应用程序

  1. 在另一个终端中启动客户端应用程序:

    python llama_client_app.py
    
  2. 应用程序会提示您输入。

  3. 输入您的查询并接收来自Llama模型的响应。

  4. 输入'exit'以退出应用程序。

    image

API文档

MCP服务器端点

POST /context

请求给定查询的上下文。

请求正文:

{
  "query_text": "您的查询在这里",
  "user_id": "可选用户ID",
  "session_id": "可选会话ID",
  "additional_context": {}
}

响应:

{
  "context_elements": [
    {
      "content": "来自Llama模型的响应",
      "source": "llama_model",
      "relevance_score": 0.9
    }
  ],
  "metadata": {
    "processing_time_ms": 150,
    "model": "llama3",
    "query": "您的查询在这里"
  }
}

GET /health

检查MCP服务器及其与Llama模型连接的健康状态。

响应:

{
  "status": "healthy",
  "llama_status": "connected"
}

自定义

更改Llama模型

如果您想使用不同的Llama模型,请修改llama_mcp_server.py中的query_llama函数里的model参数:

payload = {
    "model": "your-model-name",  # 将此更改为您的模型名称
    "prompt": text,
    "stream": False
}

修改提示模板

要更改发送到Llama之前的查询格式,请更新get_context函数中的提示模板:

prompt = f"""请提供以下查询的相关信息:
{request.query_text}

请用事实性、有帮助的信息回应。"""

故障排除

常见问题

  1. 连接被拒绝错误

  2. 模型未找到错误

    • 确保您已使用Ollama拉取了正确的模型
    • 使用ollama list检查可用模型
  3. 响应缓慢

    • Llama模型推理可能消耗大量资源
    • 如果性能是问题,请考虑使用较小的模型

贡献

欢迎贡献!请随意提交Pull Request。

许可证

本项目采用MIT许可证 - 详情请参阅LICENSE文件。