使用说明

项目简介

SmartGPT 是一个使用 TypeScript 构建的库,旨在帮助开发者构建高级 AI 应用程序。它通过双模型管道结合快速推理模型和深度上下文模型,并提供 REST API 服务(MCP 服务器)以实现全面的系统控制。SmartGPT 支持多种 LLM 提供商,集成了工具和知识管理功能,可以作为库或独立的 MCP 服务器使用。

主要功能点

  • 双模型 AI 管道: 结合快速推理和深度上下文模型,优化 AI 响应质量。
  • REST API (MCP) 服务器: 通过 HTTP 端点提供系统控制,符合 MCP 协议,方便 LLM 客户端集成。
  • 多提供商支持: 支持 OpenAI、Google AI、Anthropic 和 Groq 等多种 LLM 模型。
  • 工具集成: 内置安全 Shell 命令执行、文件解析、Web 搜索等多种实用工具,扩展 LLM 功能。
  • 知识管理: 支持 Neo4j 知识图谱或内存存储,增强上下文理解和检索能力。
  • Prompt 模板: 虽然文档中没有明确提及Prompt 模板,但通过工具和双模型管道的组合,可以灵活定制 LLM 交互模式。

安装步骤

  1. 安装 Node.js: 确保已安装 Node.js 18 或更高版本。
  2. 克隆仓库:
    git clone https://github.com/nschlaepfer/SmartGPT.git
    cd SmartGPT
  3. 安装依赖:
    npm install
  4. 配置环境变量:
    • 在项目根目录下创建 '.env' 文件。
    • 添加 OpenAI API 密钥(必须),以及其他可选 API 密钥,例如 Google AI API 密钥、Serper API 密钥等。
      OPENAI_API_KEY=你的OpenAI密钥
      GOOGLE_GENERATIVE_AI_API_KEY=你的GoogleAI密钥 (可选)
      SERPER_API_KEY=你的Serper密钥 (可选,用于Web搜索)
      ANTHROPIC_API_KEY=你的Anthropic密钥 (可选)
      GROQ_API_KEY=你的Groq密钥 (可选)

服务器配置

MCP 客户端需要配置以下信息以连接 SmartGPT MCP 服务器:

{
  "serverName": "SmartGPT MCP Server",
  "command": "npm",
  "args": ["run", "mcp-server"]
  // "args": ["run", "mcp-server", "--port", "4141"]  // 如果需要指定端口,可以在这里添加参数,默认端口为 4141
  // "cwd": "/path/to/SmartGPT" // 如果启动命令不在当前工作目录,可以指定工作目录
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识服务器。
  • 'command': 启动服务器的命令,这里使用 'npm' 命令。
  • 'args': 启动命令的参数,'run mcp-server' 是 'package.json' 中定义的启动 MCP 服务器的脚本。如果需要指定端口或其他参数,可以添加到 'args' 数组中。
  • 'cwd': (可选) 服务器的工作目录。如果 MCP 服务器需要特定的工作目录才能正常运行,可以在这里配置。

注意:

  • 确保 MCP 客户端能够访问到 SmartGPT MCP 服务器运行环境,例如网络可达或者在同一台机器上。
  • 启动命令 'npm run mcp-server' 假定您在 SmartGPT 项目的根目录下执行此配置。如果实际情况不同,请调整 'command' 和 'args' 以确保能够正确启动服务器。

基本使用方法

  1. 启动 MCP 服务器: 在 SmartGPT 项目根目录下,运行命令启动 MCP 服务器:

    npm run mcp-server

    服务器默认监听 'http://localhost:4141' 端口。

  2. 查看可用工具: 使用 GET 请求访问 '/mcp/manifest' 端点,获取服务器提供的工具列表和描述信息。

    curl http://localhost:4141/mcp/manifest
  3. 调用工具: 使用 POST 请求访问 '/mcp/invoke' 端点,调用特定工具。请求 body 需要包含 'tool' (工具名称) 和 'input' (工具输入参数) 字段。 例如,调用 'openai_completion' 工具:

    curl -X POST http://localhost:4141/mcp/invoke \
      -H "Content-Type: application/json" \
      -d '{"tool":"openai_completion", "input":{"prompt":"What is the capital of France?"}}'
  4. 使用双模型管道:

    • 提问:使用 POST 请求访问 '/api/ask' 端点。
      curl -X POST http://localhost:4141/api/ask \
        -H "Content-Type: application/json" \
        -d '{"query":"What is quantum computing?"}'
    • 多步推理:使用 POST 请求访问 '/api/thoughtchain' 端点。
      curl -X POST http://localhost:4141/api/thoughtchain \
        -H "Content-Type: application/json" \
        -d '{"query":"Explain the implications of quantum computing on cryptography", "drafts": 3}'
    • Web 搜索:使用 POST 请求访问 '/api/websearch' 端点。
      curl -X POST http://localhost:4141/api/websearch \
        -H "Content-Type: application/json" \
        -d '{"query":"latest developments in quantum computing 2025"}'

更多 API 使用方法请参考仓库 README 文档或访问 '/' 根端点查看系统信息和文档。

信息

分类

AI与计算