mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-03 22:32:12 +08:00
* feat: Qdrant vector search support Signed-off-by: Anush008 <anushshetty90@gmail.com> * chore: Review updates Signed-off-by: Anush008 <anushshetty90@gmail.com> --------- Signed-off-by: Anush008 <anushshetty90@gmail.com> Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
# Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
from src.config.tools import SELECTED_RAG_PROVIDER, RAGProvider
|
|
from src.rag.dify import DifyProvider
|
|
from src.rag.milvus import MilvusProvider
|
|
from src.rag.moi import MOIProvider
|
|
from src.rag.qdrant import QdrantProvider
|
|
from src.rag.ragflow import RAGFlowProvider
|
|
from src.rag.retriever import Retriever
|
|
from src.rag.vikingdb_knowledge_base import VikingDBKnowledgeBaseProvider
|
|
|
|
|
|
def build_retriever() -> Retriever | None:
|
|
if SELECTED_RAG_PROVIDER == RAGProvider.DIFY.value:
|
|
return DifyProvider()
|
|
if SELECTED_RAG_PROVIDER == RAGProvider.RAGFLOW.value:
|
|
return RAGFlowProvider()
|
|
elif SELECTED_RAG_PROVIDER == RAGProvider.MOI.value:
|
|
return MOIProvider()
|
|
elif SELECTED_RAG_PROVIDER == RAGProvider.VIKINGDB_KNOWLEDGE_BASE.value:
|
|
return VikingDBKnowledgeBaseProvider()
|
|
elif SELECTED_RAG_PROVIDER == RAGProvider.MILVUS.value:
|
|
return MilvusProvider()
|
|
elif SELECTED_RAG_PROVIDER == RAGProvider.QDRANT.value:
|
|
return QdrantProvider()
|
|
elif SELECTED_RAG_PROVIDER:
|
|
raise ValueError(f"Unsupported RAG provider: {SELECTED_RAG_PROVIDER}")
|
|
return None
|