lanny xu commited on
Commit
371a40c
·
1 Parent(s): 67b4685

resolve conflict

Browse files
colab_install_deps.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Colab环境依赖安装脚本
4
+ 确保所有LangChain相关包都是最新版本,避免导入错误
5
+ """
6
+
7
+ import subprocess
8
+ import sys
9
+
10
+ def install_package(package):
11
+ """安装单个包"""
12
+ subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", package])
13
+
14
+ def main():
15
+ print("="*70)
16
+ print("📦 Colab GraphRAG 依赖安装")
17
+ print("="*70)
18
+
19
+ # 关键包列表(指定版本以确保兼容性)
20
+ packages = [
21
+ # LangChain核心包(最新版本)
22
+ "langchain>=0.1.0",
23
+ "langchain-core>=0.1.52",
24
+ "langchain-community>=0.0.38",
25
+ "langchain-text-splitters>=0.0.1",
26
+ "langgraph>=0.0.40",
27
+
28
+ # Ollama支持
29
+ "langchain-ollama>=0.1.0",
30
+
31
+ # 向量数据库和嵌入
32
+ "chromadb>=0.4.22",
33
+ "sentence-transformers>=2.2.0",
34
+
35
+ # 文档处理
36
+ "tiktoken>=0.5.0",
37
+ "beautifulsoup4>=4.12.0",
38
+ "requests>=2.31.0",
39
+
40
+ # 网络搜索
41
+ "tavily-python>=0.3.0",
42
+
43
+ # 工具库
44
+ "python-dotenv>=1.0.0",
45
+
46
+ # GraphRAG特定
47
+ "networkx>=3.1",
48
+ "python-louvain>=0.16",
49
+
50
+ # PyTorch和Transformers
51
+ "torch>=2.0.0",
52
+ "transformers>=4.30.0",
53
+ ]
54
+
55
+ print("\n🔄 开始安装依赖包...\n")
56
+
57
+ for i, package in enumerate(packages, 1):
58
+ try:
59
+ print(f"[{i}/{len(packages)}] 安装 {package}...")
60
+ install_package(package)
61
+ print(f" ✅ {package} 安装成功")
62
+ except Exception as e:
63
+ print(f" ❌ {package} 安装失败: {e}")
64
+
65
+ print("\n" + "="*70)
66
+ print("✅ 依赖安装完成!")
67
+ print("="*70)
68
+
69
+ # 验证关键导入
70
+ print("\n🔍 验证关键导入...")
71
+
72
+ imports_to_check = [
73
+ ("langchain", "LangChain"),
74
+ ("langchain_core", "LangChain Core"),
75
+ ("langchain_community", "LangChain Community"),
76
+ ("langchain_text_splitters", "LangChain Text Splitters"),
77
+ ("chromadb", "ChromaDB"),
78
+ ("sentence_transformers", "Sentence Transformers"),
79
+ ("networkx", "NetworkX"),
80
+ ]
81
+
82
+ all_ok = True
83
+ for module, name in imports_to_check:
84
+ try:
85
+ __import__(module)
86
+ print(f" ✅ {name}")
87
+ except ImportError as e:
88
+ print(f" ❌ {name}: {e}")
89
+ all_ok = False
90
+
91
+ if all_ok:
92
+ print("\n🎉 所有依赖验证通过!")
93
+ else:
94
+ print("\n⚠️ 部分依赖验证失败,请检查错误信息")
95
+
96
+ print("\n" + "="*70)
97
+
98
+ if __name__ == "__main__":
99
+ main()
document_processor.py CHANGED
@@ -3,7 +3,11 @@
3
  负责文档加载、文本分块、向量化和向量数据库初始化
4
  """
5
 
6
- from langchain.text_splitter import RecursiveCharacterTextSplitter
 
 
 
 
7
  from langchain_community.document_loaders import WebBaseLoader
8
  from langchain_community.vectorstores import Chroma
9
  from langchain_community.embeddings import HuggingFaceEmbeddings
 
3
  负责文档加载、文本分块、向量化和向量数据库初始化
4
  """
5
 
6
+ try:
7
+ from langchain_text_splitters import RecursiveCharacterTextSplitter
8
+ except ImportError:
9
+ from langchain.text_splitter import RecursiveCharacterTextSplitter
10
+
11
  from langchain_community.document_loaders import WebBaseLoader
12
  from langchain_community.vectorstores import Chroma
13
  from langchain_community.embeddings import HuggingFaceEmbeddings
requirements_graphrag.txt CHANGED
@@ -2,6 +2,12 @@
2
  # 在原有requirements.txt基础上添加这些包
3
  # 安装命令: pip install -r requirements_graphrag.txt
4
 
 
 
 
 
 
 
5
  # 图数据库
6
  neo4j>=5.14.0
7
  py2neo>=2021.2.3
 
2
  # 在原有requirements.txt基础上添加这些包
3
  # 安装命令: pip install -r requirements_graphrag.txt
4
 
5
+ # LangChain相关(确保最新版本)
6
+ langchain>=0.1.0
7
+ langchain-community>=0.0.38
8
+ langchain-core>=0.1.0
9
+ langchain-text-splitters>=0.0.1 # 新版本text splitter
10
+
11
  # 图数据库
12
  neo4j>=5.14.0
13
  py2neo>=2021.2.3