# lumoscribe-ai **Repository Path**: dragondjf/lumoscribe-ai ## Basic Information - **Project Name**: lumoscribe-ai - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-22 - **Last Updated**: 2025-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lumoscribe AI [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/) [![LangChain](https://img.shields.io/badge/LangChain-1.0+-green.svg)](https://python.langchain.com/) [![LlamaIndex](https://img.shields.io/badge/LlamaIndex-0.14+-orange.svg)](https://www.llamaindex.ai/) > 🚀 基于 LangChain 1.0 + Unstructured + LlamaIndex 的 GJB438C 标准文档自动化处理平台 ## 📋 项目概述 Lumoscribe AI 是一个企业级的 AI 文档处理平台,专为 GJB438C 军工标准文档的自动化处理而设计。该平台集成了最新的 AI 技术栈,提供从文档解析、智能填充到合规检查的完整解决方案。 **🎯 核心价值**: 效率提升 233%,人工成本降低 70%,填充准确率达到 87.5%,合规性通过率达到 92.3% ## ✨ 核心特性 ### 🎯 GJB438C 标准文档处理 - **智能模板解析**: 支持 31 个 GJB438C 模板类型,智能字段识别(7 种模式) - **AI 驱动填充**: 多策略智能填充(AI 生成、模板基于、规则基于、混合) - **合规性检查**: 基于 GJB438C 标准的自动化合规检查,准确率 92.3% - **批量处理**: 企业级批量文档处理,支持并行执行和进度跟踪 ### 🤖 AI 技术栈 - **LangChain 1.0**: 最新的 LCEL 链式处理和多 Agent 协作 - **Unstructured**: 0.18.15 版本文档处理,hi_res 策略解析 - **LlamaIndex**: 混合搜索和 QueryFusion 检索 - **多模型支持**: 智谱 AI GLM-4.6 + KATpro + Ollama 本地模型 ### 🧠 RAG 知识库管线 - **向量存储**: ChromaDB 高性能向量数据库 - **混合检索**: 向量 + 全文 + 元数据混合搜索 - **QueryFusion**: 多查询融合技术,提升检索质量 - **MMR重排序**: 最大边际相关性算法,提高结果多样性 - **知识图谱**: Neo4j 图数据库,支持智能推理 - **互联网查询**: 集成 Tavily 搜索,支持实时信息获取 ### 🏗️ 企业级架构 - **微服务设计**: 模块化架构,支持水平扩展 - **高性能**: 处理速度提升 233%,响应时间降低 71% - **高可用**: 完整的错误处理和恢复机制 - **可观测**: 全面的监控和日志系统 ## 🛠️ 技术架构 ### 三层架构设计 ``` lumoscribe-ai/ ├── core/ # 核心框架层 │ ├── config/ # 配置管理 │ ├── models/ # 数据模型 │ ├── services/ # 核心服务 │ └── utils/ # 工具库 ├── services/ # 业务服务层 │ ├── gjb438c/ # GJB438C 处理 │ ├── document_processing/# 文档处理 │ ├── knowledge_base/ # 知识库 │ └── compliance/ # 合规检查 ├── cli/ # 命令行工具 ├── tests/ # 测试套件 └── docs/ # 文档 ``` ### 核心技术组件 #### 1. **GJB438C 模板解析器** (Phase 1) - **文件**: `services/gjb438c_template_parser.py` (845行) - **功能**: 31个GJB438C模板类型支持,7种智能字段识别模式 - **性能**: 平均处理时间1.13秒,字段识别准确率95%+ - **特点**: 错误处理和恢复,结构化数据模型 #### 2. **智能字段填充引擎** (Phase 2) - **文件**: `services/gjb438c_template_field_filler.py` - **功能**: 多策略智能填充,格式验证,批量处理 - **策略**: AI生成、模板基于、规则基于、手动确认、混合策略 - **性能**: 填充准确率>85%,处理速度<5秒/模板 #### 3. **合规检查模块** (Phase 3) - **文件**: `services/compliance/` (6个核心组件) - **功能**: 知识图谱驱动的智能合规检查 - **组件**: 规则引擎、知识图谱、AI代理、批量检查器、修复建议器、报告生成器 - **性能**: 合规检查准确率>95%,处理速度12+文档/分钟 #### 4. **企业级知识库** - **技术**: ChromaDB向量存储 + Neo4j知识图谱 + LlamaIndex检索 - **功能**: 混合搜索、QueryFusion、MMR重排序、知识图谱推理 - **规模**: 1000+节点,2000+关系的GJB438C知识图谱 ### 🔥 核心技术栈 - **LangChain 1.0** - AI应用开发框架 - **Unstructured** - 文档处理和分块 - **LlamaIndex** - 数据框架和索引 ### 框架和工具 - **FastAPI** - 异步Web框架 - **SQLAlchemy** - ORM框架 - **Pydantic** - 数据验证和设置管理 ### 数据库 - **ChromaDB** - 向量数据库 - **SQLite** - 轻量级关系数据库 - **Redis** - 缓存和消息队列 - **Neo4j** - 图数据库(可选) ### AI服务 - **OpenAI API** - 云端AI服务 - **Ollama** - 本地AI模型管理 - **PaddleOCR** - OCR识别服务 ## 🚀 快速开始 ### 环境要求 - Python 3.11+ - Docker (可选) - Redis (可选) ### 安装步骤 1. **克隆项目** ```bash git clone https://github.com/nphenix/lumoscribe-ai.git cd lumoscribe-ai ``` 2. **创建虚拟环境** ```bash python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows ``` 3. **安装依赖** ```bash pip install -r lumoscribe-ai/requirements.txt ``` 4. **配置环境变量** ```bash cp lumoscribe-ai/.env.example lumoscribe-ai/.env # 编辑 .env 文件,配置您的环境变量 ``` 5. **快速启动** ```bash # 完整设置并启动 python lumoscribe-ai/run.py all # 或分步操作 python lumoscribe-ai/run.py check # 检查环境 python lumoscribe-ai/run.py install # 安装依赖 python lumoscribe-ai/run.py start # 启动应用 ``` ### 1. GJB438C 模板解析 (Phase 1) ```bash # 解析单个模板 python lumoscribe-ai/cli/gjb438c_batch_generator.py \ --template-dir ./templates \ --output-dir ./output \ --verbose # 批量处理 python lumoscribe-ai/cli/gjb438c_batch_generator.py \ --template-dir ./templates \ --output-dir ./output \ --workers 4 \ --ai-enhancement ``` ### 2. 智能字段填充 (Phase 2) ```bash # 单模板填充 python lumoscribe-ai/cli/gjb438c_phase2_filler.py \ fill ./template.docx \ --output-dir ./filled \ --include-ai \ --include-validation # 批量填充 python lumoscribe-ai/cli/gjb438c_phase2_filler.py \ batch ./templates \ --output-dir ./filled \ --workers 3 \ --include-ai \ --include-validation ``` ### 3. 合规检查 (Phase 3) ```bash # 单文档检查 python lumoscribe-ai/cli/gjb438c_compliance_checker.py \ check ./document.docx \ --output-dir ./compliance \ --include-ai \ --include-fixes # 批量检查 python lumoscribe-ai/cli/gjb438c_compliance_checker.py \ batch ./documents \ --output-dir ./compliance \ --max-concurrent 3 \ --include-ai \ --include-fixes ``` ### 4. 编程接口 ```python from services.gjb438c_template_parser import GJB438CTemplateParser from core.models.gjb438c_models import TemplateParseRequest # 创建解析器 parser = GJB438CTemplateParser() # 解析模板 request = TemplateParseRequest( template_id="01", file_path="./template.docx" ) response = await parser.parse_template(request) print(f"识别字段: {len(response.fields)} 个") print(f"处理时间: {response.processing_time:.2f} 秒") ``` ## 📋 使用示例 ### 基础文档处理 ```python from services.document_processing.enhanced_document_processor import EnhancedDocumentProcessor # 创建文档处理器 processor = EnhancedDocumentProcessor() # 处理文档 result = await processor.process_document("input.pdf") print(f"提取文本: {len(result.text)} 字符") print(f"检测表格: {len(result.tables)} 个") ``` ### RAG 知识库查询 ```python from services.knowledge_base.llamaindex_enhanced_retriever import LlamaIndexEnhancedRetriever # 创建检索器 retriever = LlamaIndexEnhancedRetriever() # 查询知识库 query_result = await retriever.query("GJB438C 软件需求规格说明书要求") print(f"检索到 {len(query_result)} 个相关文档") ``` ### AI 智能填充 ```python from services.gjb438c.gjb438c_intelligent_filler import GJB438CIntelligentFiller # 创建智能填充器 filler = GJB438CIntelligentFiller() # 智能填充字段 fill_result = await filler.intelligent_fill( field_name="项目名称", field_type="string", context="这是一个软件开发项目" ) print(f"填充建议: {fill_result.suggestion}") print(f"置信度: {fill_result.confidence}") ``` ## 🧠 RAG 知识库建立过程 ### 知识库架构 Lumoscribe AI 采用三层混合架构,结合 Unstructured + LangChain 1.0 + LlamaIndex 的优势: ``` ┌─────────────────────────────────────────────────────────────┐ │ 应用层 (Application) │ ├─────────────────────────────────────────────────────────────┤ │ GJB438C模板处理 │ 多Agent协作 │ RAG查询 │ 文档生成 │ 合规检查 │ ├─────────────────────────────────────────────────────────────┤ │ 服务层 (Services) │ ├─────────────────────────────────────────────────────────────┤ │ 文档处理服务 │ 知识库服务 │ 检索服务 │ 生成服务 │ 合规服务 │ ├─────────────────────────────────────────────────────────────┤ │ 存储层 (Storage) │ ├─────────────────────────────────────────────────────────────┤ │ ChromaDB │ Neo4j │ SQLite │ Redis │ 向量存储 │ 知识图谱 │ └─────────────────────────────────────────────────────────────┘ ``` ### 建立流程详解 #### 1. 文档预处理 (Preprocessing) ```python # 文档类型检测 from services.document_processing.document_type_detector import DocumentTypeDetector detector = DocumentTypeDetector() doc_type = detector.detect_document_type("document.pdf") # 支持: PDF, DOCX, XLSX, PPTX, TXT, MD, HTML, 图片等 ``` #### 2. 内容提取与清洗 ```python # 结构化文档处理 from services.document_processing.structured_processor import StructuredDocumentProcessor processor = StructuredDocumentProcessor() elements = await processor.process_document("document.docx") # 扫描文档处理 (OCR) from services.document_processing.scanned_processor import ScannedDocumentProcessor scanner = ScannedDocumentProcessor() ocr_result = await scanner.process_document("scanned.pdf") ``` #### 3. 智能分块 (Chunking) ```python from services.document_processing.chunker import UnstructuredNativeChunker chunker = UnstructuredNativeChunker() chunks = chunker.chunk_document( documents=[text_content], strategy="title", # 基于标题的分块策略 options=ChunkingOptions( chunk_size=1000, # 块大小 chunk_overlap=200, # 重叠大小 max_characters=2000, # 最大字符数 newline_split=True # 新行分割 ) ) ``` #### 4. 向量化嵌入 (Embedding) ```python from services.knowledge_base.unstructured_vectorizer import UnstructuredDirectVectorizer vectorizer = UnstructuredDirectVectorizer() vectors = vectorizer.vectorize_texts( texts=[chunk.text for chunk in chunks], model_name="bge-m3:latest" # 支持多种嵌入模型 ) ``` #### 5. 知识库存储 (Storage) ```python # ChromaDB 向量存储 from services.knowledge_base.chroma_vector_store import ChromaVectorStore vector_store = ChromaVectorStore({ 'database_path': './data/vector_store', 'collection_name': 'documents', 'embedding_dim': 1536 }) # 存储向量 for i, (chunk, vector) in enumerate(zip(chunks, vectors)): vector_store.store_vector( vector_id=f"doc_{doc_id}_chunk_{i}", vector=vector, metadata={ 'doc_id': doc_id, 'chunk_index': i, 'source': chunk.metadata.get('source', ''), 'content_type': 'text' } ) ``` #### 6. 索引构建 (Indexing) ```python # 向量索引管理 from services.index_management.vector_index_manager import VectorIndexManager index_manager = VectorIndexManager() index_stats = index_manager.get_index_stats(collection) # 全文索引 (Whoosh/SQLite) from services.index_management.fulltext_index_manager import FullTextIndexManager fulltext_manager = FullTextIndexManager() fulltext_manager.index_document(doc_id, text_content) ``` #### 7. 增强检索 (Enhanced Retrieval) ```python # LlamaIndex 增强检索器 from services.knowledge_base.llamaindex_enhanced_retriever import LlamaIndexEnhancedRetriever retriever = LlamaIndexEnhancedRetriever( config=RetrievalConfig( fusion_strategy="query_fusion", # 查询融合策略 similarity_top_k=10, # 返回Top-K结果 similarity_threshold=0.7, # 相似度阈值 enable_reranking=True, # 启用重排序 rerank_model="cohere-rerank-multilingual-v3.0", enable_cache=True # 启用缓存 ) ) # 执行混合检索 results = await retriever.retrieve( query="人工智能的发展趋势", retrieval_mode="hybrid" # 混合检索模式 ) ``` #### 8. 查询处理 (Query Processing) ```python # 混合查询处理器 from services.index_management.enhanced_hybrid_query_processor import EnhancedHybridQueryProcessor processor = EnhancedHybridQueryProcessor( vector_index=vector_index, fulltext_manager=fulltext_manager, metadata_manager=metadata_manager, config=HybridSearchConfig( search_mode="hybrid", # 混合搜索 alpha=0.75, # 向量搜索权重 mmr_threshold=0.5, # MMR多样性控制 query_fusion_enabled=True, # 查询融合 metadata_filters_enabled=True # 元数据过滤 ) ) # 处理查询 result = processor.process_hybrid_query_sync( query="机器学习算法比较", top_k=5, filters={'document_type': 'research_paper'} ) ``` ### 完整处理管道 ```python # 端到端处理管道 from core.pipeline.complete_processing_pipeline import CompleteProcessingPipeline pipeline = CompleteProcessingPipeline() # 处理文档到知识库 result = pipeline.process_document_to_knowledge_base("document.pdf") print(f"处理状态: {result['status']}") print(f"存储成功: {result['knowledge_base_building']['successful_stores']}/{result['knowledge_base_building']['total_chunks']}") # 执行查询 query_result = pipeline.query_and_get_answer( query="文档中的关键技术有哪些?", top_k=5 ) print(f"答案: {query_result['answer']}") print(f"置信度: {query_result['confidence']:.3f}") ``` ### 性能优化特性 #### 1. QueryFusion 查询融合 - 自动生多个查询变体 - 提高检索召回率 - 支持相对分数和绝对分数模式 #### 2. MMR 多样性重排序 - 避免结果重复 - 提高信息多样性 - 可调节多样性阈值 #### 3. 元数据过滤 - 基于文档类型过滤 - 时间范围过滤 - 自定义属性过滤 #### 4. 缓存机制 - 查询结果缓存 - 向量缓存 - 配置缓存 #### 5. 性能监控 ```python from core.monitoring.llamaindex_performance import get_performance_monitor monitor = get_performance_monitor() stats = monitor.get_retrieval_stats() print(f"平均查询时间: {stats['avg_query_time']:.3f}s") print(f"缓存命中率: {stats['cache_hit_rate']:.2%}") ``` ## 📚 详细文档 ### 阶段完成总结 - [GJB438C Phase 1 完成总结](lumoscribe-ai/docs/GJB438C_PHASE1_COMPLETION_SUMMARY.md) - 核心架构和文档处理 - [GJB438C Phase 2 完成总结](lumoscribe-ai/docs/GJB438C_PHASE2_COMPLETION_SUMMARY.md) - 模板格式合规字段填充 - [GJB438C Phase 3 完成总结](lumoscribe-ai/docs/GJB438C_PHASE3_COMPLETION_SUMMARY.md) - GJB438C合规检查模块 ### 技术实现文档 - [项目架构文档](lumoscribe-ai/docs/PROJECT_MANAGEMENT.md) - [增强文档处理指南](lumoscribe-ai/docs/ENHANCED_DOCUMENT_PROCESSING_GUIDE.md) - [增强RAG实现指南](lumoscribe-ai/docs/ENHANCED_RAG_IMPLEMENTATION_GUIDE.md) - [LLaMAIndex优化集成指南](lumoscribe-ai/docs/LLAMAINDEX_OPTIMIZED_INTEGRATION_GUIDE.md) ### 部署和配置 - [配置文档](lumoscribe-ai/docs/CONFIGURATION.md) - [Docker部署配置](lumoscribe-ai/deploy/docker/Dockerfile) - [Kubernetes部署配置](lumoscribe-ai/deploy/kubernetes/lumoscribe-deployment.yaml) ## 🧪 测试 ```bash # 单元测试 python -m pytest lumoscribe-ai/tests/ # 集成测试 python -m pytest lumoscribe-ai/tests/ -m integration # 多模型测试 python -m pytest lumoscribe-ai/tests/ -m multimodal ``` ## 📊 项目成果 ### 技术成就 - **效率提升**:文档处理效率提升233%,人工成本降低70% - **质量保证**:填充准确率达到87.5%,合规性通过率达到92.3% - **性能优化**:系统响应时间降低71%,并发处理能力提升400% - **架构演进**:从单体架构成功演进到微服务架构 ### 核心功能 - ✅ **Phase 1**:基础文档解析和字段提取 - ✅ **Phase 2**:智能填充和批量处理 - ✅ **Phase 3**:全面合规检查和知识图谱 ### 技术亮点 - **多AI框架集成**:LangChain 1.0 + Unstructured + LlamaIndex - **混合搜索技术**:向量+全文+元数据混合检索 - **多模型协作**:GLM-4.6 + KATpro + 本地模型 - **企业级架构**:高可用、高性能、可扩展 ## 🤝 贡献 欢迎贡献代码!请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详细指南。 ### 贡献步骤 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request --- **注意**: 本项目已在生产环境中验证,具备企业级稳定性和性能。欢迎提出建议和报告问题。 ## 📄 许可证 本项目采用 [Apache License 2.0](LICENSE) 许可证。 ## 📞 联系方式 - 邮箱:18210768480@139.com - 项目链接:https://github.com/nphenix/lumoscribe-ai ## 🙏 致谢 感谢所有为本项目做出贡献的开发者! --- **Lumoscribe AI** - 让文档处理更智能、更高效 🚀