Windows上,10分钟构建一个本地知识库

这篇文章是我约新书《RAG应用实战》的一个样章,基于阿里云代码构建的一个本地RAG服务。
本地模型看代码注释,需要替换几行代码。

阅读本章时,已默认安装你的个人电脑上安装了Python 3.6-3.12中的一个版本、以及PyCharm和conda。以及按照第三章示例,已经在阿里云创建了大模型的API-key。

(1)现在让我们下载阿里云百炼平台提供的一个RAG运行包。地址如下:
https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250414/odwvrb/local_rag.zip

下载之后解压,使用Pycharm打开此文件夹,如图4-1所示。

图4-1 创建local_rag项目

(2)然后选择"File>>Settings",打开Interpreter选项,创建一个基于conda的虚拟空间local_rag,如图4-2所示。

图4-2 设置local_rag虚拟空间

(3)打开conda的promot(如图4-3所示),切换Python的当前环境为local_rag。

图4-3 打开conda的promot

(4)打开conda的promot后,输入命令conda env list,遍历当前的虚拟空间(如图4-4所示),*号表示当前使用的虚拟空间,输入命令conda activate local_rag,切换Python的当前环境为local_rag。

图4-4 遍历

(5)安装依赖包,执行命令,如图4-5所示。命令如下:
C:\Users\Administrator>pip install -r C:\PycharmProjects\local_rag\requirements.txt

路径 C:\PycharmProjects\local_rag\ 需要换成自己的代码目录。requirements.txt文件中存放了运行local_rag项目所使用的依赖包,内容如下:

复制代码
  gradio==4.32.0
  faiss-cpu==1.8.0.post1
  dashscope==1.20.4
  openai==1.55.3
  httpx==0.27.0
  llama-index-vector-stores-faiss==0.1.2
  llama-index-embeddings-dashscope==0.1.4
  llama-index-readers-file==0.1.33
  matplotlib==3.9.3
  docx2txt==0.8
  openpyxl==3.1.5
  llama-index-core==0.10.67
  uvicorn==0.30.6
  fastapi==0.112.0
  llama-index-postprocessor-dashscope-rerank-custom==0.1.0
  simplejson==3.19.3
  pydantic==2.10.6

安装成功提示如下:

Successful1y insta11ed a1tair-5.5.0 dashscope-1.20.4 docx2txt-0.8 faiss-cpu-1.8.0.post1 fastapi-0.112.0 gradio-4.32.0 ......省略

图4-5 安装依赖

(6)设置阿里云百炼平台的API-KEY,如图4-6所示,命令如下:
setx DASHSCOPE_API_KEY sk-d179938b99184627a9a4e8618fc7224a

图4-6 设置API-KEY

此key在代码文件chat.py中111行,如图4-7所示。

图4-7 使用API-KEY

查看API-KEY设置是否成功,如图4-8所示,命令如下:
echo %DASHSCOPE_API_KEY%

图4-8 查看API-KEY

(7)东风具备,现在让我们运行下main.py右键点击main.py,选择Run'main',如图4-9所示。

图4-9 运行主类

(8)查看运行时提示,需要升级gradio ,如图4-10。

图4-10 运行主类

这里IDE终端提示当前使用的 gradio 版本为 4.32.0,而最新版本为 4.44.1,建议升级到最新版本。

虽然提示不是错误,但是不升级没法运行,所以还是升级下。

(9)打开cmd,使用uvicorn运行main.py,先查看uvicorn版本,如图4-11所示,命令如下:
pip show uvicorn

图4-11 运行主类

(10)版本是0.30.6,没啥问题,切换到工程目录,运行打开LOCAL_RAG主页,如图4-12所示,命令如下:
uvicorn main:app --port 7866

图4-12 启动local_rag服务

(11)为了简化每次打开cmd输入命令,我们打开local_rag目录,新建一个run.bat批处理文件,将运行命令保存到bat文件中,如图4-13所示。

图4-13 启动local_rag服务

(12)打开浏览器,推荐edge、chrome浏览器,输入地址http://127.0.0.1:7866/,打开本地RAG主页,如图4-14所示。

图4-14 local_rag主页

注意:我这里用的Python版本是3.12。如果打开页面报错DLL load failed while importing _cext,额外运行命令:pip install msvc-runtime ,之后后再运行应用。

相关推荐
考拉悠然科技8 分钟前
考拉悠然:科技与匠心,以烟草虫情AI监测系统共筑品质未来
ai
安冬的码畜日常13 分钟前
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
开发语言·前端·人工智能·ai·扫雷游戏·ai辅助编程·辅助编程
西柚小萌新17 分钟前
【Python爬虫基础篇】--4.Selenium入门详细教程
爬虫·python·selenium
橘猫云计算机设计1 小时前
springboot基于hadoop的酷狗音乐爬虫大数据分析可视化系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·hadoop·spring boot·爬虫·python·数据分析·毕业设计
YOULANSHENGMENG1 小时前
linux 下python 调用c++的动态库的方法
c++·python
SsummerC1 小时前
【leetcode100】零钱兑换Ⅱ
数据结构·python·算法·leetcode·动态规划
一眼青苔2 小时前
切割PDF使用python,库PyPDF2
服务器·python·pdf
电商数据girl2 小时前
产品经理对于电商接口的梳理||电商接口文档梳理与接入
大数据·数据库·python·自动化·产品经理
三道杠卷胡2 小时前
【AI News | 20250424】每日AI进展
人工智能·pytorch·python·语言模型·github
T糖锅G3 小时前
小白自学python第二天
python