# code_rag **Repository Path**: pytests/code_rag ## Basic Information - **Project Name**: code_rag - **Description**: 第4期知识库与用例生成 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-02 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 🌈 Code RAG - 智能需求分析与用例生成系统 ## 项目简介 Code RAG 是一个基于检索增强生成(RAG)技术的智能需求分析与测试用例生成系统。通过结合大语言模型和知识库检索,系统能够理解需求文档并自动生成对应的测试用例。 ## 技术栈 **后端技术** - Python 3.11 + FastAPI + SQLAlchemy - MySQL 8.0 数据库 - LangChain + LangGraph + LightRAG - DeepAgents 智能体框架 **前端技术** - Vue 3 + TypeScript + Vite - Element Plus UI 组件库 - Pinia 状态管理 - ECharts 数据可视化 ## 🚧 前、后端目录结构说明 ``` code_rag/ ├── backend/ # 后端服务 │ ├── api/ # API接口 │ │ ├── __init__.py │ │ ├── admin.py # 管理API │ │ ├── case.py # 用例管理API │ │ ├── chat.py # 聊天对话API │ │ ├── knowledge.py # 知识库API │ │ └── requirement.py # 需求管理API │ ├── core/ # 核心模块 │ │ ├── __init__.py │ │ ├── database.py # 数据库连接 │ │ ├── dependencies.py # 依赖注入 │ │ └── security.py # 安全认证 │ ├── db/ # 数据库相关 │ │ ├── __init__.py │ │ ├── init_db.py # 数据库初始化 │ │ ├── migrate_add_case_id.py # 用例ID迁移 │ │ └── migrate_requirement.py # 需求迁移 │ ├── models/ # 数据模型 │ │ ├── __init__.py │ │ ├── conversation.py # 对话模型 │ │ ├── document.py # 文档模型 │ │ ├── requirement.py # 需求模型 │ │ └── test_case.py # 测试用例模型 │ ├── schemas/ # Pydantic模型 │ │ ├── __init__.py │ │ ├── conversation.py # 对话Schema │ │ ├── document.py # 文档Schema │ │ ├── requirement.py # 需求Schema │ │ └── test_case.py # 用例Schema │ ├── services/ # 业务服务 │ │ ├── __init__.py │ │ ├── agent_service.py # AI智能体服务 │ │ └── ai_service.py # AI服务 │ ├── utils/ # 工具函数 │ │ ├── __init__.py │ │ └── cos_upload.py # 云存储上传 │ ├── config.py # 配置文件 │ ├── main.py # 应用入口 │ └── requirements.txt # Python依赖 │ ├── rag_agent/ # RAG智能体模块 │ ├── common/ # 公共工具 │ │ └── model_output_to_json.py │ ├── pormpts/ # 提示词模板 │ │ ├── __init__.py │ │ ├── case_review_prompt.py │ │ ├── generate_case_prompt.py │ │ ├── system_prompt.py │ │ └── verify_coverage_prompt.py │ ├── rag/ # RAG检索模块 │ │ ├── rag_file_upload.py │ │ └── vlm_images.py # 多模态图片理解 │ ├── tools/ # 工具函数 │ │ ├── case_database_tools.py # 用例数据库工具 │ │ ├── case_generator_tools.py # 用例生成工具 │ │ ├── data_model.py │ │ └── rag_tools.py # RAG查询工具 │ ├── workflow/ # 工作流 │ │ └── case_generator.py # 用例生成工作流 │ └── .env # 环境变量 │ └── frontend/ # 前端应用 └── src/ ├── api/ # API客户端 │ ├── case.ts # 用例API │ ├── chat.ts # 聊天API │ ├── index.ts # API入口 │ ├── knowledge.ts # 知识库API │ └── requirement.ts # 需求API ├── assets/ # 静态资源 │ ├── icons/ # 图标资源 │ │ ├── analysis.png # 分析图标 │ │ ├── brain.png # 智能助手图标 │ │ ├── case.png # 用例图标 │ │ ├── document.png # 文档图标 │ │ ├── knowledge.png # 知识库图标 │ │ ├── project.png # 项目图标 │ │ └── search.png # 搜索图标 │ ├── images/ # 图片资源 │ │ └── logo.png # 系统Logo │ └── styles/ # 样式文件 │ ├── reset.css # 重置样式 │ └── variables.css # CSS变量 ├── components/ # 公共组件 │ ├── chat/ │ │ └── ToolCallCard.vue # 工具调用卡片 │ └── requirement/ │ └── UnderstandDialog.vue # 需求理解对话框 ├── composables/ # 组合式函数 │ ├── useMarkdown.ts # Markdown渲染 │ └── useSSE.ts # SSE流式请求 ├── layouts/ # 布局组件 │ └── DefaultLayout.vue # 默认布局 ├── router/ # 路由配置 │ └── index.ts ├── stores/ # Pinia状态管理 │ ├── case.ts # 用例状态 │ ├── chat.ts # 聊天状态 │ ├── knowledge.ts # 知识库状态 │ └── requirement.ts # 需求状态 ├── types/ # TypeScript类型定义 │ └── index.ts ├── utils/ # 工具函数 │ ├── format.ts # 格式化工具 │ └── storage.ts # 存储工具 ├── views/ # 页面视图 │ ├── case/ # 用例管理 │ │ ├── create.vue # 创建用例 │ │ ├── detail.vue # 用例详情 │ │ └── index.vue # 用例列表 │ ├── chat/ # 聊天页面 │ │ └── index.vue │ ├── knowledge/ # 知识库 │ │ ├── documents.vue # 文档管理 │ │ ├── graph.vue # 知识图谱 │ │ └── query.vue # 知识查询 │ └── requirement/ # 需求管理 │ ├── create.vue # 创建需求 │ ├── detail.vue # 需求详情 │ └── index.vue # 需求列表 ├── App.vue # 根组件 └── main.ts # 应用入口 ``` ## 核心功能 1. **智能对话交互** - 多轮对话上下文理解 - 工具调用与执行 - 会话历史持久化 2. **需求理解与分析** - 上传需求文档 - 智能解析需求内容 - 自动提取关键信息和功能点 3. **测试用例自动生成** - 基于需求生成测试用例 - 支持正向和逆向用例 - 用例评审与覆盖率验证 4. **RAG知识检索** - 文档向量化存储 - 语义相似度检索 - 历史用例参考 ## 🚧 linux启动前置软件环境mysql ```bash # 启动mysql数据库服务 systemctl start mysqld # 配置开机自启动 systemctl enable mysqld ``` ## 🚧 项目启动初始化-后端 ```bash # 创建虚拟环境 python -m venv .venv # Windows激活虚拟环境 .venv\Scripts\activate.bat # backend目录下,安装依赖 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt # 配置环境 .env # 初始化数据库表 python -m db.init_db # 运行后端 # 进入backend目录 python main.py ``` ## 🚧 项目启动初始化-前端 ```bash # 添加下载源 npm config set registry http://mirrors.cloud.tencent.com/npm/ # 全局安装yarn npm install -g yarn # 进入项目frontend,安装项目依赖 yarn # 运行前端项目 yarn dev # 前端打包发布 yarn build ``` ### 🚧 LightRAG服务 ```bash # 配置环境 .env # 进入rag_agent目录下运行 lightrag-server ``` ## 智能体前端访问 http://localhost:8080 ## 接口文档访问 http://localhost:8000/docs ## LangSmith https://smith.langchain.com/ ## 硅基流动 https://cloud.siliconflow.cn/ ### 🚧 部署、使用帮助文档 #### 帮助文档 http://120.26.11.168:40 帮助文档的源码地址:https://gitee.com/pytests/docs