# langChainGraph **Repository Path**: code-me/langChainGraph ## Basic Information - **Project Name**: langChainGraph - **Description**: 使用langChainGraph fastapi fastmcp apscheduler搭建包含权限认证、分组管理、AI工作编排、mcp服务管理、飞书集成、任务管理、通用数据库表查询、工单系统等功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-08-25 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 测试 项目包含完整的测试体系: ```bash # 运行所有测试 pytest # 运行特定测试 pytest tests/test_knowledge_base.py ``` ## 性能优化 1. **缓存机制**: 多层缓存架构,包括内存缓存、Redis 缓存和文件缓存 2. **异步处理**: 关键操作异步化,提升系统响应速度 3. **连接池**: 数据库和 Redis 连接池管理,减少连接开销 4. **索引优化**: 合理的数据库索引设计,提升查询性能 ## 文档结构 项目文档已经整理到 [docs](./docs) 目录中,按照以下结构组织: - [docs/](./docs) - 文档根目录和索引 - [components/](./docs/components) - 核心组件文档 - [modules/](./docs/modules) - 功能模块文档 - [api/](./docs/api) - API 接口文档 - [guides/](./docs/guides) - 开发和使用指南 详细的文档结构请参考 [docs/README.md](./docs/README.md). # LangChainGraph 智能研究助理系统

Python Version FastAPI LangChain License

