# エンベディング

> PentAGIのmemoryとナレッジ検索に使用するエンベディングモデルを選択してください。

埋め込みは、[memory](https://pentagi.com/ja/docs/glossary/#memory)、[knowledge base](https://pentagi.com/ja/docs/glossary/#knowledge-base)、過去の結果に対するセマンティック検索を支える機能です。デフォルトの[provider](https://pentagi.com/ja/docs/glossary/#provider)はOpenAIであり、`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`を使用して保存されたベクトルを再計算してください。異なるmodelのベクトル同士には互換性がありません。この目的で`etester flush`を実行しないでください。これは保存されたすべてのdocument（knowledge baseを含む）を削除します。

## [カスタムCA証明書](https://pentagi.com/ja/docs/configuration/embeddings/#custom-ca-certificates)

モデルバックエンドや[tool](https://pentagi.com/ja/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`で再起動します。