SuperAPI AI 工具集

perplexity-ci-integration

部署与运维

查看项目

更新于 10-15 23:28

技能介绍

用途:为 Perplexity Sonar API 集成搭建 CI/CD 流水线。核心关注点:实时 API 调用产生费用(单元测试用 mock,实时调用留给集成测试)、API 密钥需存入 GitHub Secrets、CI 中同样受速率限制约束。

前置条件:已启用 Actions 的 GitHub 仓库、用于 CI 的 Perplexity API 密钥(与生产隔离)、可区分 mock 与实时测试的测试套件。

主要步骤:

  1. 配置 GitHub Secret:gh secret set PERPLEXITY_API_KEY --body "pplx-your-ci-key-here"
  2. 编写工作流文件(如 .github/workflows/perplexity-tests.yml),分为 unit-tests 与 integration-tests 两个 job:单元测试使用 mock 响应、无需密钥;集成测试通过 env 注入 PERPLEXITY_API_KEY,并限定在 main 分支 push 时运行。
  3. 测试结构:单元测试用 vi.mock 模拟 openai 并加载 fixture,校验引用解析与 Markdown 链接格式化;集成测试通过 describe.skipIf(!LIVE) 仅在存在密钥时执行,调用 sonar 模型并校验 answer、citations、usage.totalTokens,可测试 search_domain_filter 限制来源。
  4. 成本控制:仅在 main 分支推送时运行实时测试,而非每个 PR;可按周定时运行完整体集成测试。

错误处理参考:Secret 未找到需重新 gh secret set;集成测试超时可用 sonar 与 max_tokens: 100;CI 出现 429 需串行化集成测试;CI 成本过高则只在 main 分支运行实时测试。

限制:依赖 GitHub Actions 与 Node/Vitest 环境;示例中的模型、超时和费用数字为资料原始示例,实际费用与限流以 Perplexity 官方为准。