# Embedding

> Scegli il modello di embedding alla base della memory e della ricerca delle conoscenze di PentAGI.

Gli embedding alimentano la ricerca semantica sulla [memory](https://pentagi.com/it/docs/glossary/#memory), sulla [knowledge base](https://pentagi.com/it/docs/glossary/#knowledge-base) e sui risultati passati. OpenAI è il [provider](https://pentagi.com/it/docs/glossary/#provider) predefinito; se non è impostato `EMBEDDING_MODEL`, viene usato `text-embedding-ada-002`. Un esempio di configurazione in `.env`:

```bash
EMBEDDING_PROVIDER=openai          # openai, ollama, mistral, jina, huggingface, googleai, voyageai
EMBEDDING_MODEL=text-embedding-3-small
# optional custom endpoint
EMBEDDING_URL=
# provider API key, if required
EMBEDDING_KEY=
EMBEDDING_BATCH_SIZE=512               # default
EMBEDDING_MAX_TEXT_BYTES=8192          # default
```

Qualsiasi servizio che implementi l'API `/embeddings` di OpenAI funziona con `EMBEDDING_PROVIDER=openai` e un `EMBEDDING_URL` personalizzato.

> [!WARNING]
> Se cambi il provider degli embedding o il modello, ricalcola i vettori archiviati con `docker exec -it pentagi /opt/pentagi/bin/etester reindex` — i vettori generati da modelli diversi non sono confrontabili. Non eseguire `etester flush` per questo: elimina ogni documento archiviato, inclusa la knowledge base.

## [Certificati CA personalizzati](https://pentagi.com/it/docs/configuration/embeddings/#custom-ca-certificates)

Se il backend del modello o il server dei [tool](https://pentagi.com/it/docs/glossary/#tool) utilizza una CA privata e riscontri l'errore `x509: certificate signed by unknown authority`, inserisci il bundle PEM nel volume `pentagi-ssl` e configura PentAGI per usarlo:

```bash
EXTERNAL_SSL_CA_PATH=/opt/pentagi/ssl/ca-bundle.pem
EXTERNAL_SSL_INSECURE=false
```

Quindi riavvia con `docker compose up -d pentagi`.