mcpField
P
perplexity-api

perplexity-api

github.com/alphaonedev生产力44 次安装
代码仓库

关于 perplexity-api

perplexity-api 面向需要最新网络信息的应用和 Agent,可调用 Perplexity 的 Sonar API 获取搜索结果或带引用的回答,并将结果用于 LLM 工作流。

主要功能

  1. 01实时网络搜索
  2. 02按日期和域名筛选查询
  3. 03获取带引用 URL 的回答
  4. 04支持标准及聚焦查询
  5. 05为 LLM 工作流提供搜索结果

适用场景

  1. 01带来源研究最新新闻
  2. 02为 LLM 回答补充实时信息
  3. 03用带引用的网络结果核验回答

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill perplexity-api

安装后在 Claude Code 中输入/perplexity-api确认已加载。

详细介绍

perplexity-api

用途

此技能可访问 Perplexity 的 Sonar API,支持实时网页搜索、提供带引文的答案,以及增强 AI 驱动应用的搜索增强型大模型响应。

适用场景

在需要最新网页数据的任务中使用此技能,例如:为用户查询提供可核验的来源、使用实时信息增强大模型输出,或执行需要引文的研究。对于静态数据或无需实时访问的情况,请避免使用,以免产生不必要的 API 调用。

主要功能

  • 使用查询参数执行实时网页搜索,以进行筛选(例如按日期或域名筛选)。
  • 获取 JSON 对象格式的答案,其中包含文本响应和引文 URL。
  • 与大模型集成以生成搜索增强型响应,结合 API 结果与模型推断。
  • 支持多种查询类型:标准搜索、聚焦查询和引文提取。
  • 支持速率限制管理,每个 API 密钥每分钟最多可发送 100 个请求。

使用模式

调用前务必通过环境变量设置 API 密钥。使用 HTTP GET 或 POST 请求进行查询,解析 JSON 响应,并在需要时处理异步结果。对于 AI Agent,可将其集成为子例程:先检查本地知识,再调用此 API 获取网页更新。模式:身份验证 -> 发送查询 -> 处理响应 -> 记录或缓存结果。

常用命令/API

端点:https://api.perplexity.ai/search(简单查询使用 GET,复杂查询使用带 JSON 正文的 POST)。
身份验证:必需;通过 $PERPLEXITY_API_KEY 设置(例如,export PERPLEXITY_API_KEY=your_api_key)。
CLI 示例:
curl -H "Authorization: Bearer $PERPLEXITY_API_KEY" -G https://api.perplexity.ai/search --data-urlencode "q=latest AI news"
API 参数:

  • q:必需的字符串查询(例如,"climate change effects")。
  • limit:结果数量的整数值(例如,5)。
  • format:响应格式字符串(例如,"json" 或 "text")。
    代码片段(Python):
    import requests; os.environ['PERPLEXITY_API_KEY'] = 'your_key'
    response = requests.get('https://api.perplexity.ai/search', params={'q': 'query'}, headers={'Authorization': f'Bearer {os.environ["PERPLEXITY_API_KEY"]}'}).json()
    print(response['answers'][0]['text']) # Access first answer
    配置格式:将内容保存到 .env 文件中,格式为 PERPLEXITY_API_KEY=your_key,然后使用 python-dotenv 加载。

集成说明

为确保可靠性,请将 API 调用封装在 try-except 块中。对于 OpenClaw Agent,请在需要网页数据的工作流中使用此技能,例如将 API 结果添加到大模型提示词前。使用异步框架时,请确保兼容性;Perplexity API 支持最长 30 秒的超时。先使用模拟响应进行测试。模式:导入必要的库(例如 requests)、设置环境变量,并使用结构化查询调用端点。避免在代码中直接暴露 API 密钥;请仅使用安全密钥库或环境变量。

错误处理

检查 HTTP 状态码:401 表示身份验证失败(确认 $PERPLEXITY_API_KEY 后重试);429 表示达到速率限制(实施指数退避,例如等待 5-10 秒);404 表示端点无效(记录错误并回退到其他技能)。解析 JSON 错误以获取详细信息,例如 "error": "Invalid query"。在代码中使用:
try:
response = requests.get(...)
response.raise_for_status() # Raises HTTPError for 4xx/5xx
except requests.exceptions.HTTPError as e:
print(f"Error: {e.response.status_code} - {e.response.text}") # Log and handle
务必设置带次数限制的重试逻辑(例如,最多重试 3 次);如果问题仍未解决,请告知用户。

具体使用示例

  1. 示例:实时新闻搜索
    要获取最新的 AI 动态:设置 $PERPLEXITY_API_KEY,然后运行 curl -H "Authorization: Bearer $PERPLEXITY_API_KEY" -G https://api.perplexity.ai/search --data-urlencode "q=latest OpenAI updates&limit=3"。在代码中:导入 requests,查询该端点,并提取 response['answers'][0]['source_url'] 等引文,以展示给用户。这适用于 Agent 回答新闻相关查询。

  2. 示例:增强大模型回复
    要增强大模型回答:首先获取大模型输出(例如,“总结气候变化”),然后将其作为查询调用 API:requests.get('https://api.perplexity.ai/search', params={'q': 'climate change summary'})。使用 API 的响应添加引文,例如在大模型文本后附上“来源:[响应中的 URL]”。在工作流中:如果 Agent 的回复需要验证,请调用此技能,并在最终输出前合并结果。

图关系

  • 相关集群:ai-apis(例如,与其他 AI API 技能(如 openai-api)共享依赖项)。
  • 标签:ai-apis(表示归入 AI 相关端点分组)、api(通用 API 集成)。
  • 关联:可与 llm-tools 链式组合,实现搜索和生成;由于依赖实时数据,因此与离线数据技能冲突。

评论

支持 Markdown