AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


难得!手把手做全栈RAG项目!AI+教育专题,如何做安全审查?完整RAG项目是怎样的?day7
发布日期:2024-06-02 08:07:23 浏览次数: 1900 来源:一意AI增效家


RAG,很火!

雄哥之前在星球做了基于langchain、基于llamaindex!

两个框架,来做0-1入门!

技术发展,实在!太快了!

RAG,作为大模型落地应用的方案,价值非常!

趁着做教育项目内容,雄哥决定!

重新做一版llamaindex的实践+0-1!

本次内容,总体节奏,两大阶段!

阶段一:拿结果!

只有拿到结果,你动手看到自己也能做不错的RAG系统,你才有动力深入学!

雄哥一直提倡的,从来都是先拿结果,再补基础!

AI发展飞快,不可能像学院派那样学AI,只能一边动手应用,做价值的落地方案,你才有动力迭代技术!

阶段二:基于结果,深入学基础!

雄哥会展开llamaindex的核心五部曲!一个个剖析展开,告诉你每个版块怎么做,你也能从0基础,学会!然后,做自己应用去!

整个技术路线是这样的!

现在,雄哥详细展开这个项目两大阶段的核心内容!

第一阶段:拿结果!

这是一个全栈项目!包含建议前端,项目核心内容,合共3个模块!

哪三个?

A 索引存储、B 检索推理、C 安全审查!

真实做过RAG项目的朋友都知道,一旦,项目跑起!

他们往往是无法同时工作的,雄哥稍后会告诉你为什么,这是去哪里都学不到的,技术>管理必看!

雄哥考虑有这些:

算力资源有限,索引存储和推理检索,是无法同时工作的:白天,员工上班/用户在线,资源满载!存储索引线程没资源,索引存储通常安排闲时上线或集中维护!

② 可重用+批量化:技术发展飞快,AI项目不允许长周期开发,快速上线+迭代,才能抓住市场,每一个线程,都以可重用+可拓展做开发,易于迭代调试,更好排错!

③ 安全审查是必须的:大模型不可靠!随时可能生成影响项目的内容!你不做任何安全+伦理审查,相当于把自己的命根,交给陌生人,想想后果吧!这里雄哥会用NVIDIA的NeMo项目来做;

ok!

基于以上,雄哥直接上实操,先跑一个实例,拿到结果,再展开三大版块!

你会知道整个项目,是怎样做的!

再次贯彻:拿到结果-->再学理论,你会坚持在AI领域,学下去!

实践环境说明:

操作系统Linux(推荐)、Win11

编程语言/版本:Python 3.10.14

大模型OpenAI API Key

llama-index版本:0.10.0及以上

FastAPI版本:0.110.2

NextJS版本:14.1

Milvus版本:Zilliz Cloud(在线版)

安全审查模块:NeMo Guardrails

数据示例:教育领域-卖油翁课堂.pdf

整个项目,全用API,突出一个“轻”!拿着笔记本,在任何地方,都可以!用这个demo谈项目!

最终,我们选择的技术栈是这样的:

跑起来后,交互界面是这样的!

本系统,所有代码,均上传会员盘,仅会员可看!

还未成为会员的,这里点击申请加入!需要优惠券的,联系小胖!

好!跑起来!

A 创建并激活环境

这里雄哥准备了两个环境,1是miniconda,2是Python,2选1即可,怎么顺手怎么来吧!

conda环境:

创建conda环境!名字rag,指定Python版本3.11!

conda create -n rag python=3.11

激活进入环境!

conda activate rag


Python虚拟环境

cd进入工作目录

cd F:\rag-microservices

进入做好的虚拟环境

venv\Scripts\activate

B 安装依赖

不管是那种方式,都需要安装依赖!


pip install uvicorn fastapi fastapi[all] nemoguardrails pymilvus uvicorn python-dotenv llama-index-vector-stores-milvus llama-index llama-index-postprocessor-cohere-rerank llama-index-embeddings-openai llama-index-embeddings-huggingface llama-index-llms-openai


C 填写API KEY

这里我们全部用在线api来做,轻量级!

当然啦!如果你想用开源方案,是绝对没有问题的!之后展开每一步的时候,会告诉你怎样开展!

在文件夹中,都有这个密钥文件,你只需要把自己申请的key填写上去即可!

记住,两个文件夹中,都需要填写!

OpenAI api:https://openai.com/api/

Milvus api文档:https://docs.zilliz.com/docs/quick-start

.env.example

D 整理数据

开始前,雄哥先把要索引的数据放到这!卖油翁.pdf!

后面雄哥会专门有一个版块,教如何处理数据的,一定要留意!

E 启动数据索引

很简单!

保持在工作目录!

直接使用Python运行!这个线程是单独的,你可以索引自己的任意数据!

后面调用的时候,这个知识库会挂在外部,当后面发起查询的时候,会先到数据库中检索!

这个线程完成后,可以关闭窗口!

python ingestion-service\app\engine\generate.py

之后, 到数据库官网,你可以看到索引的数据!

数据库官网:https://cloud.zilliz.com/

F 启动推理查询

现在,我们要把大模型推理起来!脚本默认的是8000端口,确保这个线程不要掉,端口不要冲突!

特别是使用本地模型的,使用推理大模型的端口,注意更改!

不要改动这个代码的端口,要改本地大模型部署的端口,因为后面UI传参时绑定了8000端口的!

python inference-service\backend\main.py

G 启动UI前端

先进入UI的工作目录!

cd rag--to-microservices\inference-service\frontend

安装npm!

npm install

启动UI!

npm run dev

之后你本地访问:http://localhost:3000/

即可打开交互界面!

ok!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询