-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfinal_dependency_check.py
More file actions
210 lines (169 loc) · 7.41 KB
/
final_dependency_check.py
File metadata and controls
210 lines (169 loc) · 7.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
#!/usr/bin/env python3
"""
最終依賴檢查 - 生成簡潔的問題報告
"""
def main():
print("=" * 80)
print(" 除錯 Agent 10 - 依賴關係和導入問題最終報告")
print("=" * 80)
print("\n📊 檢查項目總結:\n")
checks = [
("✅", "requirements.txt 檢查", "包含所有 37 個必需依賴 (100% 覆蓋率)"),
("✅", "setup.py 檢查", "配置正確,Python >= 3.10"),
("✅", "循環導入檢測", "無循環導入問題"),
("✅", "標準庫測試", "31/31 標準庫模組正常"),
("⚠️", "第三方依賴", "13/36 已安裝 (缺少 23 個)"),
("⚠️", "框架模組導入", "9/10 成功 (tools 模組因缺少 pandas 失敗)"),
]
for status, check, result in checks:
print(f" {status} {check:25} - {result}")
print("\n" + "=" * 80)
print(" 發現的問題詳情")
print("=" * 80)
print("\n🔴 CRITICAL 問題 (1):")
print("\n 問題: 核心第三方依賴未安裝")
print(" 影響: 多個框架模組無法正常使用")
print(" 嚴重程度: CRITICAL")
print(" 狀態: 需要立即修復")
print("\n 缺失的關鍵依賴 (23 個):")
critical_deps = [
("langchain-community", "LangChain 社群擴展"),
("langchain-openai", "OpenAI 整合"),
("langchain-anthropic", "Anthropic 整合"),
("sentence-transformers", "句子嵌入"),
("pypdf", "PDF 處理"),
("tiktoken", "Token 計數"),
("pandas", "數據分析 - 導致 tools 模組失敗"),
("scipy", "科學計算"),
("beautifulsoup4", "HTML 解析"),
("selenium", "瀏覽器自動化"),
("boto3", "AWS SDK"),
("azure-storage-blob", "Azure 存儲"),
("google-cloud-storage", "Google Cloud"),
("oss2", "阿里雲 OSS"),
("temporalio", "Temporal 工作流"),
("prefect", "Prefect 數據工作流"),
("celery", "分布式任務隊列"),
("Pillow", "圖像處理"),
("opencv-python", "視頻處理"),
("moviepy", "視頻編輯"),
("flask", "Web 框架"),
("fastapi", "FastAPI 框架"),
("graphene", "GraphQL"),
]
for i, (dep, desc) in enumerate(critical_deps, 1):
print(f" {i:2}. {dep:30} - {desc}")
print("\n🟡 WARNING 問題 (1):")
print("\n 問題: 部分可選功能依賴未安裝")
print(" 影響: 高級功能受限,不影響核心功能")
print(" 嚴重程度: WARNING")
print(" 建議: 根據實際需求安裝")
print("\n" + "=" * 80)
print(" 導入錯誤詳細資訊")
print("=" * 80)
print("\n1. 主模組導入測試:")
print(" python -c \"from ai_automation_framework import *\"")
print(" ✅ 狀態: 成功")
print("\n2. LLM 模組導入測試:")
print(" python -c \"from ai_automation_framework.llm import *\"")
print(" ✅ 狀態: 成功")
print("\n3. RAG 模組導入測試:")
print(" python -c \"from ai_automation_framework.rag import *\"")
print(" ✅ 狀態: 成功")
print("\n4. Agents 模組導入測試:")
print(" python -c \"from ai_automation_framework.agents import *\"")
print(" ✅ 狀態: 成功")
print("\n5. Tools 模組導入測試:")
print(" python -c \"from ai_automation_framework.tools import *\"")
print(" ❌ 狀態: 失敗")
print(" 錯誤: ModuleNotFoundError: No module named 'pandas'")
print(" 原因: pandas 依賴未安裝")
print("\n6. Workflows 模組導入測試:")
print(" python -c \"from ai_automation_framework.workflows import *\"")
print(" ✅ 狀態: 成功")
print("\n7. Integrations 模組導入測試:")
print(" python -c \"from ai_automation_framework.integrations import *\"")
print(" ✅ 狀態: 成功")
print("\n" + "=" * 80)
print(" 問題嚴重程度評估")
print("=" * 80)
severity = [
("🔴 CRITICAL", "1 個", "依賴未安裝 - 阻止核心功能使用"),
("🟡 WARNING", "1 個", "可選依賴缺失 - 限制高級功能"),
("ℹ️ INFO", "0 個", "無需關注的問題"),
]
print()
for level, count, description in severity:
print(f" {level:12} {count:5} - {description}")
print("\n" + "=" * 80)
print(" 建議的修復方案")
print("=" * 80)
print("\n✅ 推薦方案 (完整安裝):")
print(" pip install -r requirements.txt")
print(" 預估時間: 5-10 分鐘")
print(" 效果: 解決所有依賴問題,啟用全部功能")
print("\n⚡ 快速方案 (最小安裝):")
print(" pip install pandas numpy scipy beautifulsoup4 selenium \\")
print(" langchain-community langchain-openai langchain-anthropic \\")
print(" sentence-transformers pypdf tiktoken")
print(" 預估時間: 2-3 分鐘")
print(" 效果: 解決核心功能依賴,部分高級功能仍需額外安裝")
print("\n🎯 分階段方案:")
print(" 階段 1: pip install pandas # 修復 tools 模組")
print(" 階段 2: pip install langchain-community langchain-openai # LangChain 擴展")
print(" 階段 3: pip install beautifulsoup4 selenium # Web 自動化")
print(" 階段 4: 根據需要安裝其他依賴")
print("\n" + "=" * 80)
print(" 循環導入檢查結果")
print("=" * 80)
print("\n✅ 無循環導入問題")
print("\n 模組依賴層次結構:")
print(" Level 0: core (基礎核心)")
print(" Level 1: llm, rag (依賴 core)")
print(" Level 2: agents (依賴 llm, core)")
print(" Level 3: workflows, tools, integrations (獨立或依賴較低層級)")
print("\n" + "=" * 80)
print(" 版本相容性檢查")
print("=" * 80)
print("\n✅ Python 版本:")
print(" 要求: >= 3.10")
print(" 當前: 3.11.14")
print(" 狀態: 相容")
print("\n✅ 主要依賴版本約束:")
deps_version = [
("openai", ">=1.50.0", "最新 API 支援"),
("anthropic", ">=0.39.0", "Claude 3.5 支援"),
("langchain", ">=0.3.0", "最新架構"),
("pydantic", ">=2.9.0", "Pydantic V2"),
("chromadb", ">=0.5.0", "最新功能"),
]
for dep, version, note in deps_version:
print(f" {dep:20} {version:15} - {note}")
print("\n 狀態: 無版本衝突")
print("\n" + "=" * 80)
print(" 最終建議")
print("=" * 80)
print("\n1. 立即執行:")
print(" pip install -r requirements.txt")
print("\n2. 驗證安裝:")
print(" python -c \"from ai_automation_framework.tools import *\"")
print(" python test_import_compatibility.py")
print("\n3. 運行測試:")
print(" pytest tests/ -v # 如果有測試套件")
print("\n4. 記錄問題:")
print(" 如果安裝後仍有問題,檢查:")
print(" - Python 版本 (需要 >= 3.10)")
print(" - pip 版本 (建議更新到最新)")
print(" - 虛擬環境配置")
print("\n" + "=" * 80)
print(" 報告完成")
print("=" * 80)
print("\n📄 詳細報告已保存至:")
print(" - /home/user/Automation_with_AI/DEPENDENCY_AUDIT_REPORT.md")
print("\n🔧 測試腳本:")
print(" - check_dependencies.py - 依賴列表檢查")
print(" - analyze_imports.py - 導入分析和循環檢測")
print(" - test_import_compatibility.py - 實際導入測試")
print("\n✅ Agent 10 任務完成\n")
if __name__ == "__main__":
main()