|
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! condacreate-nragpython=3.11 激活进入环境!
Python虚拟环境: cd进入工作目录 进入做好的虚拟环境 B 安装依赖不管是那种方式,都需要安装依赖!
pipinstalluvicornfastapifastapi[all]nemoguardrailspymilvusuvicornpython-dotenvllama-index-vector-stores-milvusllama-indexllama-index-postprocessor-cohere-rerankllama-index-embeddings-openaillama-index-embeddings-huggingfacellama-index-llms-openai
C 填写API KEY这里我们全部用在线api来做,轻量级! 当然啦!如果你想用开源方案,是绝对没有问题的!之后展开每一步的时候,会告诉你怎样开展! 在文件夹中,都有这个密钥文件,你只需要把自己申请的key填写上去即可! 记住,两个文件夹中,都需要填写! OpenAI api:https://openai.com/api/ Milvus api文档:https://docs.zilliz.com/docs/quick-start 

D 整理数据开始前,雄哥先把要索引的数据放到这!卖油翁.pdf! 后面雄哥会专门有一个版块,教如何处理数据的,一定要留意! 
E 启动数据索引很简单! 保持在工作目录! 直接使用Python运行!这个线程是单独的,你可以索引自己的任意数据! 后面调用的时候,这个知识库会挂在外部,当后面发起查询的时候,会先到数据库中检索! 这个线程完成后,可以关闭窗口! pythoningestion-service\app\engine\generate.py 之后, 到数据库官网,你可以看到索引的数据! 数据库官网:https://cloud.zilliz.com/ F 启动推理查询现在,我们要把大模型推理起来!脚本默认的是8000端口,确保这个线程不要掉,端口不要冲突! 特别是使用本地模型的,使用推理大模型的端口,注意更改! 不要改动这个代码的端口,要改本地大模型部署的端口,因为后面UI传参时绑定了8000端口的! pythoninference-service\backend\main.py 
G 启动UI前端先进入UI的工作目录! cdrag--to-microservices\inference-service\frontend 安装npm! 启动UI! 
之后你本地访问:http://localhost:3000/ 即可打开交互界面! 
ok! |