上海AI Lab书生·浦语训练营第三期项目
团队名称:还没想好捏
本项目基于InternLM实现清洁能源行业知识专家与 InternLM Tutorial 的链接。
https://github.com/InternLM/Tutorial
欢迎大家加入InternLM大家庭一起学习大模型!!作为一名从0开始的小白,在InternLM课程的帮助下我一步步也终于是成功做出了一点项目成果!期待更多的人来这里一起提升自己!
智能风电专家 —— 基于RAG的行业知识大模型 本项目致力于打造一个智能、高效的风电行业知识专家系统,通过结合检索增强生成(RAG)技术和大语言模型,为用户提供准确、专业的风电领域知识服务。项目主要特点如下: 🌟 基于InternLM构建的大模型与检索系统深度融合 🚀 采用RAG技术,实现快速知识更新和模型迭代 📚 整合500份专业风电领域知识,构建高质量知识库 🎯 优化召回算法,确保高准确率和相关性 ⚡ 利用开源工具栈,实现快速响应和高性能 💼 专注于风电行业应用,提供精准的专业知识问答
本项目通过创新的RAG架构,有效解决了传统AI模型在专业领域知识更新和维护方面的挑战。通过简单更换底座大模型,即可快速适应AI技术的迭代,大幅降低企业在AI应用层的成本和维护难度。 我们的目标是为风电行业提供一个智能、可靠的知识助手,助力工程师们更高效地获取和应用专业知识。
https://www.bilibili.com/video/BV1FfWde5EQL/
-
chroma_db/
- 存放知识库文件,为向量化处理后的知识库文件。
- 使用开源向量数据库工具 Chroma。
- 注意:由于 GitHub 大小限制,处理后的文件无法上传,请使用
getdatabase.py脚本自行处理数据库文件。
-
config/
- 存放项目的图片文件。
-
getdatabase.py
- 处理数据库文件脚本。
- 使用说明:
- 请自行下载数据库文件,并在脚本中提供文件路径。
- 使用的 Embedding 模型:paraphrase-multilingual-MiniLM-L12-v2。
- 功能:
- 支持处理 .txt/.docx/.pptx/.pdf 格式的文本。
- 自动清除乱码文本。
- 暂不支持 .doc、.ppt 和扫描版 .pdf 文件处理(后续会更新)。
- 当前切块方式:
- 对整个文档进行简单切段处理,1000个 token 为一段,前后各 200 token 的重复区间。
- 后续计划更新更智能的文本切段处理方法。
-
db_operations.py
- 数据库操作核心脚本。
- 负责知识库的检索、向量化、更新等操作。
-
rag_model.py
- RAG 模型核心脚本。
- 功能:
- 负责模型与向量知识库的链接、推理等操作。
- 支持更换底座模型(需相应配置)。
- 使用的大模型:
- 底座:InternLM2.5-20B-chat
- 优化:使用 LMDeploy 进行 4-bit 精度量化,提高响应速度。
- 特性:
- 增加缓存功能,减少推理时间。
- 使用 asyncio 预设流式输出功能,模拟流式输出效果。
-
chatui.py
- 界面脚本,负责界面的搭建和交互操作。
-
创建虚拟环境并安装依赖:
conda create -n [your_env_name] python=3.11 conda activate [your_env_name] pip install -r requirements.txt -
处理数据库文件:
python getdatabase.py -
运行聊天界面:
streamlit run chatui.py -
打开开发机返回的端口连接,即可开始测试。
如有任何问题或建议,欢迎随时与我们联系。