## 项目概述 LangChainGraph 是一个集成了 LangChain、Neo4j 和 FastAPI 的 AI 研究助手项目,提供强大的自然语言查询、知识图谱构建、知识库服务和智能分析功能。 ## 🌟 核心特性 ### 🔍 多代理研究助理 - **协调员代理**: 负责整体任务规划和协调 - **搜索专家代理**: 专门负责信息检索和数据收集 - **分析专家代理**: 对收集的数据进行深度分析 - **质量保证代理**: 确保输出质量和准确性 - **写作专家代理**: 负责最终结果的格式化和呈现 ### 📋 工单管理系统 完整的工单生命周期管理,包括创建、分配、处理和关闭。 ### 📚 知识库服务 提供结构化知识条目的完整管理功能,支持富文本内容、元数据存储和版本控制,实现知识的沉淀和复用。 ### 👥 群组管理 灵活的群组管理功能,支持成员管理和权限控制。 ### ⏰ 定时任务 强大的定时任务调度和执行能力。 ### 📞 飞书集成 与飞书平台深度集成,支持消息推送和机器人交互。 ### 🗄️ 通用数据库查询 支持多种数据库的通用查询和管理。 ### 🧠 知识图谱 构建和管理知识图谱,支持语义搜索和知识推理。 ### 📞 语音电话 提供语音通信和语音识别功能。 ### 📁 项目管理 完整的项目管理功能,支持项目全生命周期管理。 ### ⚡ 性能优化 - **多级缓存系统**: 内存、文件和Redis三级缓存架构 - **异步处理**: 异步I/O操作和工作流池并发处理 - **智能语义缓存**: 基于嵌入向量的语义相似度匹配 ### 🤝 实时协作 - **协同编辑**: 基于Operational Transformation(OT)算法的实时协同编辑 - **文档版本控制**: 完整的文档版本历史和回滚功能 - **冲突解决**: 智能冲突检测和解决机制 - **实时状态跟踪**: 实时光标位置和用户状态显示 ## 详细文档 | 文档 | 描述 | |------|------| | [服务网关](README.md) | 项目主文档(当前文档) | | [知识图谱](README_KNOWLEDGE_GRAPH.md) | 知识图谱功能详细说明 | | [知识库](README_KNOWLEDGE_BASE.md) | 知识库服务详细说明 | | [通用查询](README_GENERIC_QUERY.md) | 通用数据库查询功能说明 | | [工单系统](README_TICKET_SYSTEM.md) | 工单系统功能说明 | | [用户分组](README_GROUPS.md) | 用户分组功能说明 | | [多模型管理](README_MULTI_MODEL.md) | 多模型管理系统说明 | | [多模态处理](README_MULTIMODAL.md) | 多模态处理功能说明 | | [联邦学习](README_FEDERATED_LEARNING.md) | 联邦学习框架说明 | | [飞书集成](README_FEISHU.md) | 飞书集成功能说明 | | [MCP 集成](README_MCP.md) | 模型控制平面集成说明 | ## 核心组件 ### 1. 服务网关 服务网关是系统的统一入口,支持通过自然语言与系统交互。用户可以使用自然语言查询知识图谱、执行数据库操作、管理工作流和操作知识库等。 ### 3. 知识库 知识库服务提供结构化知识条目的完整管理功能,包括创建、检索、更新、删除和版本控制,支持富文本内容和元数据存储。 ### 2. 知识图谱 知识图谱功能基于 Neo4j 图数据库和 Sentence Transformers 嵌入模型,提供实体关系提取、语义搜索和混合搜索能力。 ### 3. 知识库 知识库服务提供结构化知识条目的完整管理功能,包括创建、检索、更新、删除和版本控制,支持富文本内容和元数据存储。 ### 4. 通用查询 通用查询服务允许用户使用自然语言查询数据库,系统会自动解析查询意图并生成相应的 SQL 语句。 ### 5. 工作流编排 工作流系统支持复杂任务的自动化执行,包括研究任务、分析任务、报告生成等。 ### 6. 多模型管理 多模型管理系统集成了多种 AI 模型和提供商,支持智能模型选择和动态切换。 ### 多模型管理架构 1. **模型集成**: - 云端API模型(如OpenAI) - 本地模型(通过Ollama支持CodeLlama、LLaVA、Whisper等) 2. **模型管理器**: - 单例模式确保全局唯一实例 - 支持CHAT、CODE_GENERATION、IMAGE_RECOGNITION、SPEECH_RECOGNITION等模型类型 - 提供获取、添加、移除、列出模型等基础管理功能 3. **智能模型选择**: - 根据任务类型自动选择最适合的模型 - 基于性能指标的动态模型选择策略 - 模型选择结果缓存优化 4. **性能监控**: - 集成Prometheus监控关键指标 - 模型调用计数、响应时间、准确率、错误率等监控 - 模型选择时间及计数监控 ### 个性化推荐系统架构 1. **用户画像构建**: - 收集和分析用户基本信息 - 跟踪和建模用户行为特征 - 构建动态更新的用户画像系统 2. **推荐引擎**: - 基于内容的推荐算法 - 协同过滤推荐算法 - 混合推荐算法实现 - 实时推荐和离线推荐支持 3. **特征工程**: - 用户行为特征提取 - 内容特征向量化 - 实时特征计算和缓存 4. **评估体系**: - 在线评估(CTR、转化率等) - 离线评估(准确率、召回率等) - A/B测试支持 ## 快速开始 ### 环境要求 - Python 3.10+ - pip 包管理器 ### 安装依赖 ```bash pip install -r requirements.txt # 语音功能额外依赖 pip install -r requirements_voice.txt ``` 4. 配置环境变量 ```bash cp .env.example .env # 编辑 .env 文件配置数据库和其他设置 ``` 5. 初始化数据库 ```bash alembic upgrade head ``` ### 配置环境 1. 复制 `.env.example` 到 `.env` 2. 根据需要配置环境变量 ### 运行项目 ```bash # 本地开发 python run.py # 多代理研究助理 python run_multi_agent.py # 流式多代理研究助理 python run_streaming_multi_agent.py ``` ### Docker 部署 ```bash docker-compose up -d ``` ## 📚 API 文档 系统提供完整的 OpenAPI 文档: - API 文档: `http://localhost:8000/docs` - ReDoc 文档: `http://localhost:8000/redoc` ## 🛠️ 配置说明 主要配置项: - 数据库连接 - Redis连接(可选) - JWT密钥 - 飞书集成配置 - Prometheus监控配置 - Grafana配置 - Jaeger分布式追踪配置 - 其他服务相关配置 详细配置说明请参考 `.env.example` 文件。 ## 功能特性 ### 核心功能 - **自然语言交互**: 通过服务网关实现自然语言与系统交互 - **知识图谱**: 构建和查询结构化知识图谱 - **知识库服务**: 结构化知识条目的完整管理功能 - **语义搜索**: 基于向量嵌入的智能语义搜索 - **通用数据库查询**: 支持自然语言数据库查询 - **工作流编排**: 复杂任务的自动化执行 - **多模型支持**: 集成多种 AI 模型和提供商 - **提示词工程**: 完整的提示词工程工作流及增强功能 - **个性化推荐**: 基于用户画像和行为的个性化内容推荐 ### 增强功能 - **多模态处理**: 支持图像和表格内容的处理 - **联邦学习**: 分布式模型训练和聚合 - **飞书集成**: 与飞书协作平台集成 - **实时协作**: 多用户实时协同编辑 - **智能缓存**: 多层缓存机制提升性能 - **监控告警**: 全面的系统监控和告警 ## 技术架构 ``` graph TD A[用户接口] --> B[服务网关] B --> C[路由分发] C --> D[知识图谱服务] C --> E[知识库服务] C --> F[通用查询服务] C --> G[工单系统] C --> H[用户分组服务] C --> I[多模型管理] C --> J[工作流编排] C --> K[提示词工程服务] C --> L[推荐系统服务] D --> M[(Neo4j数据库)] D --> N[(FAISS向量索引)] E --> O[(知识库数据库)] E --> P[(Redis缓存)] F --> Q[(业务数据库)] G --> R[(工单数据库)] H --> S[(用户数据库)] J --> T[(工作流数据库)] K --> U[(提示词模板数据库)] L --> V[(用户画像数据库)] L --> W[(行为日志数据库)] X[监控系统] --> B Y[缓存系统] --> B ``` ## 配置管理 系统通过 `.env` 文件进行配置管理,主要配置项包括: - 数据库连接配置 - JWT 认证配置 - CORS 跨域配置 - Redis 缓存配置 - 模型提供商配置 - 飞书集成配置 - MCP 服务器配置 完整文档请参考:[监控告警系统文档](docs/troubleshotting/监控告警系统.md) ## 🔒 安全特性 - JWT 认证和授权 - 角色权限控制 - 输入验证和清理 - 安全头设置 - 速率限制 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request 来改进项目。 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建 Pull Request ## 开发指南 ### 项目结构 ``` langgraph_project/ ├── src/ # 源代码目录 │ ├── config/ # 配置模块 │ ├── models/ # 数据模型 │ ├── routes/ # API 路由 │ ├── services/ # 业务服务 │ ├── utils/ # 工具函数 │ └── containers.py # 依赖注入容器 ├── data/ # 数据目录 ├── cache/ # 缓存目录 ├── tests/ # 测试目录 ├── docs/ # 文档目录 └── examples/ # 示例目录 ``` ### 依赖注入 项目使用 `dependency-injector` 实现依赖注入,所有服务通过容器进行管理,确保服务的单例模式和依赖关系正确配置。 ### 错误处理 系统采用统一的错误处理机制,所有服务异常都会被转换为标准的 HTTP 错误响应。 ## 许可证 MIT License