Providers
本页面是 Pi 官方文档 的中文翻译。仅供学习参考。
大多数托管 Provider 支持以下认证方式中的一种或两种:
- 通过浏览器或设备流程进行由 OAuth 支持的登录。
- 提供 API Key。
用 /login [provider] 查看某个 Provider 支持的方式。Amazon Bedrock 和 Google Vertex AI 也可以使用环境中的云凭证。
以交互方式认证
运行 /login 并选择一个 Provider。Pi 会引导你完成它的 OAuth 或 API Key 流程,并把得到的凭证保存到 auth.json。
在远程或无头机器上,OAuth 回调可能无法到达本地进程。出现提示时,把最终的跳转 URL 或授权码粘贴回 Pi。
运行 /logout 并选择一个 Provider 可以删除它已存的凭证。这不会取消环境变量、不会移除 models.json 中的认证,也不会在 Provider 处吊销凭证。
auth.json 可能包含 API Key 和 OAuth Token。请对它保密,不要提交它。
使用环境变量中的 API Key
环境变量在 CI 以及任何不希望 Pi 保存 Key 的场景都很有用。启动 Pi 之前设置该变量:
下表覆盖只有一个主要 API Key 变量的 Provider。需要额外配置或支持环境凭证的 Provider 在 Provider 特定配置 中介绍。
Anthropic 也把 ANTHROPIC_OAUTH_TOKEN 识别为 API 凭证,把 ANTHROPIC_AUTH_TOKEN 识别为 bearer 认证。
没有设置 key 或 token 时,若设置了 ANTHROPIC_FEDERATION_RULE_ID、ANTHROPIC_ORGANIZATION_ID 和 ANTHROPIC_IDENTITY_TOKEN_FILE,Anthropic 会使用工作负载身份联合:Anthropic SDK 把 identity token 换成短时 access token,并自行刷新(会重新读取 identity token 文件,因此长会话要保持该文件是新的)。设置了 ANTHROPIC_SERVICE_ACCOUNT_ID 和 ANTHROPIC_WORKSPACE_ID 时会原样传递。
从命令加载 API Key
要在不把解析出的 Key 写入磁盘的情况下使用密钥管理器,请把 auth.json 中某个 Provider 的 key 设为一个以 ! 开头的命令:
Pi 在第一次需要该 Key 时运行命令,并在进程存活期间缓存它的标准输出。输出为空、超时或非零退出会让该 Key 保持未解析,直到 Pi 重启。
Provider 特定配置
下面的 Provider 有额外的准备步骤、需要额外设置,或可以使用其平台提供的凭证。
已存的 API Key 凭证可以包含一个 env 对象。它的值对该 Provider 优先于进程环境:
Radius
Radius 是 Pi 的开发者 Earendil Works 为 Pi 打造的服务。它提供可定制的 AI 网关,内置组织级控制和数据分析,以及用于分享你用 Pi 创作内容的 artifacts。
开始使用:在 Pi 中运行 /login radius。这会把 Radius 加为 Provider,它的模型会像其他 Provider 一样出现在 /model 中。
Radius 也有 MCP 服务器,因此 Pi 可以替你管理 Radius。
Radius 目前处于早期 alpha,变化很快。更多信息见 radius.earendil.com。
Radius 认证使用它的网关目录,并缓存刷新后的模型元数据以便之后离线启动。在 models.json 中配置的自定义 Radius 网关使用它自己的目录,而不会继承公开的 radius.pi.dev 目录。
Azure OpenAI
设置 API Key,以及 base URL 或资源名:
ai.azure.com、cognitiveservices.azure.com 和 openai.azure.com 下的资源根 URL 会被规范化为 OpenAI API 路径。
Amazon Bedrock
Bedrock 可以使用 bearer token 或环境中的 AWS 凭证来源:
Pi 还通过标准的 AWS_CONTAINER_CREDENTIALS_* 和 AWS_WEB_IDENTITY_TOKEN_FILE 变量支持 ECS 任务凭证和 IRSA。
Cloudflare AI Gateway
该网关需要 Token、account ID 和 gateway ID:
account ID 和 gateway ID 可以来自进程环境,也可以来自 auth.json 中凭证的 env 对象。
CLOUDFLARE_API_KEY 用于向网关认证 Pi。上游访问可以使用 Cloudflare 统一计费、存储在该网关中的凭证,或为 models.json 中该 Provider 配置的 Authorization header。
Cloudflare Workers AI
Workers AI 需要 Token 和 account ID:
account ID 也可以存储在凭证的 env 对象中。
Google Vertex AI
使用 Google Cloud API Key:
要使用 Application Default Credentials,请配置项目和位置:
然后认证:
要改用服务账号 Key 文件,请设置 GOOGLE_APPLICATION_CREDENTIALS,并同时设置项目和位置。
法律声明:本页面是 pi.dev 官方文档的中文翻译版本,仅供学习参考。本网站与 pi.dev 及 Earendil Inc. 无任何法律关系。

