# 嵌入

> 選擇 PentAGI memory 與知識搜尋所使用的嵌入模型。

嵌入向量驅動針對 [memory](https://pentagi.com/zh-tw/docs/glossary/#memory)、[knowledge base](https://pentagi.com/zh-tw/docs/glossary/#knowledge-base) 與過往結果的語意搜尋。OpenAI 為預設 [provider](https://pentagi.com/zh-tw/docs/glossary/#provider)；若未設定 `EMBEDDING_MODEL`，則會使用 `text-embedding-ada-002`。以下為 `.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
```

任何實作 OpenAI `/embeddings` API 的服務皆可搭配 `EMBEDDING_PROVIDER=openai` 與自訂 `EMBEDDING_URL` 使用。

> [!WARNING]
> 若您變更了嵌入向量 provider 或 model，請使用 `docker exec -it pentagi /opt/pentagi/bin/etester reindex` 重新計算已儲存的向量——不同模型產生的向量無法相互比較。請勿為此執行 `etester flush`：它會刪除所有已儲存的文件，包括 knowledge base。

## [自訂 CA 憑證](https://pentagi.com/zh-tw/docs/configuration/embeddings/#custom-ca-certificates)

若模型後端或 [tool](https://pentagi.com/zh-tw/docs/glossary/#tool) 伺服器使用私有 CA，且您遇到 `x509: certificate signed by unknown authority` 錯誤，請將 PEM 組合放入 `pentagi-ssl` 磁碟區中，並讓 PentAGI 指向該檔案：

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

接著以 `docker compose up -d pentagi` 重新啟動。