aiecs 1.5.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. aiecs/__init__.py +72 -0
  2. aiecs/__main__.py +41 -0
  3. aiecs/aiecs_client.py +469 -0
  4. aiecs/application/__init__.py +10 -0
  5. aiecs/application/executors/__init__.py +10 -0
  6. aiecs/application/executors/operation_executor.py +363 -0
  7. aiecs/application/knowledge_graph/__init__.py +7 -0
  8. aiecs/application/knowledge_graph/builder/__init__.py +37 -0
  9. aiecs/application/knowledge_graph/builder/document_builder.py +375 -0
  10. aiecs/application/knowledge_graph/builder/graph_builder.py +356 -0
  11. aiecs/application/knowledge_graph/builder/schema_mapping.py +531 -0
  12. aiecs/application/knowledge_graph/builder/structured_pipeline.py +443 -0
  13. aiecs/application/knowledge_graph/builder/text_chunker.py +319 -0
  14. aiecs/application/knowledge_graph/extractors/__init__.py +27 -0
  15. aiecs/application/knowledge_graph/extractors/base.py +100 -0
  16. aiecs/application/knowledge_graph/extractors/llm_entity_extractor.py +327 -0
  17. aiecs/application/knowledge_graph/extractors/llm_relation_extractor.py +349 -0
  18. aiecs/application/knowledge_graph/extractors/ner_entity_extractor.py +244 -0
  19. aiecs/application/knowledge_graph/fusion/__init__.py +23 -0
  20. aiecs/application/knowledge_graph/fusion/entity_deduplicator.py +387 -0
  21. aiecs/application/knowledge_graph/fusion/entity_linker.py +343 -0
  22. aiecs/application/knowledge_graph/fusion/knowledge_fusion.py +580 -0
  23. aiecs/application/knowledge_graph/fusion/relation_deduplicator.py +189 -0
  24. aiecs/application/knowledge_graph/pattern_matching/__init__.py +21 -0
  25. aiecs/application/knowledge_graph/pattern_matching/pattern_matcher.py +344 -0
  26. aiecs/application/knowledge_graph/pattern_matching/query_executor.py +378 -0
  27. aiecs/application/knowledge_graph/profiling/__init__.py +12 -0
  28. aiecs/application/knowledge_graph/profiling/query_plan_visualizer.py +199 -0
  29. aiecs/application/knowledge_graph/profiling/query_profiler.py +223 -0
  30. aiecs/application/knowledge_graph/reasoning/__init__.py +27 -0
  31. aiecs/application/knowledge_graph/reasoning/evidence_synthesis.py +347 -0
  32. aiecs/application/knowledge_graph/reasoning/inference_engine.py +504 -0
  33. aiecs/application/knowledge_graph/reasoning/logic_form_parser.py +167 -0
  34. aiecs/application/knowledge_graph/reasoning/logic_parser/__init__.py +79 -0
  35. aiecs/application/knowledge_graph/reasoning/logic_parser/ast_builder.py +513 -0
  36. aiecs/application/knowledge_graph/reasoning/logic_parser/ast_nodes.py +630 -0
  37. aiecs/application/knowledge_graph/reasoning/logic_parser/ast_validator.py +654 -0
  38. aiecs/application/knowledge_graph/reasoning/logic_parser/error_handler.py +477 -0
  39. aiecs/application/knowledge_graph/reasoning/logic_parser/parser.py +390 -0
  40. aiecs/application/knowledge_graph/reasoning/logic_parser/query_context.py +217 -0
  41. aiecs/application/knowledge_graph/reasoning/logic_query_integration.py +169 -0
  42. aiecs/application/knowledge_graph/reasoning/query_planner.py +872 -0
  43. aiecs/application/knowledge_graph/reasoning/reasoning_engine.py +554 -0
  44. aiecs/application/knowledge_graph/retrieval/__init__.py +19 -0
  45. aiecs/application/knowledge_graph/retrieval/retrieval_strategies.py +596 -0
  46. aiecs/application/knowledge_graph/search/__init__.py +59 -0
  47. aiecs/application/knowledge_graph/search/hybrid_search.py +423 -0
  48. aiecs/application/knowledge_graph/search/reranker.py +295 -0
  49. aiecs/application/knowledge_graph/search/reranker_strategies.py +553 -0
  50. aiecs/application/knowledge_graph/search/text_similarity.py +398 -0
  51. aiecs/application/knowledge_graph/traversal/__init__.py +15 -0
  52. aiecs/application/knowledge_graph/traversal/enhanced_traversal.py +329 -0
  53. aiecs/application/knowledge_graph/traversal/path_scorer.py +269 -0
  54. aiecs/application/knowledge_graph/validators/__init__.py +13 -0
  55. aiecs/application/knowledge_graph/validators/relation_validator.py +189 -0
  56. aiecs/application/knowledge_graph/visualization/__init__.py +11 -0
  57. aiecs/application/knowledge_graph/visualization/graph_visualizer.py +321 -0
  58. aiecs/common/__init__.py +9 -0
  59. aiecs/common/knowledge_graph/__init__.py +17 -0
  60. aiecs/common/knowledge_graph/runnable.py +484 -0
  61. aiecs/config/__init__.py +16 -0
  62. aiecs/config/config.py +498 -0
  63. aiecs/config/graph_config.py +137 -0
  64. aiecs/config/registry.py +23 -0
  65. aiecs/core/__init__.py +46 -0
  66. aiecs/core/interface/__init__.py +34 -0
  67. aiecs/core/interface/execution_interface.py +152 -0
  68. aiecs/core/interface/storage_interface.py +171 -0
  69. aiecs/domain/__init__.py +289 -0
  70. aiecs/domain/agent/__init__.py +189 -0
  71. aiecs/domain/agent/base_agent.py +697 -0
  72. aiecs/domain/agent/exceptions.py +103 -0
  73. aiecs/domain/agent/graph_aware_mixin.py +559 -0
  74. aiecs/domain/agent/hybrid_agent.py +490 -0
  75. aiecs/domain/agent/integration/__init__.py +26 -0
  76. aiecs/domain/agent/integration/context_compressor.py +222 -0
  77. aiecs/domain/agent/integration/context_engine_adapter.py +252 -0
  78. aiecs/domain/agent/integration/retry_policy.py +219 -0
  79. aiecs/domain/agent/integration/role_config.py +213 -0
  80. aiecs/domain/agent/knowledge_aware_agent.py +646 -0
  81. aiecs/domain/agent/lifecycle.py +296 -0
  82. aiecs/domain/agent/llm_agent.py +300 -0
  83. aiecs/domain/agent/memory/__init__.py +12 -0
  84. aiecs/domain/agent/memory/conversation.py +197 -0
  85. aiecs/domain/agent/migration/__init__.py +14 -0
  86. aiecs/domain/agent/migration/conversion.py +160 -0
  87. aiecs/domain/agent/migration/legacy_wrapper.py +90 -0
  88. aiecs/domain/agent/models.py +317 -0
  89. aiecs/domain/agent/observability.py +407 -0
  90. aiecs/domain/agent/persistence.py +289 -0
  91. aiecs/domain/agent/prompts/__init__.py +29 -0
  92. aiecs/domain/agent/prompts/builder.py +161 -0
  93. aiecs/domain/agent/prompts/formatters.py +189 -0
  94. aiecs/domain/agent/prompts/template.py +255 -0
  95. aiecs/domain/agent/registry.py +260 -0
  96. aiecs/domain/agent/tool_agent.py +257 -0
  97. aiecs/domain/agent/tools/__init__.py +12 -0
  98. aiecs/domain/agent/tools/schema_generator.py +221 -0
  99. aiecs/domain/community/__init__.py +155 -0
  100. aiecs/domain/community/agent_adapter.py +477 -0
  101. aiecs/domain/community/analytics.py +481 -0
  102. aiecs/domain/community/collaborative_workflow.py +642 -0
  103. aiecs/domain/community/communication_hub.py +645 -0
  104. aiecs/domain/community/community_builder.py +320 -0
  105. aiecs/domain/community/community_integration.py +800 -0
  106. aiecs/domain/community/community_manager.py +813 -0
  107. aiecs/domain/community/decision_engine.py +879 -0
  108. aiecs/domain/community/exceptions.py +225 -0
  109. aiecs/domain/community/models/__init__.py +33 -0
  110. aiecs/domain/community/models/community_models.py +268 -0
  111. aiecs/domain/community/resource_manager.py +457 -0
  112. aiecs/domain/community/shared_context_manager.py +603 -0
  113. aiecs/domain/context/__init__.py +58 -0
  114. aiecs/domain/context/context_engine.py +989 -0
  115. aiecs/domain/context/conversation_models.py +354 -0
  116. aiecs/domain/context/graph_memory.py +467 -0
  117. aiecs/domain/execution/__init__.py +12 -0
  118. aiecs/domain/execution/model.py +57 -0
  119. aiecs/domain/knowledge_graph/__init__.py +19 -0
  120. aiecs/domain/knowledge_graph/models/__init__.py +52 -0
  121. aiecs/domain/knowledge_graph/models/entity.py +130 -0
  122. aiecs/domain/knowledge_graph/models/evidence.py +194 -0
  123. aiecs/domain/knowledge_graph/models/inference_rule.py +186 -0
  124. aiecs/domain/knowledge_graph/models/path.py +179 -0
  125. aiecs/domain/knowledge_graph/models/path_pattern.py +173 -0
  126. aiecs/domain/knowledge_graph/models/query.py +272 -0
  127. aiecs/domain/knowledge_graph/models/query_plan.py +187 -0
  128. aiecs/domain/knowledge_graph/models/relation.py +136 -0
  129. aiecs/domain/knowledge_graph/schema/__init__.py +23 -0
  130. aiecs/domain/knowledge_graph/schema/entity_type.py +135 -0
  131. aiecs/domain/knowledge_graph/schema/graph_schema.py +271 -0
  132. aiecs/domain/knowledge_graph/schema/property_schema.py +155 -0
  133. aiecs/domain/knowledge_graph/schema/relation_type.py +171 -0
  134. aiecs/domain/knowledge_graph/schema/schema_manager.py +496 -0
  135. aiecs/domain/knowledge_graph/schema/type_enums.py +205 -0
  136. aiecs/domain/task/__init__.py +13 -0
  137. aiecs/domain/task/dsl_processor.py +613 -0
  138. aiecs/domain/task/model.py +62 -0
  139. aiecs/domain/task/task_context.py +268 -0
  140. aiecs/infrastructure/__init__.py +24 -0
  141. aiecs/infrastructure/graph_storage/__init__.py +11 -0
  142. aiecs/infrastructure/graph_storage/base.py +601 -0
  143. aiecs/infrastructure/graph_storage/batch_operations.py +449 -0
  144. aiecs/infrastructure/graph_storage/cache.py +429 -0
  145. aiecs/infrastructure/graph_storage/distributed.py +226 -0
  146. aiecs/infrastructure/graph_storage/error_handling.py +390 -0
  147. aiecs/infrastructure/graph_storage/graceful_degradation.py +306 -0
  148. aiecs/infrastructure/graph_storage/health_checks.py +378 -0
  149. aiecs/infrastructure/graph_storage/in_memory.py +514 -0
  150. aiecs/infrastructure/graph_storage/index_optimization.py +483 -0
  151. aiecs/infrastructure/graph_storage/lazy_loading.py +410 -0
  152. aiecs/infrastructure/graph_storage/metrics.py +357 -0
  153. aiecs/infrastructure/graph_storage/migration.py +413 -0
  154. aiecs/infrastructure/graph_storage/pagination.py +471 -0
  155. aiecs/infrastructure/graph_storage/performance_monitoring.py +466 -0
  156. aiecs/infrastructure/graph_storage/postgres.py +871 -0
  157. aiecs/infrastructure/graph_storage/query_optimizer.py +635 -0
  158. aiecs/infrastructure/graph_storage/schema_cache.py +290 -0
  159. aiecs/infrastructure/graph_storage/sqlite.py +623 -0
  160. aiecs/infrastructure/graph_storage/streaming.py +495 -0
  161. aiecs/infrastructure/messaging/__init__.py +13 -0
  162. aiecs/infrastructure/messaging/celery_task_manager.py +383 -0
  163. aiecs/infrastructure/messaging/websocket_manager.py +298 -0
  164. aiecs/infrastructure/monitoring/__init__.py +34 -0
  165. aiecs/infrastructure/monitoring/executor_metrics.py +174 -0
  166. aiecs/infrastructure/monitoring/global_metrics_manager.py +213 -0
  167. aiecs/infrastructure/monitoring/structured_logger.py +48 -0
  168. aiecs/infrastructure/monitoring/tracing_manager.py +410 -0
  169. aiecs/infrastructure/persistence/__init__.py +24 -0
  170. aiecs/infrastructure/persistence/context_engine_client.py +187 -0
  171. aiecs/infrastructure/persistence/database_manager.py +333 -0
  172. aiecs/infrastructure/persistence/file_storage.py +754 -0
  173. aiecs/infrastructure/persistence/redis_client.py +220 -0
  174. aiecs/llm/__init__.py +86 -0
  175. aiecs/llm/callbacks/__init__.py +11 -0
  176. aiecs/llm/callbacks/custom_callbacks.py +264 -0
  177. aiecs/llm/client_factory.py +420 -0
  178. aiecs/llm/clients/__init__.py +33 -0
  179. aiecs/llm/clients/base_client.py +193 -0
  180. aiecs/llm/clients/googleai_client.py +181 -0
  181. aiecs/llm/clients/openai_client.py +131 -0
  182. aiecs/llm/clients/vertex_client.py +437 -0
  183. aiecs/llm/clients/xai_client.py +184 -0
  184. aiecs/llm/config/__init__.py +51 -0
  185. aiecs/llm/config/config_loader.py +275 -0
  186. aiecs/llm/config/config_validator.py +236 -0
  187. aiecs/llm/config/model_config.py +151 -0
  188. aiecs/llm/utils/__init__.py +10 -0
  189. aiecs/llm/utils/validate_config.py +91 -0
  190. aiecs/main.py +363 -0
  191. aiecs/scripts/__init__.py +3 -0
  192. aiecs/scripts/aid/VERSION_MANAGEMENT.md +97 -0
  193. aiecs/scripts/aid/__init__.py +19 -0
  194. aiecs/scripts/aid/version_manager.py +215 -0
  195. aiecs/scripts/dependance_check/DEPENDENCY_SYSTEM_SUMMARY.md +242 -0
  196. aiecs/scripts/dependance_check/README_DEPENDENCY_CHECKER.md +310 -0
  197. aiecs/scripts/dependance_check/__init__.py +17 -0
  198. aiecs/scripts/dependance_check/dependency_checker.py +938 -0
  199. aiecs/scripts/dependance_check/dependency_fixer.py +391 -0
  200. aiecs/scripts/dependance_check/download_nlp_data.py +396 -0
  201. aiecs/scripts/dependance_check/quick_dependency_check.py +270 -0
  202. aiecs/scripts/dependance_check/setup_nlp_data.sh +217 -0
  203. aiecs/scripts/dependance_patch/__init__.py +7 -0
  204. aiecs/scripts/dependance_patch/fix_weasel/README_WEASEL_PATCH.md +126 -0
  205. aiecs/scripts/dependance_patch/fix_weasel/__init__.py +11 -0
  206. aiecs/scripts/dependance_patch/fix_weasel/fix_weasel_validator.py +128 -0
  207. aiecs/scripts/dependance_patch/fix_weasel/fix_weasel_validator.sh +82 -0
  208. aiecs/scripts/dependance_patch/fix_weasel/patch_weasel_library.sh +188 -0
  209. aiecs/scripts/dependance_patch/fix_weasel/run_weasel_patch.sh +41 -0
  210. aiecs/scripts/tools_develop/README.md +449 -0
  211. aiecs/scripts/tools_develop/TOOL_AUTO_DISCOVERY.md +234 -0
  212. aiecs/scripts/tools_develop/__init__.py +21 -0
  213. aiecs/scripts/tools_develop/check_type_annotations.py +259 -0
  214. aiecs/scripts/tools_develop/validate_tool_schemas.py +422 -0
  215. aiecs/scripts/tools_develop/verify_tools.py +356 -0
  216. aiecs/tasks/__init__.py +1 -0
  217. aiecs/tasks/worker.py +172 -0
  218. aiecs/tools/__init__.py +299 -0
  219. aiecs/tools/apisource/__init__.py +99 -0
  220. aiecs/tools/apisource/intelligence/__init__.py +19 -0
  221. aiecs/tools/apisource/intelligence/data_fusion.py +381 -0
  222. aiecs/tools/apisource/intelligence/query_analyzer.py +413 -0
  223. aiecs/tools/apisource/intelligence/search_enhancer.py +388 -0
  224. aiecs/tools/apisource/monitoring/__init__.py +9 -0
  225. aiecs/tools/apisource/monitoring/metrics.py +303 -0
  226. aiecs/tools/apisource/providers/__init__.py +115 -0
  227. aiecs/tools/apisource/providers/base.py +664 -0
  228. aiecs/tools/apisource/providers/census.py +401 -0
  229. aiecs/tools/apisource/providers/fred.py +564 -0
  230. aiecs/tools/apisource/providers/newsapi.py +412 -0
  231. aiecs/tools/apisource/providers/worldbank.py +357 -0
  232. aiecs/tools/apisource/reliability/__init__.py +12 -0
  233. aiecs/tools/apisource/reliability/error_handler.py +375 -0
  234. aiecs/tools/apisource/reliability/fallback_strategy.py +391 -0
  235. aiecs/tools/apisource/tool.py +850 -0
  236. aiecs/tools/apisource/utils/__init__.py +9 -0
  237. aiecs/tools/apisource/utils/validators.py +338 -0
  238. aiecs/tools/base_tool.py +201 -0
  239. aiecs/tools/docs/__init__.py +121 -0
  240. aiecs/tools/docs/ai_document_orchestrator.py +599 -0
  241. aiecs/tools/docs/ai_document_writer_orchestrator.py +2403 -0
  242. aiecs/tools/docs/content_insertion_tool.py +1333 -0
  243. aiecs/tools/docs/document_creator_tool.py +1317 -0
  244. aiecs/tools/docs/document_layout_tool.py +1166 -0
  245. aiecs/tools/docs/document_parser_tool.py +994 -0
  246. aiecs/tools/docs/document_writer_tool.py +1818 -0
  247. aiecs/tools/knowledge_graph/__init__.py +17 -0
  248. aiecs/tools/knowledge_graph/graph_reasoning_tool.py +734 -0
  249. aiecs/tools/knowledge_graph/graph_search_tool.py +923 -0
  250. aiecs/tools/knowledge_graph/kg_builder_tool.py +476 -0
  251. aiecs/tools/langchain_adapter.py +542 -0
  252. aiecs/tools/schema_generator.py +275 -0
  253. aiecs/tools/search_tool/__init__.py +100 -0
  254. aiecs/tools/search_tool/analyzers.py +589 -0
  255. aiecs/tools/search_tool/cache.py +260 -0
  256. aiecs/tools/search_tool/constants.py +128 -0
  257. aiecs/tools/search_tool/context.py +216 -0
  258. aiecs/tools/search_tool/core.py +749 -0
  259. aiecs/tools/search_tool/deduplicator.py +123 -0
  260. aiecs/tools/search_tool/error_handler.py +271 -0
  261. aiecs/tools/search_tool/metrics.py +371 -0
  262. aiecs/tools/search_tool/rate_limiter.py +178 -0
  263. aiecs/tools/search_tool/schemas.py +277 -0
  264. aiecs/tools/statistics/__init__.py +80 -0
  265. aiecs/tools/statistics/ai_data_analysis_orchestrator.py +643 -0
  266. aiecs/tools/statistics/ai_insight_generator_tool.py +505 -0
  267. aiecs/tools/statistics/ai_report_orchestrator_tool.py +694 -0
  268. aiecs/tools/statistics/data_loader_tool.py +564 -0
  269. aiecs/tools/statistics/data_profiler_tool.py +658 -0
  270. aiecs/tools/statistics/data_transformer_tool.py +573 -0
  271. aiecs/tools/statistics/data_visualizer_tool.py +495 -0
  272. aiecs/tools/statistics/model_trainer_tool.py +487 -0
  273. aiecs/tools/statistics/statistical_analyzer_tool.py +459 -0
  274. aiecs/tools/task_tools/__init__.py +86 -0
  275. aiecs/tools/task_tools/chart_tool.py +732 -0
  276. aiecs/tools/task_tools/classfire_tool.py +922 -0
  277. aiecs/tools/task_tools/image_tool.py +447 -0
  278. aiecs/tools/task_tools/office_tool.py +684 -0
  279. aiecs/tools/task_tools/pandas_tool.py +635 -0
  280. aiecs/tools/task_tools/report_tool.py +635 -0
  281. aiecs/tools/task_tools/research_tool.py +392 -0
  282. aiecs/tools/task_tools/scraper_tool.py +715 -0
  283. aiecs/tools/task_tools/stats_tool.py +688 -0
  284. aiecs/tools/temp_file_manager.py +130 -0
  285. aiecs/tools/tool_executor/__init__.py +37 -0
  286. aiecs/tools/tool_executor/tool_executor.py +881 -0
  287. aiecs/utils/LLM_output_structor.py +445 -0
  288. aiecs/utils/__init__.py +34 -0
  289. aiecs/utils/base_callback.py +47 -0
  290. aiecs/utils/cache_provider.py +695 -0
  291. aiecs/utils/execution_utils.py +184 -0
  292. aiecs/utils/logging.py +1 -0
  293. aiecs/utils/prompt_loader.py +14 -0
  294. aiecs/utils/token_usage_repository.py +323 -0
  295. aiecs/ws/__init__.py +0 -0
  296. aiecs/ws/socket_server.py +52 -0
  297. aiecs-1.5.1.dist-info/METADATA +608 -0
  298. aiecs-1.5.1.dist-info/RECORD +302 -0
  299. aiecs-1.5.1.dist-info/WHEEL +5 -0
  300. aiecs-1.5.1.dist-info/entry_points.txt +10 -0
  301. aiecs-1.5.1.dist-info/licenses/LICENSE +225 -0
  302. aiecs-1.5.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,310 @@
