安县移动网站建设学做蛋糕什么网站

张小明 2026/1/10 8:08:09
安县移动网站建设,学做蛋糕什么网站,为什么做民宿网站,龙泉驿区建设局网站LlamaIndex是构建RAG系统的核心框架#xff0c;提供从数据加载、索引构建、存储管理到检索查询的完整流程。文章详细介绍了五大核心步骤#xff1a;Loading、Indexing、Storing、Querying和Evaluating#xff0c;并通过代码示例展示了如何实现企业级RAG系统。该框架高度模块…LlamaIndex是构建RAG系统的核心框架提供从数据加载、索引构建、存储管理到检索查询的完整流程。文章详细介绍了五大核心步骤Loading、Indexing、Storing、Querying和Evaluating并通过代码示例展示了如何实现企业级RAG系统。该框架高度模块化、可自由组合有效解决大模型上下文长度限制保障私有数据安全。01 前言上一篇我们概览了LlamaIndex的整体架构与定位[构建Agents框架LlamaIndex使用概览]接下来将分篇深入其核心功能模块—从RAG、Workflow到Agent再到其生态体系。RAGRetrieval Augmented Generation检索增强生成是LlamaIndex的核心功能模块覆盖了从数据加载、索引构建到存储管理及检索的全流程。其数据连接与加载能力更是LlamaIndex早期开源阶段的一大亮点。通过连接和检索特定数据片段RAG不仅有效解决了大语言模型LLM面临的上下文长度限制也保障了私有领域数据的安全。02 RAG介绍**RAGRetrieval Augmented Generation检索增强生成**是一种增强大模型上下文来提高大模型回答准确性的有效且重要手段。通过检索特定内容也保障了企业数据的安全。其流程如下(图来自官方)核心步骤包括Loading数据加载通过加载不同的数据源进行数据获取如数据库、PDF、API接口等等方式LlamaIndex目前支持上百种数据源的连接。Indexing索引构建包括对加载数据分块、向量化以及元数据提取向量化通常被用于语义匹配。Storing存储对构建的向量数据和元数据进行存储避免对源数据进行多次向量化操作。Querying检索根据用户问题对数据进行检索召回并加入到大模型的上下文中。常见检索的方式包括向量化语义检索同时伴有元数据过滤、全文关键词检索、混合检索并应用重排序等。**Evaluating**评估效果RAG的效果评估是对结果的检验也是进行优化索引和检索的依据。03 LlamaIndex的RAG实战数据加载LlamaIndex提供了上百种连接数据的方式包括本地文件加载、集成连接器可以通过llamahub搜索、通过文本创建Document。加载后的数据都统一转换成Document类对象。1、本地文件加载from llama_index.core import SimpleDirectoryReader documents SimpleDirectoryReader(../data).load_data() print(fdocument length:{len(documents)}, document:{documents})LlamaIndex中定义了SimpleDirectoryReader类是内置的最简单的方式对本地文件进行加载。示例中会加载当前目录的上级data目录下所有文件。2、集成连接器以DB为例通过连接DB执行Sql查询的每一条数据都是一个Document。# pip3 install llama-index-readers-database from llama_index.readers.database import DatabaseReader # 使用PyMySQLpip3 install pymysql # {root}换成密码 reader_media DatabaseReader( urimysqlpymysql://root:{root}localhost:3306/demo, schemademo, # optional namespace ) # 加载 docs reader_media.load_data( querySELECT id,username,age,sex,register_time,address FROM xudj.user;, # 元数据列 metadata_cols[ (id, user_id), # 参数转换用user_id替代id存储 username, ], # map / include in metadata excluded_text_cols[address], # 剔除字段 document_idlambda row: fxudj-user-{row[id]}, # custom document id ) print(docs)示例首先导入数据库相关依赖这里使用的是Mysql可以通过llamahub.ai/?tabreaders搜索使用方式然后定义DatabaseReader配置连接信息再调用load_data执行sql完成数据加载。3、通过文本创建Documentfrom llama_index.core import Document doc Document(doc_id1, text文本创建, metadata{id:1, type:custom}) print(doc) print(doc.metadata)有了文本这是最直接的方式。索引构建数据加载后有了一系列的Document便可以进行索引的构建。包括长文本按特定规则分块、提取元数据、向量化处理。from llama_index.core.node_parser import TokenTextSplitter from llama_index.core import VectorStoreIndex from llama_index.core import Settings from llama_index.embeddings.dashscope import DashScopeEmbedding from llama_index.core import StorageContext # pip install chromadb # pip install llama-index-vector-stores-chroma import chromadb from llama_index.vector_stores.chroma import ChromaVectorStore # 1、分块 - chunk_size每块的token数 text_splitter TokenTextSplitter(chunk_size200, chunk_overlap5) # 2、向量化模型使用千问的模型 dashscope_embed_model DashScopeEmbedding( model_nametext-embedding-v2, api_keysk-...) # 向量化存储默认使用基于内存的SimpleVectorStore类 # 初始化客户端设置保存数据的路径 db chromadb.PersistentClient(path./chroma_db) # 3、创建向量存储上下文 chroma_collection db.get_or_create_collection(quickstart) vector_store ChromaVectorStore(chroma_collectionchroma_collection) storage_context StorageContext.from_defaults(vector_storevector_store) # 4、创建index index VectorStoreIndex.from_documents( documentsdocuments, transformations[text_splitter], embed_modeldashscope_embed_model, insert_batch_size5, # 限制每次插入的节点数量 storage_contextstorage_context, )示例包括4部分下面序号对应代码注释序号1、首先定义了分块逻辑示例使用Token计数的分块方式默认是按完整句子拆分的SentenceSplitter类它们都属于NodeParser的子类用于将Document拆分成NodeNode表示Document的一个分块“chunk”可以是文本或图片等在LlamaIndex中不管是分块XxxSplitter类、提取元数据XxxExtractor类示例未体现、向量化Node数据XxxEmbedding类它们都属于transformations在解析Document时可以指定多个transformations是一个列表。2、定义向量化模型为千问的text-embedding-v2LlamaIndex默认使用的OpenAI的text-embedding-ada-002模型这和框架的起源有关一开始就是为了解决OpenAI系列模型相关问题。3、创建向量化存储库示例使用的是开源向量库chroma指定存储目录和集合名。4、定义Index由Document组成的数据结构并指定文档Documents、转换列表transformations、向量化模型及每批次数量、向量化存储库。VectorStoreIndex是LlamaIndex中最常见的索引类型通过将Document拆分成Node然后进行向量化每个Node为后续语义检索做准备。示例代码中定义的所有组件在LlamaIndex中都有默认的实现我们可以通过Settings查询同时也可以通过Settings进行设置默认值如下所示from llama_index.core import Settings import os # 随便设置值不然会报错找不到apiKey os.environ[OPENAI_API_KEY] sk-... # 默认使用OpenAI的text-embedding-ada-002模型 print(fSettings.embed_model :{Settings.embed_model}) # 默认使用的SentenceSplitter这三个取得都是相同的默认node_parser print(fSettings.transformations :{Settings.transformations}) print(fSettings.text_splitter :{Settings.text_splitter}) print(fSettings.node_parser :{Settings.node_parser}) # global可以通过这种方式设置 # Settings.text_splitter text_splitter上面我们已经把数据进行了向量化存储如果想要基于存储的向量数据构建Index索引可以使用如下方式不用再次经过一遍上面的流程处理数据了# 从向量库中创建index指定向量库和模型 index VectorStoreIndex.from_vector_store( vector_storevector_store, embed_modeldashscope_embed_model, )1、有关Document和Node介绍https://developers.llamaindex.ai/python/framework/module_guides/loading/documents_and_nodes/类定义见llama_index.core.schema2、chroma开源向量库https://github.com/chroma-core/chroma3、Index不同的索引类型和检索介绍https://developers.llamaindex.ai/python/framework/module_guides/indexing/index_guide/#vector-store-index检索查询有了数据也进行了向量化存储并得到了Index索引对象现在就可以进行检索并加入大模型上下文回答问题。LlamaIndex的检索查询包括三步骤检索Node - 后置处理过滤Node - 响应合成1、仅检索# 上文得到的index索引对象 retriever index.as_retriever() nodes retriever.retrieve(育儿方式) print(flen:{len(nodes)} nodes:{nodes[0].text}) # 另一种方式直接定义VectorIndexRetriever指定index retriever VectorIndexRetriever( indexindex, similarity_top_k1, # 召回一条数据 ) nodes retriever.retrieve(育儿方式) print(flen:{len(nodes)} nodes:{nodes[0].text})示例使用index的as_retriever()方法得到VectorIndexRetriever然后调用retrieve方法来检索node列表。直接定义VectorIndexRetriever效果一样。2、后置处理过滤Node# 导入postprocessor from llama_index.core.postprocessor import KeywordNodePostprocessor, SimilarityPostprocessor node_postprocessors[ # 相似性 SimilarityPostprocessor( similarity_cutoff0.1 ) ] query index.as_query_engine(llmllm, node_postprocessorsnode_postprocessors)示例使用了相似性分数过滤Node过滤后把更少的Node信息作为上下文传递给大模型减少大模型的Token数量以及降低响应时间。更多后置处理器见下面地址。3、响应合成-检索后发起大模型对话# 查询 from llama_index.llms.deepseek import DeepSeek llm DeepSeek(modeldeepseek-chat, api_keysk-...) from llama_index.core.response_synthesizers import ResponseMode from llama_index.core import get_response_synthesizer # 定义响应合成逻辑默认是ResponseMode.COMPACT # compact: 合并Node作为上下文如果超长则使用refine提炼减少模型的请求次数最终借助生成一个答案 response_synthesizer get_response_synthesizer( response_modeResponseMode.COMPACT ) query index.as_query_engine(llmllm, response_synthesizerresponse_synthesizer) print(query.query(育儿方式?))示例通过使用index的as_query_engine()方法得到query引擎并指定响应合成模式“compact”这个也是默认模式含义见上代码注释最后调用query方法借助LLM生成答案。as_query_engine会获取无状态的查询引擎另有as_chat_engine支持多轮对话的有状态查询引擎。compact是其中一种合成模式让ChatGPT基于官方文档生成的不同模式的对照表供参考为什么会有不同的响应合成模式呢是因为 RAG 里拿到的文档往往是多个 chunk而 LLM 的 prompt 有长度限制。所以 LlamaIndex 提供了多种“怎样合成答案”的策略。不同的后置过滤器https://developers.llamaindex.ai/python/framework/module_guides/querying/node_postprocessors/node_postprocessors/不同响应合成模式https://developers.llamaindex.ai/python/framework/module_guides/querying/response_synthesizers/及对应代码类型定义llama_index.core.response_synthesizers.type.ResponseMode04 总结从整体来看LlamaIndex 已经构建出一个覆盖数据接入 → 文本解析 → 向量化与存储 → 检索策略 → 响应生成的完整 RAG 技术栈提供了高度模块化、可自由组合的能力。本文展示的示例仅是 LlamaIndex 功能体系中的一小部分。更多丰富的索引类型、检索模式、数据连接器以及企业级场景的模板与实践可以在官方文档或 LlamaHub 中学习和阅读。值得一提的是除了 RAG 相关组件外LlamaIndex 还提供了 基于事件驱动的 Workflow 工作流 与 Agent 智能体 能力能够进一步支持复杂任务编排、多模型协作等更高级的应用模式。这些在后续文章中逐一展开。​最后我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我整理出这套 AI 大模型突围资料包✅AI大模型学习路线图✅Agent行业报告✅100集大模型视频教程✅大模型书籍PDF✅DeepSeek教程✅AI产品经理入门资料完整的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】​​为什么说现在普通人就业/升职加薪的首选是AI大模型人工智能技术的爆发式增长正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议到全国两会关于AI产业发展的政策聚焦再到招聘会上排起的长队AI的热度已从技术领域渗透到就业市场的每一个角落。智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200%远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。​​资料包有什么①从入门到精通的全套视频教程⑤⑥包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图还有视频解说全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤ 这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。所有的视频教程由智泊AI老师录制且资料与智泊AI共享相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。课堂上不光教理论还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌​​​​如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】**​
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设费计什么科目深圳有好软件有限公司

