体验RAG GitHub/wow-rag
RAG(检索增强生成)是结合检索与生成式 AI 的技术框架。核心逻辑是先从外部知识库精准检索相关信息,再将其作为上下文输入大模型生成回答。技术上依赖检索引擎(如向量数据库、BM25)、大语言模型(如 GPT、LLaMA)及数据预处理技术。通过检索增强,解决大模型知识滞后、幻觉问题,提升回答准确性。应用广泛,涵盖智能客服、医疗问答、法律检索、教育辅导等场景,能基于特定领域知识提供精准、可控的生成内容。
wow-RAG 是 Datawhale 推出的 RAG 技术实践项目,网址:datawhalechina/wow-rag: A simple and trans-platform rag framework and tutorial
体验一下RAG
步骤一:在vscode里克隆
打开datawhale wow-rag的网址进行git clone
datawhalechina/wow-rag: A simple and trans-platform rag framework and tutorial
点击code,选择HTTPS复制粘贴web URL
打开vscode,点击左上角的图标“资源管理器”
接下来,点击中间的蓝色按钮“克隆仓库”
接下来在屏幕上方会出现一个窗口,在这里粘贴刚才复制的web URL
然后选择自己想要存储的位置就好了,如果克隆失败的话,问题大概率出现在网络连接,可以尝试更换VPN来访问github
步骤二:创建虚拟环境
在 VSCode 中,通过顶部菜单选择 终端 > 新建终端
确保终端的当前路径是仓库根目录(例如 C:\Users\你的用户名\Desktop\wow-rag)
运行以下命令:
python -m venv rag-venv
步骤三:激活虚拟环境
在终端里输入:
.\rag-venv\Scripts\activate
如果运行失败,会出现以下报错:
135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\rag-venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
此bug出现的原因为遇到了PowerShell 的执行策略限制问题,这是 Windows 系统中常见的安全机制。当执行策略设置为受限模式时,系统会禁止运行未签名的脚本(如虚拟环境的激活脚本)。
推荐的解决方案为在当前 PowerShell 会话中临时放宽执行策略,仅允许运行当前虚拟环境的激活脚本:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\rag-venv\Scripts\activate
代码Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass:将当前 PowerShell 会话的执行策略临时设置为允许所有脚本运行(仅对当前会话有效,关闭后自动恢复默认策略)。执行此命令后,再尝试激活虚拟环境即可成功。
如果你不想修改 PowerShell 执行策略,可以使用其他终端(使用 CMD 或 Git Bash)
另外,也可以使用永久解决方案,这需要管理员权限,将执行策略设置为允许本地脚本运行(需谨慎操作,可能影响系统安全性,不推荐)。先以管理员身份打开 PowerShell,在开始菜单中搜索 "PowerShell",右键点击并选择 "以管理员身份运行"。接下来设置执行策略:
Set-ExecutionPolicy RemoteSigned
RemoteSigned 策略允许运行本地创建的脚本,但需要对从网络下载的脚本进行数字签名。这是相对安全且常用的设置。
激活成功后,终端前缀会显示 :
这代表着激活成功
步骤四:安装依赖
cd backend
执行后,终端路径会变为 ...\wow-rag\backend
输入:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
在 backend 目录下运行:
python main.py
如果一切正常,你会看到后端服务启动的日志,通常会显示监听的端口(如 http://localhost:8000)
步骤五:运行前端界面
方法一
在wow-rag/frontend目录下双击chat.html,在文本框中输入问题,然后点击发送按钮即可体验流式对话。 或者,在wow-rag/frontend目录下打开终端,输入这行代码:
python -m http.server 8080 --bind 0.0.0.0
方法二
在 VSCode 中,点击终端面板右上角的 + 号,打开第二个终端
输入:
cd frontend
接下来输入:
python -m http.server 8080 --bind 0.0.0.0
访问应用:在浏览器中打开 http://127.0.0.1:8080/chat.html,即可开始使用流式对话功能
# 步骤1:临时允许当前会话运行脚本
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass# 步骤2:激活虚拟环境
.\rag-venv\Scripts\activate# 步骤3:进入后端目录(激活后执行)
cd backend# 步骤4:启动后端服务
python main.py
在文件目录下打开chat.html文件,就可以进行对话
参考文章
datawhalechina/wow-rag: A simple and trans-platform rag framework and tutorialhttps://github.com/datawhalechina/wow-rag