70 lines
2.5 KiB
Markdown
70 lines
2.5 KiB
Markdown
---
|
|
title: "Providers"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/pi-agent/references/providers.md
|
|
upstream_sha: 9c9bd2e9
|
|
imported_at: 2026-06-27
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# Providers
|
|
|
|
Source: https://pi.dev/docs/latest/providers
|
|
|
|
Pi supports subscription providers via OAuth and API-key providers via env vars or `~/.pi/agent/auth.json`. Built-in model lists are updated with each Pi release.
|
|
|
|
## Subscription Providers
|
|
|
|
Use `/login` and choose Claude Pro/Max, ChatGPT Plus/Pro (Codex), or GitHub Copilot. Use `/logout` to clear credentials. Tokens live in `~/.pi/agent/auth.json` and refresh automatically.
|
|
|
|
## API Key Providers
|
|
|
|
Set env vars before startup or use `/login` to store keys. Common mappings:
|
|
|
|
- `ANTHROPIC_API_KEY` -> `anthropic`
|
|
- `OPENAI_API_KEY` -> `openai`
|
|
- `GEMINI_API_KEY` -> `google`
|
|
- `MISTRAL_API_KEY` -> `mistral`
|
|
- `GROQ_API_KEY` -> `groq`
|
|
- `OPENROUTER_API_KEY` -> `openrouter`
|
|
- `AI_GATEWAY_API_KEY` -> `vercel-ai-gateway`
|
|
- `CLOUDFLARE_API_KEY` plus account/gateway vars -> Cloudflare providers
|
|
- `AWS_*` credentials -> Amazon Bedrock
|
|
|
|
`auth.json` entries use `{ "type": "api_key", "key": "..." }` and are created with `0600` permissions.
|
|
|
|
## Key Resolution Syntax
|
|
|
|
The `key` field supports:
|
|
|
|
```json
|
|
{ "type": "api_key", "key": "!op read 'op://vault/item/credential'" }
|
|
{ "type": "api_key", "key": "$MY_API_KEY" }
|
|
{ "type": "api_key", "key": "${KEY_PREFIX}_${KEY_SUFFIX}" }
|
|
{ "type": "api_key", "key": "$$literal-dollar" }
|
|
{ "type": "api_key", "key": "$!literal-bang" }
|
|
```
|
|
|
|
Auth file credentials take priority over environment variables.
|
|
|
|
## Cloud Providers
|
|
|
|
Azure OpenAI needs `AZURE_OPENAI_API_KEY` plus `AZURE_OPENAI_BASE_URL` or `AZURE_OPENAI_RESOURCE_NAME`; optional `AZURE_OPENAI_API_VERSION` and deployment mapping.
|
|
|
|
Amazon Bedrock uses AWS profile, IAM keys, bearer token, ECS task roles, or IRSA. Set region through `AWS_REGION`. For application inference profiles that do not include recognizable model names, set `AWS_BEDROCK_FORCE_CACHE=1` to force cache points.
|
|
|
|
Cloudflare AI Gateway requires `CLOUDFLARE_API_KEY`, `CLOUDFLARE_ACCOUNT_ID`, and `CLOUDFLARE_GATEWAY_ID`. Prefer unified billing or stored BYOK.
|
|
|
|
Google Vertex AI uses Application Default Credentials plus `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION`.
|
|
|
|
## Resolution Order
|
|
|
|
1. CLI `--api-key`
|
|
2. `auth.json` entry
|
|
3. Environment variable
|
|
4. Custom provider keys from `models.json`
|