“在我电脑上明明是好的”“在我电脑上明明是好的”,这句话我曾说过无数次,也听过无数次。每次新项目启动,或者新同事入职,团队里总要上演一场关于开发环境的“史诗级灾难片”。为了解决一个莫名其妙的依赖冲突,一个下…

张小明 2026/1/7 13:03:42 网站建设

go语言网站开发家装设计网页版

面对汽车电子开发中复杂的车载网络测试需求,如何选择一款功能全面、操作便捷的CAN/CAN FD测试软件?虹科HK-CoreTest作为一款综合车载总线测试软件,不仅支持CAN/CAN FD总线监控、报文收发、数据库解析等核心功能,还提供UDS诊断、FB…

张小明 2026/1/9 21:28:00 网站建设

做网站能申报只是产权么中国企业500强第一名是谁

Unity WebGL RTSP播放技术深度解析与实战部署 【免费下载链接】RTSP-Player-For-Unity-WebGL 测试网页居中弹窗播放 RTSP 视频,可用于接 rtsp 监控,同时演示怎么接入到 webgl 上 项目地址: https://gitcode.com/gh_mirrors/rt/RTSP-Player-For-Unity-W…

张小明 2026/1/9 18:27:51 网站建设

邯郸网站建设服务四平市城乡建设局网站

计算机组成原理期末10分的计算题:定点数加减法(注意溢出)与浮点数加减法详解关键词:计算机组成原理、定点数、浮点数、补码、溢出检测、IEEE 754、期末复习、CSDN技术博客引言 在《计算机组成原理》这门课程中,数值的表…

张小明 2026/1/8 22:32:13 网站建设

个人网站的订单WordPress百度怎么不收录

文章目录 具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 同行可拿货,招校园代理 php小程序红色文物活动文创产品商城系统APP_2fil7831 …

张小明 2026/1/9 22:09:12 网站建设

机械做网站好处外贸网站演示

VBA-JSON完整指南:在Excel和Access中高效处理JSON数据 【免费下载链接】VBA-JSON 项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON VBA-JSON是一款专为Office环境设计的轻量级JSON解析库,让VBA开发者能够在Excel、Access等应用程序中轻松…

张小明 2026/1/9 22:55:01 网站建设