# software_process **Repository Path**: zcxsythenew/software_process ## Basic Information - **Project Name**: software_process - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-07 - **Last Updated**: 2026-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Django Simple QA 一个基于关键词匹配的简单智能问答系统 Django App。 ## ✨ 特性 - 📚 **知识库管理**:基于 JSON 的知识库,支持15-20个预设问答对 - 🔍 **智能匹配**:关键词提取与倒排索引,加权交集匹配算法 - 💬 **交互界面**:命令行交互式问答,支持多轮对话和历史记录 - 🌐 **REST API**:提供完整的 HTTP API 接口(Django REST Framework) - 🎯 **高准确率**:基于集合运算的精确匹配,置信度评分 ## 📦 安装 ```bash pip install django-simple-qa ``` 或从源码安装: ```bash git clone https://github.com/yourusername/django-simple-qa.git cd django-simple-qa pip install -e . ``` ## 🚀 快速开始 ### 1. 添加到 Django 项目 在 `settings.py` 中注册 app: ```python INSTALLED_APPS = [ ... 'simple_qa', ] ``` ### 2. 配置 URL 路由 在项目的 `urls.py` 中添加: ```python from django.urls import path, include urlpatterns = [ ... path('api/simple-qa/', include('simple_qa.urls')), ] ``` ### 3. 使用 REST API **提问接口**: ```bash curl -X POST http://localhost:8000/api/simple-qa/ask/ \ -H "Content-Type: application/json" \ -d '{"question": "什么是人工智能?"}' ``` **响应示例**: ```json { "success": true, "data": { "answer": "人工智能(AI)是计算机科学的一个分支...", "matched_question": "什么是人工智能?", "confidence": 0.15, "timestamp": "2026-06-07T14:30:00" } } ``` **获取历史记录**: ```bash curl http://localhost:8000/api/simple-qa/history/ ``` ### 4. 命令行模式 直接在 Python 中运行: ```python from simple_qa.cli import run_interactive_mode run_interactive_mode() ``` 或在终端执行: ```bash python -m simple_qa.cli ``` **交互示例**: ``` ============================================================ 欢迎使用 AI 基础知识问答系统 ============================================================ ✅ 知识库加载成功,共 18 个问答对 💡 提示:输入 '退出' 或 'exit' 结束对话 ------------------------------------------------------------ 请输入您的问题: 什么是人工智能? 📝 问题 1: 什么是人工智能? 💬 答案: 人工智能(AI)是计算机科学的一个分支... 🔍 匹配问题: 什么是人工智能? 📊 置信度: 15.00% ------------------------------------------------------------ 请输入您的问题: 退出 再见!感谢使用智能问答系统。 ``` ## 🏗️ 架构 ``` simple_qa/ ├── knowledge_base.py # 知识库管理(字典 + 集合 + 倒排索引) ├── matcher.py # 关键词匹配引擎(加权交集算法) ├── services.py # 业务逻辑层(会话管理) ├── cli.py # 命令行交互界面 ├── views.py # REST API 视图 ├── urls.py # URL 路由 ├── tests.py # 单元测试(96%覆盖率) └── data/ └── ai_knowledge.json # 预设知识库(18个AI基础问答对) ``` ## 🧪 测试 运行单元测试: ```bash pytest simple_qa/tests.py -v --cov=simple_qa ``` 测试覆盖率达到 **96%**,包含33个测试用例,覆盖: - 知识库管理功能 - 关键词提取算法 - 匹配引擎逻辑 - 会话历史记录 - 边界情况和异常处理 ## 📋 依赖 - Python >= 3.8 - Django >= 4.2 - Django REST Framework >= 3.14 ## 📝 知识库内容 预设了18个AI基础问题,涵盖: - 人工智能定义 - Python在AI中的作用 - 机器学习 vs 深度学习 - 神经网络、CNN、RNN - 监督学习、无监督学习、强化学习 - 自然语言处理、计算机视觉 - 迁移学习、生成式AI - 过拟合、模型评估、特征工程 - 大数据与AI的关系 - AI伦理问题 ## 🔧 自定义知识库 编辑 `simple_qa/data/ai_knowledge.json` 添加自己的问答对: ```json { "qa_pairs": [ { "question": "你的问题?", "answer": "你的答案...", "keywords": ["关键词1", "关键词2"] } ] } ``` ## 📄 许可证 MIT License ## 👤 作者 Your Name ## 🤝 贡献 欢迎提交 Issue 和 Pull Request!