|
9 | 9 | from typing import Generic, Optional, TypeVar |
10 | 10 | from urllib.parse import urlparse |
11 | 11 |
|
12 | | -import chromadb |
13 | 12 | import requests |
14 | 13 | from pydantic import BaseModel |
15 | 14 | from sqlalchemy import JSON, Column, DateTime, Integer, func |
@@ -1497,22 +1496,24 @@ class BannerModel(BaseModel): |
1497 | 1496 | VECTOR_DB = os.environ.get("VECTOR_DB", "chroma") |
1498 | 1497 |
|
1499 | 1498 | # Chroma |
1500 | | -CHROMA_DATA_PATH = f"{DATA_DIR}/vector_db" |
1501 | | -CHROMA_TENANT = os.environ.get("CHROMA_TENANT", chromadb.DEFAULT_TENANT) |
1502 | | -CHROMA_DATABASE = os.environ.get("CHROMA_DATABASE", chromadb.DEFAULT_DATABASE) |
1503 | | -CHROMA_HTTP_HOST = os.environ.get("CHROMA_HTTP_HOST", "") |
1504 | | -CHROMA_HTTP_PORT = int(os.environ.get("CHROMA_HTTP_PORT", "8000")) |
1505 | | -CHROMA_CLIENT_AUTH_PROVIDER = os.environ.get("CHROMA_CLIENT_AUTH_PROVIDER", "") |
1506 | | -CHROMA_CLIENT_AUTH_CREDENTIALS = os.environ.get("CHROMA_CLIENT_AUTH_CREDENTIALS", "") |
1507 | | -# Comma-separated list of header=value pairs |
1508 | | -CHROMA_HTTP_HEADERS = os.environ.get("CHROMA_HTTP_HEADERS", "") |
1509 | | -if CHROMA_HTTP_HEADERS: |
1510 | | - CHROMA_HTTP_HEADERS = dict( |
1511 | | - [pair.split("=") for pair in CHROMA_HTTP_HEADERS.split(",")] |
1512 | | - ) |
1513 | | -else: |
1514 | | - CHROMA_HTTP_HEADERS = None |
1515 | | -CHROMA_HTTP_SSL = os.environ.get("CHROMA_HTTP_SSL", "false").lower() == "true" |
| 1499 | +if VECTOR_DB == "chroma": |
| 1500 | + import chromadb |
| 1501 | + CHROMA_DATA_PATH = f"{DATA_DIR}/vector_db" |
| 1502 | + CHROMA_TENANT = os.environ.get("CHROMA_TENANT", chromadb.DEFAULT_TENANT) |
| 1503 | + CHROMA_DATABASE = os.environ.get("CHROMA_DATABASE", chromadb.DEFAULT_DATABASE) |
| 1504 | + CHROMA_HTTP_HOST = os.environ.get("CHROMA_HTTP_HOST", "") |
| 1505 | + CHROMA_HTTP_PORT = int(os.environ.get("CHROMA_HTTP_PORT", "8000")) |
| 1506 | + CHROMA_CLIENT_AUTH_PROVIDER = os.environ.get("CHROMA_CLIENT_AUTH_PROVIDER", "") |
| 1507 | + CHROMA_CLIENT_AUTH_CREDENTIALS = os.environ.get("CHROMA_CLIENT_AUTH_CREDENTIALS", "") |
| 1508 | + # Comma-separated list of header=value pairs |
| 1509 | + CHROMA_HTTP_HEADERS = os.environ.get("CHROMA_HTTP_HEADERS", "") |
| 1510 | + if CHROMA_HTTP_HEADERS: |
| 1511 | + CHROMA_HTTP_HEADERS = dict( |
| 1512 | + [pair.split("=") for pair in CHROMA_HTTP_HEADERS.split(",")] |
| 1513 | + ) |
| 1514 | + else: |
| 1515 | + CHROMA_HTTP_HEADERS = None |
| 1516 | + CHROMA_HTTP_SSL = os.environ.get("CHROMA_HTTP_SSL", "false").lower() == "true" |
1516 | 1517 | # this uses the model defined in the Dockerfile ENV variable. If you dont use docker or docker based deployments such as k8s, the default embedding model will be used (sentence-transformers/all-MiniLM-L6-v2) |
1517 | 1518 |
|
1518 | 1519 | # Milvus |
|
0 commit comments