# LLM providers

> Connetti PentAGI a providers integrati come OpenAI, Anthropic, Gemini, Bedrock e Ollama, o a qualsiasi endpoint compatibile con OpenAI, con failover.

PentAGI ha bisogno di almeno un [provider](https://pentagi.com/it/docs/glossary/#provider) di modelli di linguaggio. Le credenziali vengono configurate sul server in `.env`; ogni [flow](https://pentagi.com/it/docs/glossary/#flow) seleziona quindi il provider su cui eseguire, e ogni [agent type](https://pentagi.com/it/docs/glossary/#agent-type) può utilizzare le proprie impostazioni di modello.

## [Providers integrati](https://pentagi.com/it/docs/configuration/llm-providers/#built-in-providers)

| Provider             | Variabile chiave                                               | Override endpoint      |
| -------------------- | -------------------------------------------------------------- | ---------------------- |
| OpenAI               | `OPEN_AI_KEY`                                                  | `OPEN_AI_SERVER_URL`   |
| Anthropic            | `ANTHROPIC_API_KEY`                                            | `ANTHROPIC_SERVER_URL` |
| Google AI (Gemini)   | `GEMINI_API_KEY`                                               | `GEMINI_SERVER_URL`    |
| AWS Bedrock          | `BEDROCK_REGION` + un metodo di autenticazione                 | `BEDROCK_SERVER_URL`   |
| Ollama               | `OLLAMA_SERVER_URL` (`OLLAMA_SERVER_API_KEY` per Ollama Cloud) | —                      |
| DeepSeek             | `DEEPSEEK_API_KEY`                                             | `DEEPSEEK_SERVER_URL`  |
| GLM (Zhipu AI)       | `GLM_API_KEY`                                                  | `GLM_SERVER_URL`       |
| Kimi (Moonshot AI)   | `KIMI_API_KEY`                                                 | `KIMI_SERVER_URL`      |
| Qwen (Alibaba Cloud) | `QWEN_API_KEY`                                                 | `QWEN_SERVER_URL`      |
| MiniMax              | `MINIMAX_API_KEY`                                              | `MINIMAX_SERVER_URL`   |
| Mistral              | `MISTRAL_API_KEY`                                              | `MISTRAL_SERVER_URL`   |
| xAI (Grok)           | `XAI_API_KEY`                                                  | `XAI_SERVER_URL`       |

### [Autenticazione AWS Bedrock](https://pentagi.com/it/docs/configuration/llm-providers/#aws-bedrock-authentication)

Imposta `BEDROCK_REGION` e scegli un metodo:

```bash
BEDROCK_DEFAULT_AUTH=true          # AWS SDK default credential chain (EC2/ECS roles)
# BEDROCK_BEARER_TOKEN=...         # bearer token
# BEDROCK_ACCESS_KEY_ID=...        # static credentials
# BEDROCK_SECRET_ACCESS_KEY=...
```

### [Anthropic senza una chiave a lungo termine](https://pentagi.com/it/docs/configuration/llm-providers/#anthropic-without-a-long-lived-key)

Invece di `ANTHROPIC_API_KEY`, Anthropic può essere utilizzato con Workload Identity Federation tramite `ANTHROPIC_FEDERATION_RULE_ID`, `ANTHROPIC_ORGANIZATION_ID`, `ANTHROPIC_SERVICE_ACCOUNT_ID` e un token di identità (`ANTHROPIC_IDENTITY_TOKEN` o `ANTHROPIC_IDENTITY_TOKEN_FILE`).

## [Endpoint personalizzati e compatibili con OpenAI](https://pentagi.com/it/docs/configuration/llm-providers/#custom-and-openai-compatible-endpoints)

Qualsiasi API compatibile con OpenAI — vLLM, LiteLLM, OpenRouter, DeepInfra, Atlas Cloud, il piano Go di OpenCode o una distribuzione Azure OpenAI — viene collegata come provider personalizzato:

```bash
LLM_SERVER_URL=https://your-endpoint/v1
LLM_SERVER_KEY=your_key
LLM_SERVER_MODEL=model-name
LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/custom.provider.yml
```

`LLM_SERVER_KEY` è obbligatorio: per un server senza autenticazione, come vLLM per impostazione predefinita, imposta un valore non vuoto — con una chiave vuota il provider personalizzato è disabilitato. `LLM_SERVER_API_TYPE=azure` configura il provider personalizzato per Azure OpenAI. Un file di configurazione del provider ti consente di assegnare un modello e parametri specifici per ogni agent type; parti da `examples/configs/custom-openai.provider.yml` nel repository e sostituisci il suo `o3-mini`, che OpenAI ritirerà il 23 ottobre 2026.

![Providers configurati in Settings → Providers](https://pentagi.com/images/product/settings-providers.webp)

## [Failover](https://pentagi.com/it/docs/configuration/llm-providers/#failover)

`LLM_FALLBACK_PROVIDER` indica un secondo provider: uno integrato con le credenziali in `.env`, come `anthropic`, oppure un provider che il proprietario del flow ha salvato in **Settings → Providers**. Una chiamata al modello che fallisce viene ripetuta una volta su di esso e il cambio viene registrato nella traccia; la chiamata successiva riprende sul provider del flow.

## [Scelta dei modelli](https://pentagi.com/it/docs/configuration/llm-providers/#choosing-models)

* Usa il tuo modello più potente per `primary_agent`, `pentester` e `adviser`; modelli più leggeri sono adatti per `searcher`, `enricher` e la sintesi.
* Per i modelli open source sotto i 32B di parametri, abilita il [monitoraggio dell'esecuzione e la pianificazione dei task](https://pentagi.com/it/docs/concepts/agents/#safeguards).
* **Settings → Providers** contiene i profili dei provider che crei sopra i tipi configurati — **Create Provider** offre solo i tipi con credenziali in `.env` — e il modulo del profilo testa una configurazione prima di salvarla.