使用说明内容(Markdown格式)

  • 项目简介

    • 本仓库实现了一个基于 MCP 的服务器,旨在为语言模型客户端提供 grounded 的 NVIDIA 开发博客内容、向外部工具的调用能力,以及可渲染的多语言提示模板。核心功能包括对博客内容的获取、RAG/向量检索的查询、以及对检索结果的质量评估与迭代 refine,确保输出的可靠性与可追溯性。该实现通过 Cloud Run/HTTP 流式传输等机制提供无状态服务,便于扩展与部署。
  • 主要功能点

    • 资源托管与检索:提供对 NVIDIA 官方博客内容的查询与向量检索能力,适用于 Grounded 回答场景。
    • 工具注册与调用:通过 MCP 工具接口暴露查询能力,允许 LLM 客户端发起复杂检索与数据访问操作。
    • Prompt 与渲染:集成多语言支持的提示模板,便于生成符合语言偏好和上下文的回答。
    • JSON-RPC 风格交互:服务器以 MCP 标准的请求/响应形式与客户端通信。
    • 会话与扩展性:内部实现包含查询转换、答案评分及迭代改进逻辑,支持多轮查询的改写与再检索。
    • 多传输协议:设计上支持多种传输方式,使用 streamable_http 路径与 Cloud Run 兼容的无状态模型。
  • 安装步骤

    • 将代码克隆到本地或在云端环境中获取仓库内容。
    • 依据需求安装依赖(如 Python 依赖、Google Vertex AI、Vector/Search 引擎等)。
    • 在支持的运行环境中部署 MCP 服务(示例为 Cloud Run),并确保环境变量如 PORT、Google Cloud 认证等已正确设置。
    • 部署后获得可用的服务 URL,供 MCP 客户端在配置中使用。
  • 服务器配置(MCP 客户端需要的最小信息) 说明:MCP 客户端用于接入服务器,需要知道服务器的启动命令及参数以便在需要时启动并连接到 MCP 服务器。以下信息用于描述如何在客户端配置连接到本 MCP 服务器。具体 URL 请在实际部署后填入云端服务的公开地址,默认的 MCP 路径为 /mcp。

    { "server_name": "nvidia-blog", "command": ["python"], "args": ["-m", "mcp.mcp_service"], "transport": "streamable-http", "endpoint_path": "/mcp", "url": "<部署后的云端地址>/mcp" }

    说明:

    • server_name:在客户端配置中用于标识目标 MCP 服务的名称,便于区分多服务场景。
    • command / args:在本地或容器中启动 MCP 服务所需的命令及参数。此处为运行 Python 模块 mcp.mcp_service 的方式。
    • transport:传输协议,本文实现中采用流式 HTTP 传输模式,确保 Cloud Run 等无状态环境下的兼容性。
    • endpoint_path:MCP 服务在目标地址的挂载路径,默认为 /mcp。
    • url:部署完成后 MCP 服务器的公开可访问地址,需在客户端配置中填入实际值。
  • 基本使用方法

    • 在客户端配置完成后,向 MCP 服务发起请求以获取 NVIDIA 开发博客的内容、执行查询以及调用工具。
    • 当需要跨语言或多语言交互时,服务器将提供多语言提示模板和 Grounded 的回答能力,尽量避免不在已检索上下文中的猜测。
    • 如遇网络/权限等问题,确保运行环境具备对外访问、认证凭据(如 Google Cloud 认证)、以及足够的资源以支撑向量检索与大模型推理。
  • 备注

    • 该实现假定服务将每日自动更新博客内容、并对回答进行质量评估与分级,确保结果的 grounded 性和可追溯性。
    • 部署后请根据实际 URL、端口、路径等信息更新 MCP 客户端配置中的 URL 字段及传输参数。

信息

分类

AI与计算