# RagProjectDevelop **Repository Path**: MaXuedi/rag-project-develop ## Basic Information - **Project Name**: RagProjectDevelop - **Description**: 知识库开发文档 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-05-07 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 知识库项目开发流程 ## 一、 项目需求分析 **基础需求**: 客户提供奖补政策文件,通过处理后导入知识库用于知识检索,召回结果经过大模型润色回复给用户。 **其它需求**: - 针对用户的精确问题,要求将直接相关的知识完整返回 - 针对用户的模糊问题,要求给出可能的项目列表,必要时提供问题引导用户回答 - 针对用户的不相关的问题,要求尽量不做回复 - 针对附件信息,可以完整回复对应链接 **难点**: - 精确问题和模糊问题的界定 - 奖补政策相似度较高,召回不准确,或召回后总结内容冗杂 **采取的优化方式**: 1. 使用工作流,问题先经过大模型进行问题理解,理解后经过知识库召回后再经过大模型总结返回结果 > 可以解决对话上下文理解,但多经过一次大模型ds思考时间太长 2. 使用工作流,对精确问题和模糊问题进行条件判断,针对不同类型问题走不同的知识库 > 大模型理解力一般,条件判断不够稳定 3. 关键问题标注+模糊问题知识库 > 做到模糊和精确问题自动界定,也有效的减少了总结内容冗杂问题 ## 二、 数据分析与处理 [工信厅政策数据处理](工信厅政策数据处理步骤.md) ## 三、 服务器环境配置和各种模型部署 ### (1) 磁盘永久挂载指导文档和常见命令 > [挂载云硬盘指导文档](https://www.ctyun.cn/document/10027696/10177551) 1. 命令 `lsblk`,查看新增数据盘、未挂载磁盘 2. 进行分区 fdisk /dev/sdb 3. 格式化磁盘 mkfs -t ext4 /dev/sdb1 4. 添加永久挂载命令 vim /etc/fstab 5. 刷新挂载 mount -a ### (2) 安装显卡驱动 [安装驱动](安装驱动.md) ### (3) 安装miniconda环境 [安装conda环境](安装conda环境.md) ### (4) 安装Docker 和 Docker Compose环境 [安装Docker和Docker-Compose环境](安装Docker和Docker-Compose环境.md) [【昇腾】Docker容器访问外网](【昇腾】Docker容器访问外网.md) ### (5) 下载和部署模型 [模型服务启动操作指南](启动语言和知识库模型服务操作指南.md) [搭建Xinference平台](搭建xinference平台.md) [【昇腾】mindiE容器内部署DS模型](【昇腾】Mindie容器内部署DS模型.md) [【昇腾】搭建xinference平台](【昇腾】搭建xinference平台.md) ## 四、 知识库管理平台搭建 ![架构涉及](images/img_13.png) [搭建dify平台](搭建dify平台.md) ## 五、 OneApi接口统一管理平台搭建 [OneAPI平台搭建](搭建OneAPI平台.md) ## 六、 构建知识库、设计工作流 [工信厅奖补助手dify平台配置整理](工信厅奖补助手dify平台配置整理.docx) ## 七、 效果调优 ### 针对召回效果好但输出结果较差时可以使用的调优方式: 1. 针对通用问题修改提示词 2. 针对单个问题增加标注或增加补充到知识库 3. 提高大模型版本,提升理解力 ### 针对检索或召回效果不够好的调优方式: 1. 进行数据分析,修改数据切分方式,手动切分数据 2. 增加混合检索或增加召回chunk数提高命中率 3. 修改embedding或rerank模型 4. 模型微调 ## 八、 安全防护处理 ### (1) 配置安全组 一般默认出站全开,入站对部分端口、单个ip或网段做白名单限制,通过访问控制,达到虚拟防火墙的目的增强网络安全 ### (2) 安全扫描 - 主机漏洞扫描 - 网站漏洞扫描 - 人工渗透测试 ### (3) 模型通过内网提供服务 通过vllm启动模型时配置参数 `--host [当前机器同一VPC下的内网地址]` 实现绑定到本机内网IP,限制监听来源为内网 ## 九、 大模型负载均衡 可以通过OneAPI实现同一模型多渠道负载均衡 1. 多渠道同一规格模型渠道优先级数字越大优先级越高,默认情况下高优先级渠道失败无法自动切换渠道 2. 多渠道同一规格模型优先级相同时,默认自动负载均衡,渠道选择随机 ## 十、 大模型并发压测 [大模型并发、首Token延迟、TPS测试 代码](../code/llm_performance_test.py) ## 十一、 配置域名 1. 修改conf文件 ```angular2html cat /etc/nginx/sites-enabled/dify.conf ``` 2. 增加以下内容 ```angular2html server { listen 443 ssl default_server; ssl certificate aichat.ahjxw.gov.cn bundle.crt*; ssl_certificate_key aichat.ahjxw.gov.cn.key; location / { proxy_pass http://127.0.0.1:1088 } } ``` 3. 修改`.env`文件 ```angular2html EXPOSE_NGINX_PORT=1088 ``` ## 十一、 配置代理 [使用TinProxy配置代理](通过TinyProxy配置代理.md)