Perplexity API接口服务

提供基于Python的Perplexity API接口,支持查询响应、维护聊天历史和管理对话,适用于开发环境集成。

  • by daniel-lxs
  • Python
  • 本地部署
  • 66 星标
  • 更新于
在 GitHub 查看 daniel-lxs/mcp-perplexity

使用说明

困惑聊天MCP服务器

困惑MCP服务器为困惑API提供了一个基于Python的接口,提供了查询响应、维护聊天历史记录和管理对话的工具。它支持通过环境变量进行模型配置,并在本地存储聊天数据。它使用Python和setuptools构建,旨在与开发环境集成。

MCP服务器旨在模拟用户在浏览器上与困惑聊天的交互方式,允许您的模特提问、继续对话并列出您的所有聊天记录。

组件

工具

  • ask_perflexity通过Perplexity请求专家编程协助。专注于编码解决方案、错误调试和技术解释。返回包含源引用和替代建议的回复。
  • 聊天灵活性:与Perplexity AI保持持续对话。创建新的聊天记录或使用完整的历史上下文继续现有的聊天记录。返回聊天ID以供将来继续。
  • 列表_帽子_困惑:列出与Perplexity AI的所有可用聊天对话。返回聊天ID、标题和创建日期(以相对时间格式显示,例如“5分钟前”、“2天前”)。结果按每页50个聊天记录分页。
  • read_chat_perflexity:检索特定聊天的完整对话历史记录。返回包含所有消息及其时间戳的完整聊天历史记录。没有对Perplexity进行API调用-这只是从本地存储读取。

主要特点

  • 通过环境变量进行模型配置: 允许您使用指定困惑模型 PERPLEXITY_MODEL 用于灵活选择模型的环境变量。

    您还可以指定 PERPLEXITY_MODEL_ASK 和 PERPLEXITY_MODEL_CHAT 使用不同的模型 ask_perplexity 和 chat_perplexity 工具,分别。

    这些将覆盖 PERPLEXITY_MODEL。您可以在上查看哪些型号可用 困惑度 文档。

  • 持续聊天记录: 这 chat_perplexity 该工具保持与困惑人工智能的持续对话。创建新的聊天记录或使用完整的历史上下文继续现有的聊天记录。返回聊天ID以供将来继续。

  • 带有进度报告的流式响应: 使用进度报告来防止响应缓慢时超时。

快速启动

先决条件

在使用此MCP服务器之前,请确保您已:

  • Python 3.10或更高版本
  • uvx 已安装包管理器

注:uvx的安装说明可用 这里.

所有客户端的配置

要使用此MCP服务器,请使用以下设置配置您的客户端(配置方法因客户端而异):

"mcpServers": {
  "mcp-perplexity": {
    "command": "uvx",
    "args": ["mcp-perplexity"],
    "env": {
      "PERPLEXITY_API_KEY": "your-api-key",
      "PERPLEXITY_MODEL": "sonar-pro",
      "DB_PATH": "chats.db"
    }
  }
}

环境变量

使用以下环境变量配置MCP困惑服务器:

变量 描述 默认值 必填
PERPLEXITY_API_KEY 您的困惑API密钥 无 是
PERPLEXITY_MODEL 交互的默认模型 sonar-pro 没有
PERPLEXITY_MODEL_ASK 具体型号 ask_perplexity 工具 用途 PERPLEXITY_MODEL 没有
PERPLEXITY_MODEL_CHAT 具体型号 chat_perplexity 工具 用途 PERPLEXITY_MODEL 没有
DB_PATH 存储聊天历史数据库的路径 chats.db 没有
WEB_UI_ENABLED 启用或禁用web UI false 没有
WEB_UI_PORT web UI端口 8050 没有
WEB_UI_HOST web UI主机 127.0.0.1 没有
DEBUG_LOGS 启用详细日志记录 false 没有

使用Smithery命令行界面

npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"pplx-abc\",\"perplexityModel\":\"sonar-pro\"}"

用法

ask_perflexity

这 ask_perplexity 该工具用于特定问题,该工具不维护聊天历史记录,每个请求都是一个新的聊天。

该工具将使用以下命令返回来自困惑AI的响应 PERPLEXITY_MODEL_ASK 如果指定了模型,否则将使用 PERPLEXITY_MODEL 模型。

聊天灵活性

这 chat_perplexity 该工具用于正在进行的对话,该工具维护聊天历史记录。 聊天由聊天ID标识,当创建新聊天时,该ID由工具返回。聊天ID看起来像这样: wild-horse-12.

此工具可用于调试、研究和任何其他需要聊天历史记录的任务。

该工具将使用以下命令返回来自困惑AI的响应 PERPLEXITY_MODEL_CHAT 如果指定了模型,否则将使用 PERPLEXITY_MODEL 模型。

列表_帽子_困惑

列出所有可用的聊天对话。它返回一个分页的聊天列表,显示聊天ID、标题和创建时间(以相对格式)。您可以使用指定页码 page 参数(默认为1,每页50个聊天)。

read_chat_perflexity

检索给定会话的完整会话历史记录 chat_id此工具返回聊天中的所有消息,包括时间戳和角色(用户或助理)。这个工具可以 不 对困惑进行任何API调用;它只从本地数据库读取。

Web用户界面

MCP困惑服务器现在包括一个web界面,便于聊天的交互和管理。

特性

  • 交互式聊天界面
  • 聊天记录管理
  • 实时消息显示

截图

聊天列表视图

聊天界面

访问Web UI

当 WEB_UI_ENABLED 设置为 true,web UI将在 http://WEB_UI_HOST:WEB_UI_PORT.

默认情况下,这是 http://127.0.0.1:8050.

发展

此项目使用setuptools进行开发和构建。开始:

  1. 创建虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # On Linux/macOS
    # or
    .venv\Scripts\activate  # On Windows
    
  2. 在可编辑模式下安装包含所有依赖项的项目:

    pip install -e .
    
  3. 构建项目:

    python -m build
    

虚拟环境将包含开发所需的所有依赖项。

贡献

这个项目对捐款开放。请查看 贡献.md 文件以获取更多信息。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。