223 lines
5.5 KiB
Plaintext
223 lines
5.5 KiB
Plaintext
---
|
|
title: Modelli
|
|
description: Configurare un provider LLM e un modello.
|
|
---
|
|
|
|
OpenCode usa [AI SDK](https://ai-sdk.dev/) e [Models.dev](https://models.dev) per supportare **75+ provider LLM** e supporta anche l'esecuzione di modelli locali.
|
|
|
|
---
|
|
|
|
## Providers
|
|
|
|
I provider piu popolari sono precaricati per impostazione predefinita. Se hai aggiunto le credenziali di un provider tramite il comando `/connect`, saranno disponibili quando avvii OpenCode.
|
|
|
|
[Scopri di piu](/docs/providers) sui provider.
|
|
|
|
---
|
|
|
|
## Seleziona un modello
|
|
|
|
Dopo aver configurato il provider, puoi selezionare il modello che vuoi digitando:
|
|
|
|
```bash frame="none"
|
|
/models
|
|
```
|
|
|
|
---
|
|
|
|
## Modelli consigliati
|
|
|
|
Esistono moltissimi modelli, e ne escono di nuovi ogni settimana.
|
|
|
|
:::tip
|
|
Valuta di usare uno dei modelli che consigliamo.
|
|
:::
|
|
|
|
Tuttavia, solo alcuni sono davvero bravi sia a generare codice sia a chiamare strumenti.
|
|
|
|
Ecco alcuni modelli che funzionano bene con OpenCode, in nessun ordine particolare. (Non e una lista esaustiva e potrebbe non essere aggiornata):
|
|
|
|
- GPT 5.2
|
|
- GPT 5.1 Codex
|
|
- Claude Opus 4.5
|
|
- Claude Sonnet 4.5
|
|
- Minimax M2.1
|
|
- Gemini 3 Pro
|
|
|
|
---
|
|
|
|
## Imposta un predefinito
|
|
|
|
Per impostarne uno come modello predefinito, puoi impostare la chiave `model` nella config di OpenCode.
|
|
|
|
```json title="opencode.json" {3}
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"model": "lmstudio/google/gemma-3n-e4b"
|
|
}
|
|
```
|
|
|
|
Qui l'ID completo e `provider_id/model_id`. Per esempio, se usi [OpenCode Zen](/docs/zen), useresti `opencode/gpt-5.1-codex` per GPT 5.1 Codex.
|
|
|
|
Se hai configurato un [provider personalizzato](/docs/providers#custom), `provider_id` e la chiave nella sezione `provider` della config e `model_id` e la chiave in `provider.models`.
|
|
|
|
---
|
|
|
|
## Configure models
|
|
|
|
Puoi configurare globalmente le opzioni di un modello tramite la config.
|
|
|
|
```jsonc title="opencode.jsonc" {7-12,19-24}
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"provider": {
|
|
"openai": {
|
|
"models": {
|
|
"gpt-5": {
|
|
"options": {
|
|
"reasoningEffort": "high",
|
|
"textVerbosity": "low",
|
|
"reasoningSummary": "auto",
|
|
"include": ["reasoning.encrypted_content"],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"anthropic": {
|
|
"models": {
|
|
"claude-sonnet-4-5-20250929": {
|
|
"options": {
|
|
"thinking": {
|
|
"type": "enabled",
|
|
"budgetTokens": 16000,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
```
|
|
|
|
Qui stiamo configurando impostazioni globali per due modelli integrati: `gpt-5` quando viene usato tramite il provider `openai` e `claude-sonnet-4-20250514` quando viene usato tramite il provider `anthropic`.
|
|
I nomi di provider e modelli integrati si trovano su [Models.dev](https://models.dev).
|
|
|
|
Puoi anche configurare queste opzioni per gli agenti che usi. La config dell'agente sovrascrive le opzioni globali definite qui. [Scopri di piu](/docs/agents/#additional).
|
|
|
|
Puoi anche definire varianti personalizzate che estendono quelle integrate. Le varianti ti permettono di configurare impostazioni diverse per lo stesso modello senza creare voci duplicate:
|
|
|
|
```jsonc title="opencode.jsonc" {6-21}
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"provider": {
|
|
"opencode": {
|
|
"models": {
|
|
"gpt-5": {
|
|
"variants": {
|
|
"high": {
|
|
"reasoningEffort": "high",
|
|
"textVerbosity": "low",
|
|
"reasoningSummary": "auto",
|
|
},
|
|
"low": {
|
|
"reasoningEffort": "low",
|
|
"textVerbosity": "low",
|
|
"reasoningSummary": "auto",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Variants
|
|
|
|
Molti modelli supportano piu varianti con configurazioni diverse. OpenCode include varianti predefinite integrate per i provider piu comuni.
|
|
|
|
### Built-in variants
|
|
|
|
OpenCode include varianti predefinite per molti provider:
|
|
|
|
**Anthropic**:
|
|
|
|
- `high` - High thinking budget (default)
|
|
- `max` - Maximum thinking budget
|
|
|
|
**OpenAI**:
|
|
|
|
Varies by model but roughly:
|
|
|
|
- `none` - No reasoning
|
|
- `minimal` - Minimal reasoning effort
|
|
- `low` - Low reasoning effort
|
|
- `medium` - Medium reasoning effort
|
|
- `high` - High reasoning effort
|
|
- `xhigh` - Extra high reasoning effort
|
|
|
|
**Google**:
|
|
|
|
- `low` - Lower effort/token budget
|
|
- `high` - Higher effort/token budget
|
|
|
|
:::tip
|
|
Questa lista non e completa. Anche molti altri provider hanno default integrati.
|
|
:::
|
|
|
|
### Custom variants
|
|
|
|
Puoi sovrascrivere varianti esistenti o aggiungerne di tue:
|
|
|
|
```jsonc title="opencode.jsonc" {7-18}
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"provider": {
|
|
"openai": {
|
|
"models": {
|
|
"gpt-5": {
|
|
"variants": {
|
|
"thinking": {
|
|
"reasoningEffort": "high",
|
|
"textVerbosity": "low",
|
|
},
|
|
"fast": {
|
|
"disabled": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
```
|
|
|
|
### Cycle variants
|
|
|
|
Usa il keybind `variant_cycle` per passare rapidamente tra le varianti. [Scopri di piu](/docs/keybinds).
|
|
|
|
---
|
|
|
|
## Loading models
|
|
|
|
Quando OpenCode si avvia, controlla i modelli in questo ordine di priorita:
|
|
|
|
1. Il flag da riga di comando `--model` o `-m`. Il formato e lo stesso della config: `provider_id/model_id`.
|
|
|
|
2. La lista dei modelli nella config di OpenCode.
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"model": "anthropic/claude-sonnet-4-20250514"
|
|
}
|
|
```
|
|
|
|
Qui il formato e `provider/model`.
|
|
|
|
3. L'ultimo modello usato.
|
|
|
|
4. Il primo modello in base a una priorita interna.
|