@@ -2359,6 +2359,78 @@ class BannerModel(BaseModel):
23592359 CHROMA_HTTP_SSL = os .environ .get ("CHROMA_HTTP_SSL" , "false" ).lower () == "true"
23602360# 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)
23612361
2362+
2363+ # MariaDB Vector (mariadb-vector)
2364+ MARIADB_VECTOR_DB_URL = os .environ .get ("MARIADB_VECTOR_DB_URL" , "" ).strip ()
2365+
2366+ MARIADB_VECTOR_INITIALIZE_MAX_VECTOR_LENGTH = int (
2367+ os .environ .get ("MARIADB_VECTOR_INITIALIZE_MAX_VECTOR_LENGTH" , "1536" ).strip () or "1536"
2368+ )
2369+
2370+ # Distance strategy:
2371+ # - cosine => vec_distance_cosine(...)
2372+ # - euclidean => vec_distance_euclidean(...)
2373+ MARIADB_VECTOR_DISTANCE_STRATEGY = (
2374+ os .environ .get ("MARIADB_VECTOR_DISTANCE_STRATEGY" , "cosine" ).strip ().lower ()
2375+ )
2376+
2377+ # HNSW M parameter (MariaDB VECTOR INDEX ... M=<int>)
2378+ MARIADB_VECTOR_INDEX_M = int (os .environ .get ("MARIADB_VECTOR_INDEX_M" , "8" ).strip () or "8" )
2379+
2380+ # Pooling (MariaDB-Vector)
2381+ MARIADB_VECTOR_POOL_SIZE = os .environ .get ("MARIADB_VECTOR_POOL_SIZE" , None )
2382+
2383+ if MARIADB_VECTOR_POOL_SIZE != None :
2384+ try :
2385+ MARIADB_VECTOR_POOL_SIZE = int (MARIADB_VECTOR_POOL_SIZE )
2386+ except Exception :
2387+ MARIADB_VECTOR_POOL_SIZE = None
2388+
2389+ MARIADB_VECTOR_POOL_MAX_OVERFLOW = os .environ .get ("MARIADB_VECTOR_POOL_MAX_OVERFLOW" , 0 )
2390+
2391+ if MARIADB_VECTOR_POOL_MAX_OVERFLOW == "" :
2392+ MARIADB_VECTOR_POOL_MAX_OVERFLOW = 0
2393+ else :
2394+ try :
2395+ MARIADB_VECTOR_POOL_MAX_OVERFLOW = int (MARIADB_VECTOR_POOL_MAX_OVERFLOW )
2396+ except Exception :
2397+ MARIADB_VECTOR_POOL_MAX_OVERFLOW = 0
2398+
2399+ MARIADB_VECTOR_POOL_TIMEOUT = os .environ .get ("MARIADB_VECTOR_POOL_TIMEOUT" , 30 )
2400+
2401+ if MARIADB_VECTOR_POOL_TIMEOUT == "" :
2402+ MARIADB_VECTOR_POOL_TIMEOUT = 30
2403+ else :
2404+ try :
2405+ MARIADB_VECTOR_POOL_TIMEOUT = int (MARIADB_VECTOR_POOL_TIMEOUT )
2406+ except Exception :
2407+ MARIADB_VECTOR_POOL_TIMEOUT = 30
2408+
2409+ MARIADB_VECTOR_POOL_RECYCLE = os .environ .get ("MARIADB_VECTOR_POOL_RECYCLE" , 3600 )
2410+
2411+ if MARIADB_VECTOR_POOL_RECYCLE == "" :
2412+ MARIADB_VECTOR_POOL_RECYCLE = 3600
2413+ else :
2414+ try :
2415+ MARIADB_VECTOR_POOL_RECYCLE = int (MARIADB_VECTOR_POOL_RECYCLE )
2416+ except Exception :
2417+ MARIADB_VECTOR_POOL_RECYCLE = 3600
2418+
2419+ ENABLE_MARIADB_VECTOR = True
2420+ if VECTOR_DB == "mariadb-vector" :
2421+ if not MARIADB_VECTOR_DB_URL :
2422+ ENABLE_MARIADB_VECTOR = False
2423+ else :
2424+ try :
2425+ parsed = urlparse (MARIADB_VECTOR_DB_URL )
2426+ scheme = (parsed .scheme or "" ).lower ()
2427+ # Require official driver so VECTOR binds as float32 bytes correctly
2428+ if scheme != "mariadb+mariadbconnector" :
2429+ ENABLE_MARIADB_VECTOR = False
2430+ except Exception :
2431+ ENABLE_MARIADB_VECTOR = False
2432+
2433+
23622434# Milvus
23632435MILVUS_URI = os .environ .get ("MILVUS_URI" , f"{ DATA_DIR } /vector_db/milvus.db" )
23642436MILVUS_DB = os .environ .get ("MILVUS_DB" , "default" )
0 commit comments