瀏覽代碼

feat: add starter config for s3 vector

0xThresh.eth 2 月之前
父節點
當前提交
d9f2b6b14e
共有 4 個文件被更改,包括 395 次插入402 次删除
  1. 4 0
      backend/open_webui/config.py
  2. 3 1
      backend/open_webui/retrieval/vector/factory.py
  3. 1 0
      backend/open_webui/retrieval/vector/type.py
  4. 387 401
      uv.lock

+ 4 - 0
backend/open_webui/config.py

@@ -1933,6 +1933,10 @@ PINECONE_DIMENSION = int(os.getenv("PINECONE_DIMENSION", 1536))  # or 3072, 1024
 PINECONE_METRIC = os.getenv("PINECONE_METRIC", "cosine")
 PINECONE_CLOUD = os.getenv("PINECONE_CLOUD", "aws")  # or "gcp" or "azure"
 
+# S3 Vector
+S3_VECTOR_BUCKET_NAME = os.environ.get("S3_VECTOR_BUCKET_NAME", None)
+S3_VECTOR_REGION = os.environ.get("S3_VECTOR_REGION", None)
+
 ####################################
 # Information Retrieval (RAG)
 ####################################

+ 3 - 1
backend/open_webui/retrieval/vector/factory.py

@@ -28,8 +28,10 @@ class Vector:
                     return QdrantClient()
             case VectorType.PINECONE:
                 from open_webui.retrieval.vector.dbs.pinecone import PineconeClient
-
                 return PineconeClient()
+            case VectorType.S3VECTOR:
+                from open_webui.retrieval.vector.s3.s3vector import S3VectorClient
+                return S3VectorClient()
             case VectorType.OPENSEARCH:
                 from open_webui.retrieval.vector.dbs.opensearch import OpenSearchClient
 

+ 1 - 0
backend/open_webui/retrieval/vector/type.py

@@ -9,3 +9,4 @@ class VectorType(StrEnum):
     ELASTICSEARCH = "elasticsearch"
     OPENSEARCH = "opensearch"
     PGVECTOR = "pgvector"
+    S3VECTOR = "s3vector"

File diff suppressed because it is too large
+ 387 - 401
uv.lock


Some files were not shown because too many files changed in this diff