# 知识图谱问答 **Repository Path**: hsoft-ai/kg-llm-answer ## Basic Information - **Project Name**: 知识图谱问答 - **Description**: 基于大模型的mysql的结构化关系知识图谱问答 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-11-10 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: 知识图谱问答, 大模型, 自然语言, MySQL ## README # 资源关系智能问答系统 一个基于自然语言处理的智能问答系统,能够理解和回答关于资源关系网络的问题。 ## 项目结构 ``` YTHYW/ ├── .dockerignore # Docker忽略文件 ├── .env # 环境配置文件 ├── .env.new # 环境配置模板文件 ├── .idea\ # IDE配置文件 ├── DOCKER_DEPLOYMENT.md # Docker部署说明文档 ├── Dockerfile # Docker镜像构建文件 ├── README.md # 项目说明文档 ├── README_UPDATED.md # 更新后的项目说明文档 ├── backend\ # 后端代码 │ ├── __pycache__\ # Python缓存文件 │ ├── app.py # Flask主应用 │ ├── data_processor.py # 原始数据处理器 │ ├── db_config.py # 数据库配置 │ ├── dependency_analyzer.py # 依赖分析器 │ ├── llm_wrapper.py # 大语言模型包装器 │ ├── models.py # 数据库模型 │ ├── nlp_processor.py # NLP处理器 │ ├── optimized_data_processor.py # 优化后的数据处理器 │ ├── query_processor.py # 查询处理器 ├── build-docker.bat # Windows Docker构建脚本 ├── build-docker.sh # Linux/Mac Docker构建脚本 ├── docker-compose.yml # Docker Compose配置文件 ├── docs\ # 项目文档 ├── frontend\ # 前端代码 │ ├── static\ # 静态资源 │ │ ├── app.js # 主要JavaScript文件 │ │ └── styles.css # 样式文件 │ └── templates\ # HTML模板 │ └── index.html # 主页模板 ├── install_and_run.py # 安装并运行脚本 ├── knowledge_graph.db # 知识图谱数据库 ├── requirements.txt # 项目依赖 ├── simple_run.py # 简化运行脚本 ├── start_app.py # 应用启动脚本 ├── automated_tests.py # 完整自动化测试脚本 ├── simple_tests.py # 简化版测试脚本 └── final_validation_test.py # 最新功能验证测试脚本 ``` 详细项目结构请参考 [docs/project_structure.md](docs/project_structure.md) ## 技术栈 - **后端**:Python Flask, SQLAlchemy - **前端**:HTML, CSS (Tailwind CSS), JavaScript, D3.js, Chart.js - **数据库**:MySQL - **AI模型**:通义千问API - **向量存储**:FAISS - **依赖管理**:pip ## 最新改进 ### 统一前后端资源管理 为了优化项目结构和便于维护,我们对项目进行了重要重构: 1. **统一资源管理**: - 移除了后端目录下的静态资源和模板文件 - 后端Flask应用现在直接使用frontend目录下的资源 - 简化了文件结构,避免重复文件 2. **折叠面板功能**: - 在查询结果中添加了可折叠的"相关知识"面板 - 默认状态下面板是收缩的,用户可以点击标题展开查看 - 提升了页面的空间利用率和用户体验 3. **优化的数据处理器**: - 实现了 `OptimizedDataProcessor` 类,继承自原始数据处理器 - 增强了对包含关系等特定查询模式的支持 ### 包含关系查询优化 在最新版本中,我们对系统进行了重要优化,专门改进了对包含关系查询的处理能力: 1. **专门的包含关系处理机制**: - 新增 `find_containment_resources()` 方法专门处理包含关系查询 - 在 `build_context_for_qa()` 方法中增加包含关系查询检测逻辑 - 创建 `_build_containment_context()` 方法专门构建包含关系上下文文档 2. **主应用集成**: - 更新主应用文件以使用优化后的数据处理器 - 保持与现有API接口的兼容性 ## 安装和运行 ### 方式一:传统方式部署 1. 安装依赖: ```bash pip install -r requirements.txt ``` 2. 配置环境: 编辑 `.env` 文件,设置数据库连接信息和通义千问API密钥 3. 启动应用: ```bash python start_app.py ``` 4. 访问应用: 打开浏览器访问 `http://localhost:5000` ### 方式二:Docker部署(推荐) 本项目支持使用Docker进行部署,提供了更简单的部署方式和环境隔离。 1. 确保已安装Docker 2. 构建镜像并启动镜像服务: ```bash docker build -t ythyw-app:latest . docker run -p 5000:5000 ythyw-app:latest ``` 3. 访问应用: 打开浏览器访问 `http://localhost:5000` 4. 查看服务状态: ```bash docker ps ``` 5. 查看日志: ```bash docker logs -f ``` 详细Docker部署说明请参考 [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md) ## 测试 ### 简化版测试(推荐) ```bash python simple_tests.py ``` 此测试不依赖外部数据库连接,仅验证应用基本功能。 ### 完整测试 ```bash python automated_tests.py ``` 此测试包含所有功能测试,需要数据库连接正常。 ### 最新功能验证测试 ```bash python final_validation_test.py ``` 此测试专门验证包含关系查询等最新功能的正确性。 ## 注意事项 1. 确保您已在 `.env` 文件中正确配置通义千问API密钥和数据库连接信息 2. 首次使用时,建议先运行启动脚本安装依赖 3. 系统需要连接到已配置好表结构的MySQL数据库 4. 如需修改端口或其他配置,请修改 `.env` 文件中的相关设置 5. 使用Docker部署时,数据库配置和API密钥可以在docker-compose.yml文件中修改 ## 项目优化 本项目已进行结构优化,详情请参考 [docs/project_optimization_report.md](docs/project_optimization_report.md) ## License 本项目采用Apache 2.0许可证。 ## 联系方式 如有问题或建议,请联系项目维护者。 微信:15776481145