项目简介
'openai-sdk-knowledge-org' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供关于 OpenAI SDK、API 使用和最佳实践的专业知识。它集成了检索增强生成 (RAG) 能力,支持通过语义搜索、网页搜索和翻译功能,为LLM提供实时、准确的上下文信息。服务器部署在 Cloudflare Workers 上,利用 Cloudflare Queues、D1 和 Vectorize 进行数据管理和检索。
主要功能点
- 智能问答: 接收LLM客户端的自然语言问题,通过RAG和可选的网页搜索,提供关于OpenAI SDK和API的全面解答。
- 资源列表与读取: 允许LLM客户端发现并获取相关的代码示例、文档链接等资源。
- 多语言支持: 自动检测并翻译查询和响应,支持多语言交互。
- 数据收集与处理: 自动从GitHub仓库(如OpenAI官方SDK)和OpenAI社区论坛收集、清洗、摘要并嵌入知识内容,构建可搜索的知识库。
- OAuth 2.0认证: 提供标准的OAuth 2.0授权服务,确保MCP客户端与服务器之间的安全通信。
安装步骤
-
环境准备:
- 您需要一个 Cloudflare 账户,并配置好以下服务:
- Cloudflare Workers: 用于运行服务器代码。
- Cloudflare D1 数据库: 用于存储元数据、任务队列和OAuth客户端信息。
- Cloudflare Vectorize 索引: 用于存储和检索嵌入向量,实现语义搜索。
- Cloudflare Queues: 用于处理后台数据收集任务。
- 您需要一个 OpenAI API 密钥,用于模型调用(如嵌入生成、摘要、问答)。
- 可选配置 GitHub Personal Access Token 和 Discourse API Key 以启用从GitHub仓库和OpenAI社区论坛的数据收集功能,从而构建更丰富的知识库。
- 您需要一个 Cloudflare 账户,并配置好以下服务:
-
获取代码:
- 将 'openai-sdk-knowledge-org' 仓库克隆到您的本地开发环境。
-
配置 Cloudflare Worker:
- 编辑 'wrangler.toml' 文件,绑定您的 Cloudflare 资源(包括 D1 数据库、Vectorize 索引和 Queues)。
- 设置环境变量,这些变量可以在 Cloudflare Workers 控制台或 'wrangler.toml' 中配置:
- 'OPENAI_API_KEY': 您的OpenAI API密钥。
- 'CLOUDFLARE_ACCOUNT_ID': 您的Cloudflare账户ID(如果使用Cloudflare AI Gateway)。
- 'CLOUDFLARE_AI_GATEWAY_ID': 您的Cloudflare AI Gateway ID(如果使用AI Gateway)。
- 'GITHUB_TOKEN': (可选)用于从GitHub收集数据的个人访问令牌。
- 'DISCOURSE_API_KEY': (可选)用于从OpenAI社区论坛收集数据的API密钥。
- 'LOG_LEVEL': 日志级别,如 "info" 或 "debug"。
- 'ENVIRONMENT': 运行环境,"production" 或 "development"。
-
部署至 Cloudflare Workers:
- 使用 Cloudflare 的 Wrangler CLI 工具进行部署。在项目根目录下运行以下命令:
wrangler deploy - 部署成功后,您将获得一个可访问的 Worker URL,例如 'https://your-worker-name.your-account.workers.dev'。
- 使用 Cloudflare 的 Wrangler CLI 工具进行部署。在项目根目录下运行以下命令:
服务器配置 (MCP客户端使用)
MCP客户端需要通过JSON-RPC协议与此服务器通信。以下是配置MCP客户端连接此服务器所需的关键信息(假设您的Worker部署在 'https://your-worker-name.your-account.workers.dev'):
{ "mcpServers": { "openai-sdk-knowledge": { "type": "streamable-http", "url": "https://your-worker-name.your-account.workers.dev/mcp", "headers": { "Authorization": "Bearer {您的MCP API密钥}" }, "description": "提供OpenAI SDK和API知识问答、文档搜索和代码示例。", "name": "OpenAI SDK Knowledge Server" } } }
- 'url': MCP服务器的JSON-RPC端点地址。请替换为您的 Cloudflare Worker 实际部署的 URL。
- 'Authorization': 您的MCP API密钥,必须以 'Bearer {您的密钥}' 的形式提供。该密钥需要通过MCP服务器的Web界面(见下文“基本使用方法”)登录并生成。
- 'type': 指定MCP客户端使用的传输协议类型,此服务器支持 'streamable-http'。
- 'name': 服务器的友好名称,用于客户端界面显示。
- 'description': 服务器功能的简要描述。
基本使用方法
- 访问Web界面: 在浏览器中访问您的 MCP 服务器的 URL (例如 'https://your-worker-name.your-account.workers.dev')。
- 生成API密钥:
- 点击“Login”按钮,通过 Google 账户登录。
- 登录后,您会进入“My Page”或Web界面,在这里可以生成您的MCP API密钥。请务必妥善保管此密钥,因为它只会显示一次。
- 配置MCP客户端: 将您生成的API密钥和服务器URL配置到您支持 MCP 协议的LLM客户端中。
- LLM交互: LLM客户端即可通过调用 MCP 服务器提供的工具来获取 OpenAI SDK 知识:
- 'answer_openai_questions(query: string, language?: string)': 获取关于 OpenAI SDK 或 API 的综合性答案。
- 'list_openai_resources(query: string, language?: string)': 获取相关文档和代码片段的列表。
- 'search(query: string)' (仅限 ChatGPT Deep Research 客户端): 用于搜索 OpenAI 知识库。
- 'fetch(id: string)' (仅限 ChatGPT Deep Research 客户端): 用于获取特定文档的完整内容。
- 数据收集(可选,管理员功能): 如果您是管理员用户,可以登录 '/admin' 页面,手动触发从GitHub仓库和OpenAI社区论坛收集数据,以更新或扩展知识库。
信息
分类
AI与计算