|
2 | 2 | title: Models |
3 | 3 | --- |
4 | 4 |
|
| 5 | +## Supported AI Models |
5 | 6 |
|
| 7 | +OpenCode supports a variety of AI models from different providers: |
| 8 | + |
| 9 | +### OpenAI |
| 10 | + |
| 11 | +- GPT-4.1 family (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano) |
| 12 | +- GPT-4.5 Preview |
| 13 | +- GPT-4o family (gpt-4o, gpt-4o-mini) |
| 14 | +- O1 family (o1, o1-pro, o1-mini) |
| 15 | +- O3 family (o3, o3-mini) |
| 16 | +- O4 Mini |
| 17 | + |
| 18 | +### Anthropic |
| 19 | + |
| 20 | +- Claude 3.5 Sonnet |
| 21 | +- Claude 3.5 Haiku |
| 22 | +- Claude 3.7 Sonnet |
| 23 | +- Claude 3 Haiku |
| 24 | +- Claude 3 Opus |
| 25 | + |
| 26 | +### Google |
| 27 | + |
| 28 | +- Gemini 2.5 |
| 29 | +- Gemini 2.5 Flash |
| 30 | +- Gemini 2.0 Flash |
| 31 | +- Gemini 2.0 Flash Lite |
| 32 | + |
| 33 | +### AWS Bedrock |
| 34 | + |
| 35 | +- Claude 3.7 Sonnet |
| 36 | + |
| 37 | +### Groq |
| 38 | + |
| 39 | +- Llama 4 Maverick (17b-128e-instruct) |
| 40 | +- Llama 4 Scout (17b-16e-instruct) |
| 41 | +- QWEN QWQ-32b |
| 42 | +- Deepseek R1 distill Llama 70b |
| 43 | +- Llama 3.3 70b Versatile |
| 44 | + |
| 45 | +### Azure OpenAI |
| 46 | + |
| 47 | +- GPT-4.1 family (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano) |
| 48 | +- GPT-4.5 Preview |
| 49 | +- GPT-4o family (gpt-4o, gpt-4o-mini) |
| 50 | +- O1 family (o1, o1-mini) |
| 51 | +- O3 family (o3, o3-mini) |
| 52 | +- O4 Mini |
| 53 | + |
| 54 | +### Google Cloud VertexAI |
| 55 | + |
| 56 | +- Gemini 2.5 |
| 57 | +- Gemini 2.5 Flash |
| 58 | + |
| 59 | +## Using Bedrock Models |
| 60 | + |
| 61 | +To use bedrock models with OpenCode you need three things. |
| 62 | + |
| 63 | +1. Valid AWS credentials (the env vars: `AWS_SECRET_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION`) |
| 64 | +2. Access to the corresponding model in AWS Bedrock in your region. |
| 65 | + a. You can request access in the AWS console on the Bedrock -> "Model access" page. |
| 66 | +3. A correct configuration file. You don't need the `providers` key. Instead you have to prefix your models per agent with `bedrock.` and then a valid model. For now only Claude 3.7 is supported. |
| 67 | + |
| 68 | +```json |
| 69 | +{ |
| 70 | + "agents": { |
| 71 | + "primary": { |
| 72 | + "model": "bedrock.claude-3.7-sonnet", |
| 73 | + "maxTokens": 5000, |
| 74 | + "reasoningEffort": "" |
| 75 | + }, |
| 76 | + "task": { |
| 77 | + "model": "bedrock.claude-3.7-sonnet", |
| 78 | + "maxTokens": 5000, |
| 79 | + "reasoningEffort": "" |
| 80 | + }, |
| 81 | + "title": { |
| 82 | + "model": "bedrock.claude-3.7-sonnet", |
| 83 | + "maxTokens": 80, |
| 84 | + "reasoningEffort": "" |
| 85 | + } |
| 86 | + }, |
| 87 | +} |
| 88 | +``` |
0 commit comments