微信扫码
与创始人交个朋友
我要投稿
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谈项目!
最终,我们选择的技术栈是这样的:
跑起来后,交互界面是这样的!
本系统,所有代码,均上传会员盘,仅会员可看!
还未成为会员的,这里点击申请加入!需要优惠券的,联系小胖!
好!跑起来!
这里雄哥准备了两个环境,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
不管是那种方式,都需要安装依赖!
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
这里我们全部用在线api来做,轻量级!
当然啦!如果你想用开源方案,是绝对没有问题的!之后展开每一步的时候,会告诉你怎样开展!
在文件夹中,都有这个密钥文件,你只需要把自己申请的key填写上去即可!
记住,两个文件夹中,都需要填写!
OpenAI api:https://openai.com/api/
Milvus api文档:https://docs.zilliz.com/docs/quick-start
.env.example
开始前,雄哥先把要索引的数据放到这!卖油翁.pdf!
后面雄哥会专门有一个版块,教如何处理数据的,一定要留意!
很简单!
保持在工作目录!
直接使用Python运行!这个线程是单独的,你可以索引自己的任意数据!
后面调用的时候,这个知识库会挂在外部,当后面发起查询的时候,会先到数据库中检索!
这个线程完成后,可以关闭窗口!
python ingestion-service\app\engine\generate.py
之后, 到数据库官网,你可以看到索引的数据!
数据库官网:https://cloud.zilliz.com/
现在,我们要把大模型推理起来!脚本默认的是8000端口,确保这个线程不要掉,端口不要冲突!
特别是使用本地模型的,使用推理大模型的端口,注意更改!
不要改动这个代码的端口,要改本地大模型部署的端口,因为后面UI传参时绑定了8000端口的!
python inference-service\backend\main.py
先进入UI的工作目录!
cd rag--to-microservices\inference-service\frontend
安装npm!
npm install
启动UI!
npm run dev
之后你本地访问:http://localhost:3000/
即可打开交互界面!
ok!
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-04-11
2024-08-21
2024-07-09
2024-08-13
2024-07-18
2024-10-25
2024-07-01
2024-06-17