|
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 |
@@ -1501,22 +1500,24 @@ class BannerModel(BaseModel): |
1501 | 1500 | VECTOR_DB = os.environ.get("VECTOR_DB", "chroma") |
1502 | 1501 |
|
1503 | 1502 | # Chroma |
1504 | | -CHROMA_DATA_PATH = f"{DATA_DIR}/vector_db" |
1505 | | -CHROMA_TENANT = os.environ.get("CHROMA_TENANT", chromadb.DEFAULT_TENANT) |
1506 | | -CHROMA_DATABASE = os.environ.get("CHROMA_DATABASE", chromadb.DEFAULT_DATABASE) |
1507 | | -CHROMA_HTTP_HOST = os.environ.get("CHROMA_HTTP_HOST", "") |
1508 | | -CHROMA_HTTP_PORT = int(os.environ.get("CHROMA_HTTP_PORT", "8000")) |
1509 | | -CHROMA_CLIENT_AUTH_PROVIDER = os.environ.get("CHROMA_CLIENT_AUTH_PROVIDER", "") |
1510 | | -CHROMA_CLIENT_AUTH_CREDENTIALS = os.environ.get("CHROMA_CLIENT_AUTH_CREDENTIALS", "") |
1511 | | -# Comma-separated list of header=value pairs |
1512 | | -CHROMA_HTTP_HEADERS = os.environ.get("CHROMA_HTTP_HEADERS", "") |
1513 | | -if CHROMA_HTTP_HEADERS: |
1514 | | - CHROMA_HTTP_HEADERS = dict( |
1515 | | - [pair.split("=") for pair in CHROMA_HTTP_HEADERS.split(",")] |
1516 | | - ) |
1517 | | -else: |
1518 | | - CHROMA_HTTP_HEADERS = None |
1519 | | -CHROMA_HTTP_SSL = os.environ.get("CHROMA_HTTP_SSL", "false").lower() == "true" |
| 1503 | +if VECTOR_DB == "chroma": |
| 1504 | + import chromadb |
| 1505 | + CHROMA_DATA_PATH = f"{DATA_DIR}/vector_db" |
| 1506 | + CHROMA_TENANT = os.environ.get("CHROMA_TENANT", chromadb.DEFAULT_TENANT) |
| 1507 | + CHROMA_DATABASE = os.environ.get("CHROMA_DATABASE", chromadb.DEFAULT_DATABASE) |
| 1508 | + CHROMA_HTTP_HOST = os.environ.get("CHROMA_HTTP_HOST", "") |
| 1509 | + CHROMA_HTTP_PORT = int(os.environ.get("CHROMA_HTTP_PORT", "8000")) |
| 1510 | + CHROMA_CLIENT_AUTH_PROVIDER = os.environ.get("CHROMA_CLIENT_AUTH_PROVIDER", "") |
| 1511 | + CHROMA_CLIENT_AUTH_CREDENTIALS = os.environ.get("CHROMA_CLIENT_AUTH_CREDENTIALS", "") |
| 1512 | + # Comma-separated list of header=value pairs |
| 1513 | + CHROMA_HTTP_HEADERS = os.environ.get("CHROMA_HTTP_HEADERS", "") |
| 1514 | + if CHROMA_HTTP_HEADERS: |
| 1515 | + CHROMA_HTTP_HEADERS = dict( |
| 1516 | + [pair.split("=") for pair in CHROMA_HTTP_HEADERS.split(",")] |
| 1517 | + ) |
| 1518 | + else: |
| 1519 | + CHROMA_HTTP_HEADERS = None |
| 1520 | + CHROMA_HTTP_SSL = os.environ.get("CHROMA_HTTP_SSL", "false").lower() == "true" |
1520 | 1521 | # 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) |
1521 | 1522 |
|
1522 | 1523 | # Milvus |
|
0 commit comments