This commit is contained in:
Paul Gauthier 2024-12-16 12:44:21 -08:00
parent ecfb133de2
commit 47d5b66986

View file

@ -13,24 +13,23 @@ Aider lets you specify API keys in a few ways:
- In a `.env` file - In a `.env` file
- In your `.aider.conf.yml` config file - In your `.aider.conf.yml` config file
### OpenAI and Anthropic ---
## OpenAI and Anthropic
Aider has special support for providing Aider has special support for providing
OpenAI and Anthropic API keys OpenAI and Anthropic API keys
via dedicated switches and configuration options. via dedicated switches and configuration options.
Settings keys for other providers works a bit differently, see below. Settings keys for other providers works a bit differently, see below.
#### Command line
You can set OpenAI and Anthropic API keys via You can set OpenAI and Anthropic API keys via
[command line switches](/docs/config/options.html#api-keys-and-settings) [command line switches](/docs/config/options.html#api-keys-and-settings)
`--openai-api-key` and `--anthropic-api-key`. `--openai-api-key` and `--anthropic-api-key`.
You can also set those API keys via special entries in the
[yaml config file](/docs/config/aider_conf.html), like this:
```yaml #### Environment variables or .env file
openai-api-key: <key>
anthropic-api-key: <key>
```
You can also store them in environment variables or a You can also store them in environment variables or a
[.env file](/docs/config/dotenv.html), which also works [.env file](/docs/config/dotenv.html), which also works
@ -41,16 +40,43 @@ OPENAI_API_KEY=<key>
ANTHROPIC_API_KEY=<key> ANTHROPIC_API_KEY=<key>
``` ```
#### Yaml config file
You can also set those API keys via special entries in the
[yaml config file](/docs/config/aider_conf.html), like this:
```yaml
openai-api-key: <key>
anthropic-api-key: <key>
```
---
## Other API providers
All other LLM providers can use one of these other methods to set their API keys. All other LLM providers can use one of these other methods to set their API keys.
### API keys on the command line #### Command line
{: .no_toc } {: .no_toc }
Use `--api-key provider=<key>` which has the effect of setting the environment variable `PROVIDER_API_KEY=<key>`. So `--api-key gemini=xxx` would set `GEMINI_API_KEY=xxx`. Use `--api-key provider=<key>` which has the effect of setting the environment variable `PROVIDER_API_KEY=<key>`. So `--api-key gemini=xxx` would set `GEMINI_API_KEY=xxx`.
### API keys in .aider.conf.yml #### Environment variables or .env file
{: .no_toc } {: .no_toc }
You can set API keys in environment variables.
The [.env file](/docs/config/dotenv.html)
is a great place to store your API keys and other provider API environment variables:
```bash
GEMINI_API_KEY=foo
OPENROUTER_API_KEY=bar
DEEPSEEK_API_KEY=baz
```
#### Yaml config file
You can also set API keys in the You can also set API keys in the
[`.aider.conf.yml` file](/docs/config/aider_conf.html) [`.aider.conf.yml` file](/docs/config/aider_conf.html)
via the `api-key` entry: via the `api-key` entry:
@ -62,14 +88,3 @@ api-key:
- deepseek=baz # Sets env var DEEPSEEK_API_KEY=baz - deepseek=baz # Sets env var DEEPSEEK_API_KEY=baz
``` ```
### API keys in a .env file
{: .no_toc }
The [.env file](/docs/config/dotenv.html)
is a great place to set API keys and other provider API environment variables:
```bash
GEMINI_API_KEY=foo
OPENROUTER_API_KEY=bar
DEEPSEEK_API_KEY=baz
```