lanny xu commited on
Commit
023c6e2
·
1 Parent(s): 6186830

optimize query speed

Browse files
Files changed (1) hide show
  1. document_processor.py +26 -1
document_processor.py CHANGED
@@ -9,7 +9,32 @@ except ImportError:
9
  from langchain.text_splitter import RecursiveCharacterTextSplitter
10
 
11
  from langchain_community.document_loaders import WebBaseLoader
12
- from langchain_community.vectorstores import Milvus
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  from langchain_community.embeddings import HuggingFaceEmbeddings
14
  from langchain_community.retrievers import BM25Retriever
15
 
 
9
  from langchain.text_splitter import RecursiveCharacterTextSplitter
10
 
11
  from langchain_community.document_loaders import WebBaseLoader
12
+
13
+ # 尝试导入 langchain_milvus,如果失败则回退到 langchain_community 并应用补丁
14
+ try:
15
+ from langchain_milvus import MilvusVectorStore as Milvus
16
+ print("✅ 使用 langchain-milvus (新版)")
17
+ except ImportError:
18
+ try:
19
+ from langchain_community.vectorstores import Milvus
20
+ print("⚠️ 使用 langchain_community.vectorstores.Milvus (旧版)")
21
+
22
+ # Monkeypatch: 修复旧版 LangChain 对 Milvus Lite 本地文件路径的校验问题
23
+ # 旧版 _create_connection_alias 强制要求 URI 以 http/https 开头
24
+ def _patched_create_connection_alias(self, connection_args):
25
+ uri = connection_args.get("uri")
26
+ # 为本地文件生成唯一的 alias
27
+ if uri:
28
+ import hashlib
29
+ return hashlib.md5(uri.encode()).hexdigest()
30
+ return "default"
31
+
32
+ # 应用补丁
33
+ Milvus._create_connection_alias = _patched_create_connection_alias
34
+ print("🔧 已应用 Milvus Lite 路径校验补丁")
35
+ except ImportError:
36
+ pass
37
+
38
  from langchain_community.embeddings import HuggingFaceEmbeddings
39
  from langchain_community.retrievers import BM25Retriever
40