소스 검색

feat: add starter config for s3 vector

0xThresh.eth 8 달 전
부모
커밋
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"

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 387 - 401
uv.lock


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.