1
+ # AIECS Dependency Checker
2
+
3
+ AIECS 包含一个全面的依赖检查系统,用于验证所有工具所需的系统级依赖、Python包和模型文件。
4
+
5
+ ## 概述
6
+
7
+ AIECS 的各个工具需要不同的依赖项才能正常工作:
8
+
9
+ - **系统级依赖**: Java、Tesseract OCR、图像处理库等
10
+ - **Python包依赖**: 各种Python库和框架
11
+ - **模型文件**: spaCy模型、NLTK数据、Transformers模型等
12
+
13
+ ## 命令行工具
14
+
15
+ ### 1. 快速依赖检查
16
+
17
+ ```bash
18
+ aiecs-quick-check
19
+ ```
20
+
21
+ 快速检查关键依赖项,适合安装后验证。
22
+
23
+ ### 2. 完整依赖检查
24
+
25
+ ```bash
26
+ aiecs-check-deps
27
+ ```
28
+
29
+ 执行完整的依赖检查,包括所有工具的所有依赖项。
30
+
31
+ ### 3. 自动依赖修复
32
+
33
+ ```bash
34
+ aiecs-fix-deps
35
+ ```
36
+
37
+ 自动安装缺失的依赖项(需要用户确认)。
38
+
39
+ ```bash
40
+ aiecs-fix-deps --non-interactive
41
+ ```
42
+
43
+ 非交互模式,自动批准所有修复。
44
+
45
+ ### 4. 仅检查模式
46
+
47
+ ```bash
48
+ aiecs-fix-deps --check-only
49
+ ```
50
+
51
+ 只检查依赖项,不执行修复。
52
+
53
+ ## 工具特定依赖
54
+
55
+ ### Image Tool (图像处理工具)
56
+
57
+ **系统依赖**:
58
+ - Tesseract OCR 引擎
59
+ - Pillow 图像处理库的系统依赖
60
+
61
+ **Python包**:
62
+ - PIL (Pillow)
63
+ - pytesseract
64
+
65
+ **模型文件**:
66
+ - Tesseract 语言包 (eng, chi_sim, chi_tra, 等)
67
+
68
+ **安装命令**:
69
+ ```bash
70
+ # Ubuntu/Debian
71
+ sudo apt-get install tesseract-ocr tesseract-ocr-eng
72
+ sudo apt-get install libjpeg-dev zlib1g-dev libpng-dev libtiff-dev libwebp-dev libopenjp2-7-dev
73
+
74
+ # macOS
75
+ brew install tesseract
76
+ brew install libjpeg zlib libpng libtiff webp openjpeg
77
+ ```
78
+
79
+ ### ClassFire Tool (文本分类工具)
80
+
81
+ **Python包**:
82
+ - spacy
83
+ - transformers
84
+ - nltk
85
+ - rake_nltk
86
+
87
+ **模型文件**:
88
+ - spaCy 模型: en_core_web_sm, zh_core_web_sm
89
+ - Transformers 模型: facebook/bart-large-cnn, t5-base
90
+ - NLTK 数据: stopwords, punkt, wordnet, averaged_perceptron_tagger
91
+
92
+ **安装命令**:
93
+ ```bash
94
+ # spaCy 模型
95
+ python -m spacy download en_core_web_sm
96
+ python -m spacy download zh_core_web_sm
97
+
98
+ # NLTK 数据
99
+ python -c "import nltk; nltk.download('stopwords')"
100
+ python -c "import nltk; nltk.download('punkt')"
101
+ python -c "import nltk; nltk.download('wordnet')"
102
+ python -c "import nltk; nltk.download('averaged_perceptron_tagger')"
103
+ ```
104
+
105
+ ### Office Tool (办公文档处理工具)
106
+
107
+ **系统依赖**:
108
+ - Java 运行时环境 (OpenJDK 11+)
109
+ - Tesseract OCR (可选)
110
+
111
+ **Python包**:
112
+ - tika
113
+ - python-docx
114
+ - python-pptx
115
+ - openpyxl
116
+ - pdfplumber
117
+ - pytesseract
118
+ - PIL
119
+
120
+ **安装命令**:
121
+ ```bash
122
+ # Ubuntu/Debian
123
+ sudo apt-get install openjdk-11-jdk
124
+ sudo apt-get install tesseract-ocr tesseract-ocr-eng
125
+
126
+ # macOS
127
+ brew install openjdk@11
128
+ brew install tesseract
129
+ ```
130
+
131
+ ### Stats Tool (统计分析工具)
132
+
133
+ **系统依赖**:
134
+ - libreadstat (用于SAS/SPSS/Stata文件)
135
+ - Excel处理库
136
+
137
+ **Python包**:
138
+ - pandas
139
+ - numpy
140
+ - scipy
141
+ - scikit-learn
142
+ - statsmodels
143
+ - pyreadstat
144
+ - openpyxl
145
+
146
+ **安装命令**:
147
+ ```bash
148
+ # Ubuntu/Debian
149
+ sudo apt-get install libreadstat-dev
150
+ sudo apt-get install libxml2-dev libxslt1-dev
151
+
152
+ # macOS
153
+ brew install readstat
154
+ brew install libxml2 libxslt
155
+ ```
156
+
157
+ ### Report Tool (报告生成工具)
158
+
159
+ **系统依赖**:
160
+ - WeasyPrint 依赖 (PDF生成)
161
+ - Matplotlib 依赖 (图表生成)
162
+
163
+ **Python包**:
164
+ - jinja2
165
+ - matplotlib
166
+ - weasyprint
167
+ - bleach
168
+ - markdown
169
+ - pandas
170
+ - openpyxl
171
+ - python-docx
172
+ - python-pptx
173
+
174
+ **安装命令**:
175
+ ```bash
176
+ # Ubuntu/Debian
177
+ sudo apt-get install libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libffi-dev shared-mime-info
178
+ sudo apt-get install libfreetype6-dev libpng-dev libjpeg-dev libtiff-dev libwebp-dev
179
+
180
+ # macOS
181
+ brew install cairo pango gdk-pixbuf libffi
182
+ brew install freetype libpng libjpeg libtiff webp
183
+ ```
184
+
185
+ ### Scraper Tool (网页抓取工具)
186
+
187
+ **系统依赖**:
188
+ - Playwright 浏览器二进制文件
189
+ - Playwright 系统依赖
190
+
191
+ **Python包**:
192
+ - playwright
193
+ - scrapy
194
+ - httpx
195
+ - beautifulsoup4
196
+ - lxml
197
+
198
+ **安装命令**:
199
+ ```bash
200
+ # 安装 Playwright 浏览器
201
+ playwright install
202
+
203
+ # 安装系统依赖
204
+ playwright install-deps
205
+ ```
206
+
207
+ ## 安装后自动检查
208
+
209
+ 当您安装 AIECS 时,系统会自动运行依赖检查:
210
+
211
+ ```bash
212
+ pip install aiecs
213
+ ```
214
+
215
+ 安装过程中会显示:
216
+ 1. Weasel 库补丁应用
217
+ 2. NLP 数据下载
218
+ 3. 系统依赖检查
219
+
220
+ ## 故障排除
221
+
222
+ ### 常见问题
223
+
224
+ 1. **Java 未安装**
225
+ ```bash
226
+ # 检查 Java 版本
227
+ java -version
228
+
229
+ # 安装 Java
230
+ sudo apt-get install openjdk-11-jdk # Ubuntu/Debian
231
+ brew install openjdk@11 # macOS
232
+ ```
233
+
234
+ 2. **Tesseract OCR 未安装**
235
+ ```bash
236
+ # 检查 Tesseract
237
+ tesseract --version
238
+
239
+ # 安装 Tesseract
240
+ sudo apt-get install tesseract-ocr tesseract-ocr-eng # Ubuntu/Debian
241
+ brew install tesseract # macOS
242
+ ```
243
+
244
+ 3. **spaCy 模型未下载**
245
+ ```bash
246
+ # 下载 spaCy 模型
247
+ python -m spacy download en_core_web_sm
248
+ python -m spacy download zh_core_web_sm
249
+ ```
250
+
251
+ 4. **Playwright 浏览器未安装**
252
+ ```bash
253
+ # 安装 Playwright 浏览器
254
+ playwright install
255
+ ```
256
+
257
+ ### 手动修复
258
+
259
+ 如果自动修复失败,您可以手动安装缺失的依赖:
260
+
261
+ 1. 运行完整检查:
262
+ ```bash
263
+ aiecs-check-deps
264
+ ```
265
+
266
+ 2. 根据报告中的安装命令手动安装
267
+
268
+ 3. 重新运行检查验证
269
+
270
+ ### 日志文件
271
+
272
+ 依赖检查会生成以下日志文件:
273
+ - `dependency_check.log` - 详细检查日志
274
+ - `dependency_fix.log` - 修复过程日志
275
+ - `dependency_report.txt` - 检查报告
276
+
277
+ ## 开发人员说明
278
+
279
+ ### 添加新的依赖检查
280
+
281
+ 1. 在 `dependency_checker.py` 中添加新的检查函数
282
+ 2. 在相应的工具依赖检查函数中调用
283
+ 3. 更新安装命令映射
284
+
285
+ ### 自定义检查
286
+
287
+ 您可以创建自定义的依赖检查脚本:
288
+
289
+ ```python
290
+ from aiecs.scripts.dependency_checker import DependencyChecker
291
+
292
+ checker = DependencyChecker()
293
+ tools = checker.check_all_dependencies()
294
+ report = checker.generate_report(tools)
295
+ print(report)
296
+ ```
297
+
298
+ ## 支持
299
+
300
+ 如果您遇到依赖问题,请:
301
+
302
+ 1. 运行 `aiecs-check-deps` 获取详细报告
303
+ 2. 查看生成的日志文件
304
+ 3. 尝试使用 `aiecs-fix-deps` 自动修复
305
+ 4. 如果问题仍然存在,请提交 issue 到项目仓库
306
+
307
+
308
+
309
+
310
+
@@ -0,0 +1,17 @@
1
+ """
2
+ 依赖检查和修复工具
3
+
4
+ 提供 AIECS 系统依赖的检查、修复和 NLP 数据下载功能。
5
+ """
6
+
7
+ from .dependency_checker import main as dependency_checker_main
8
+ from .dependency_fixer import main as dependency_fixer_main
9
+ from .quick_dependency_check import main as quick_dependency_check_main
10
+ from .download_nlp_data import main as download_nlp_data_main
11
+
12
+ __all__ = [
13
+ "dependency_checker_main",
14
+ "dependency_fixer_main",
15
+ "quick_dependency_check_main",
16
+ "download_nlp_data_main",
17
+ ]