12345678910111213141516171819202122232425262728293031323334 |
- ---
- title: '💾 Vector Database'
- ---
- We support `Chroma` and `Elasticsearch` as two vector database.
- `Chroma` is used as a default database.
- ### Elasticsearch
- In order to use `Elasticsearch` as vector database we need to use App type `CustomApp`.
- ```python
- import os
- from embedchain import CustomApp
- from embedchain.config import CustomAppConfig, ElasticsearchDBConfig
- from embedchain.models import Providers, EmbeddingFunctions, VectorDatabases
- os.environ["OPENAI_API_KEY"] = 'OPENAI_API_KEY'
- es_config = ElasticsearchDBConfig(
- # elasticsearch url or list of nodes url with different hosts and ports.
- es_url='http://localhost:9200',
- # pass named parameters supported by Python Elasticsearch client
- ca_certs="/path/to/http_ca.crt",
- basic_auth=("username", "password")
- )
- config = CustomAppConfig(
- embedding_fn=EmbeddingFunctions.OPENAI,
- provider=Providers.OPENAI,
- db_type=VectorDatabases.ELASTICSEARCH,
- es_config=es_config,
- )
- es_app = CustomApp(config)
- ```
- - Set `db_type=VectorDatabases.ELASTICSEARCH` and `es_config=ElasticsearchDBConfig(es_url='')` in `CustomAppConfig`.
- - `ElasticsearchDBConfig` accepts `es_url` as elasticsearch url or as list of nodes url with different hosts and ports. Additionally we can pass named paramaters supported by Python Elasticsearch client.
|