mirror of
https://github.com/open-webui/open-webui
synced 2025-05-03 04:21:46 +00:00
Adds Pinecone as a supported vector database option. - Implements `PineconeClient` with support for common operations: `add`, `query`, `delete`, `reset`. - Emulates namespace support using metadata filtering (`collection_name` prefix). - Dynamically configures Pinecone via the following env vars: - `PINECONE_API_KEY` - `PINECONE_ENVIRONMENT` - `PINECONE_INDEX_NAME` - `PINECONE_DIMENSION` - `PINECONE_METRIC` - `PINECONE_CLOUD` - Integrates cleanly with the vector DB abstraction layer. - Includes markdown documentation under `docs/getting-started/env-configuration.md`. BREAKING CHANGE: None
31 lines
1022 B
Python
31 lines
1022 B
Python
from open_webui.config import VECTOR_DB
|
|
|
|
if VECTOR_DB == "milvus":
|
|
from open_webui.retrieval.vector.dbs.milvus import MilvusClient
|
|
|
|
VECTOR_DB_CLIENT = MilvusClient()
|
|
elif VECTOR_DB == "qdrant":
|
|
from open_webui.retrieval.vector.dbs.qdrant import QdrantClient
|
|
|
|
VECTOR_DB_CLIENT = QdrantClient()
|
|
elif VECTOR_DB == "opensearch":
|
|
from open_webui.retrieval.vector.dbs.opensearch import OpenSearchClient
|
|
|
|
VECTOR_DB_CLIENT = OpenSearchClient()
|
|
elif VECTOR_DB == "pgvector":
|
|
from open_webui.retrieval.vector.dbs.pgvector import PgvectorClient
|
|
|
|
VECTOR_DB_CLIENT = PgvectorClient()
|
|
elif VECTOR_DB == "elasticsearch":
|
|
from open_webui.retrieval.vector.dbs.elasticsearch import ElasticsearchClient
|
|
|
|
VECTOR_DB_CLIENT = ElasticsearchClient()
|
|
elif VECTOR_DB == "pinecone":
|
|
from open_webui.retrieval.vector.dbs.pinecone import PineconeClient
|
|
|
|
VECTOR_DB_CLIENT = PineconeClient()
|
|
else:
|
|
from open_webui.retrieval.vector.dbs.chroma import ChromaClient
|
|
|
|
VECTOR_DB_CLIENT = ChromaClient()
|