机关门户网站建设管理情况购买建立网站费怎么做会计凭证
2026/1/14 10:27:57 网站建设 项目流程
机关门户网站建设管理情况,购买建立网站费怎么做会计凭证,百度排行,广东君冠建设有限公司网站写在前面的话 RAG是什么#xff1f;如果你还不清楚或是一知半解#xff0c;不要紧#xff0c;如果看完这篇文章#xff0c;你还不会#xff0c;算我输#xff01; 在人工智能飞速发展的今天#xff0c;大型语言模型#xff08;LLM#xff09;以其强大的文本生成能力如果你还不清楚或是一知半解不要紧如果看完这篇文章你还不会算我输在人工智能飞速发展的今天大型语言模型LLM以其强大的文本生成能力正在深刻改变我们与信息交互的方式。然而LLM也并非完美无缺它们有时会面临“幻觉”Hallucination问题即生成听起来合理但实际上不准确或不真实的内容。此外LLM的知识通常停留在其训练数据的时间点难以获取实时更新的信息或特定领域的专业知识。为了解决这些挑战检索增强生成Retrieval Augmented Generation简称RAG技术应运而生它将传统的信息检索能力与LLM的生成能力相结合为构建更准确、可靠和实时的AI应用提供了强大的解决方案。本文力争通过本文讲透RAG原理、开源应用、及代码示例我们一起努力时间不会辜负每个努力的人加油什么是RAG检索增强生成Retrieval Augmented Generation简称RAG是一种优化大型语言模型LLM输出的技术。它通过在生成响应之前从外部权威知识库中检索相关信息并将其作为上下文提供给LLM从而提高LLM回答的准确性、可靠性和时效性同时有效缓解LLM可能出现的“幻觉”问题。RAG的工作原理RAG的工作流程通常分为两个主要阶段检索阶段和生成阶段。1. 检索阶段 (Retrieval Phase)在检索阶段RAG模型会根据用户的查询Query或问题从预先构建的知识库中检索出最相关的文档或信息片段。这个阶段的关键步骤包括•数据准备与索引 (Data Preparation Indexing)•数据摄取 (Data Ingestion)从各种数据源如文档、数据库、网页等收集原始数据。•文本分块 (Text Chunking)将长文本分割成更小的、有意义的片段chunks。这有助于提高检索的粒度并确保每个片段都能被有效地嵌入。•嵌入 (Embedding)使用嵌入模型Embedding Model将文本片段转换为高维向量embeddings。这些向量能够捕捉文本的语义信息使得语义相似的文本在向量空间中距离更近。•向量存储 (Vector Storage)将生成的向量存储到向量数据库Vector Database中。向量数据库针对高效的相似性搜索进行了优化。•查询处理与相似性搜索 (Query Processing Similarity Search)• 当用户提出查询时同样的嵌入模型会将查询转换为向量。• 然后这个查询向量会在向量数据库中进行相似性搜索找出与查询向量最接近即语义最相关的文本片段。• 检索到的文本片段将作为后续生成阶段的上下文信息。2. 生成阶段 (Generation Phase)在生成阶段大型语言模型LLM会利用检索阶段获得的上下文信息结合原始的用户查询生成最终的回答。这个阶段包括•上下文整合 (Context Integration)将检索到的相关文本片段与原始用户查询一起构建成一个增强的提示Prompt。这个提示通常会明确指示LLM基于提供的上下文进行回答。•LLM生成 (LLM Generation)LLM接收增强后的提示并根据其内部知识和提供的外部上下文信息生成回答。由于LLM现在有了额外的、相关且权威的信息作为参考它能够生成更准确、更少“幻觉”的回答。RAG如何解决LLM的“幻觉”问题大型语言模型在训练过程中可能会“编造”信息即产生“幻觉”Hallucination给出听起来合理但实际上不准确或不真实的内容。RAG通过以下方式有效缓解这一问题引入外部知识源RAG的核心在于将LLM的知识范围扩展到其训练数据之外的实时或特定领域的数据。这意味着LLM不再仅仅依赖其内部参数中固化的知识而是可以访问和利用最新的、经过验证的信息。提供事实依据通过检索阶段RAG为LLM提供了生成回答所需的事实依据。LLM被“锚定”在这些检索到的信息上从而减少了其“自由发挥”和产生不准确信息的可能性。可追溯性RAG系统通常可以指出其回答所依据的原始文档或信息来源这大大增加了回答的可信度和可追溯性。用户可以验证信息的真实性这对于需要高准确性的应用场景如医疗、法律、金融至关重要。实时性与更新LLM的训练数据通常是静态的无法及时反映最新信息。RAG通过连接到可实时更新的知识库确保LLM能够访问到最新的数据从而避免因信息过时而产生的错误。RAG的优势•提高准确性通过提供外部事实依据显著减少LLM的幻觉提高回答的准确性。•增强可靠性答案基于可验证的外部知识增加了系统的可靠性和可信度。•降低成本无需对LLM进行昂贵的再训练或微调即可使其适应新数据或特定领域知识。•实时性能够利用最新信息解决LLM知识滞后的问题。•可解释性可以追溯答案的来源提高系统的透明度。RAG的挑战•检索质量检索到的信息质量直接影响生成结果。不相关的或低质量的检索结果可能导致生成内容不佳。•分块策略如何有效地将文档分块既能保留上下文又能适应LLM的输入限制是一个挑战。•向量数据库选择与管理选择合适的向量数据库并进行有效的索引和管理需要专业知识。•多模态RAG处理图片、视频等非文本数据并进行有效检索和生成是未来的发展方向和挑战。RAG整体架构图模型服务层 知识库层 RAG核心系统 用户交互层 用户查询 查询处理 查询向量化 向量相似性搜索 检索相关文档 上下文整合 LLM生成回答 回答后处理 原始文档 文档预处理 文本分块 向量嵌入 向量数据库 嵌入模型Embedding Model 大语言模型LLM 最终回答RAG工作流程图用户提问 检索阶段 查询向量化 向量数据库检索 获取相关文档片段 生成阶段 构建增强提示 LLM生成回答 返回最终回答RAG数据处理流程图原始数据 数据摄取 文档预处理 文本分块 文本嵌入 向量数据库存储 向量索引主流开源RAG实现方案随着RAG技术的日益成熟许多优秀的开源框架和库应运而生极大地降低了RAG应用的开发门槛。这些框架通常提供了一系列模块化的组件涵盖了RAG工作流的各个环节从数据加载、文本处理、向量嵌入到检索和LLM集成。以下是目前最受欢迎的几个开源RAG框架1. LangChainLangChain是一个功能强大的框架旨在帮助开发者构建端到端的LLM应用。它提供了丰富的模块和工具使得RAG的实现变得简单高效。LangChain的核心概念包括•模型Models支持各种LLM和聊天模型。•提示Prompts用于构建和管理LLM的输入提示。•索引Indexes用于结构化文档以便LLM可以与它们交互。这包括文档加载器、文本分割器、向量存储和检索器。•链Chains将多个组件组合在一起形成一个完整的应用逻辑例如检索问答链。•代理Agents允许LLM根据工具的描述自主决定采取哪些行动。LangChain的优势在于其高度的模块化和灵活性开发者可以根据自己的需求选择和组合不同的组件。它支持与多种向量数据库如Chroma、FAISS、Pinecone等和嵌入模型如OpenAI Embeddings、Hugging Face Embeddings等的集成。2. LlamaIndexLlamaIndex原名GPT Index是一个专注于将外部数据源连接到LLM的框架。它提供了一套全面的工具用于数据摄取、索引构建、查询和检索。LlamaIndex的特点在于其对数据源的广泛支持和灵活的索引策略能够帮助开发者轻松地为LLM构建定制化的知识库。LlamaIndex的主要组件包括•数据连接器Data Connectors用于从各种数据源如文件、数据库、API等加载数据。•文档Documents表示加载的数据。•节点Nodes文档的原子单位通常是文本块或结构化数据。•索引Indexes将节点组织成可查询的结构例如向量索引、树索引、列表索引等。•查询引擎Query Engines用于接收用户查询通过索引检索相关信息并将其传递给LLM生成回答。LlamaIndex在处理非结构化数据和构建复杂知识图谱方面表现出色是构建高级RAG应用的理想选择。3. DifyDify是一个开源的LLM应用开发平台它融合了Backend-as-a-Service和LLMOps的理念旨在简化生成式AI应用的开发和运营。Dify提供了可视化的Prompt编排、RAG管道、Agent工作流、数据集管理等功能使得开发者可以快速构建和部署生产级的RAG应用。其RAG功能特点包括•可视化RAG管道Dify将RAG管道的各个环节可视化提供友好的用户界面方便用户管理知识库、文档和数据源。•多种数据源支持支持从多种数据源摄取数据并进行文本分块、嵌入和向量存储。•Agentic AI工作流支持构建Agentic AI应用结合RAG能力实现更复杂的任务和决策。•易于集成提供丰富的API和SDK方便将RAG能力集成到现有应用中。Dify适用于希望通过低代码/无代码方式快速构建和管理RAG应用的团队和个人。4. FastGPTFastGPT是一个基于LLM的知识库问答系统提供开箱即用的数据处理、模型调用、RAG检索和可视化AI工作流编排能力。它旨在帮助用户快速构建专属的AI知识库和智能问答系统。FastGPT的RAG功能特点包括•开箱即用提供数据处理、模型调用、RAG检索等一站式能力简化RAG应用的开发流程。•可视化工作流通过Flow可视化编排用户可以自由组合各种功能节点实现复杂的问答场景。•知识库管理支持多种知识库创建方式包括手动输入、QA拆分、直接分段和CSV导入等方便用户管理和优化知识库内容。•API集成提供OpenAPI功能方便开发者将FastGPT的RAG能力集成到自己的应用中。FastGPT适用于需要快速构建和部署基于知识库的智能问答系统并希望通过可视化界面进行管理的场景。5. HaystackHaystack是Deepset公司开发的一个开源NLP框架专注于构建生产级的搜索系统和问答系统。它提供了灵活的管道Pipelines机制允许开发者组合不同的组件来构建RAG应用。Haystack的组件包括•文档存储Document Stores用于存储文档支持多种后端如Elasticsearch、FAISS、Pinecone等。•检索器Retrievers用于从文档存储中检索相关文档支持BM25、DPR、Embedding Retriever等多种检索算法。•阅读器Readers用于从检索到的文档中提取精确的答案。•生成器Generators用于生成自然语言回答。Haystack的优势在于其强大的搜索能力和对生产环境的优化适合构建高性能的RAG系统。6. RAGFlowRAGFlow是一个端到端的开源RAG引擎旨在提供一站式的RAG解决方案。它特别强调深度文档理解能力能够有效地处理各种格式的文档并从中提取高质量的信息。RAGFlow的特点包括•智能文档解析支持OCR、表格识别、图片理解等功能能够从复杂文档中准确提取内容。•多种分块策略提供多种文本分块模板并支持可视化编辑方便用户根据文档特性进行优化。•内置向量数据库简化了部署和管理。•用户友好的界面提供了Web界面方便用户进行文档管理、知识库构建和问答测试。RAGFlow适用于需要处理大量复杂文档并希望快速构建RAG应用的场景。这些开源框架为开发者提供了丰富的工具和灵活的选项使得RAG技术的应用变得更加便捷和高效。在实际项目中开发者可以根据具体需求和技术栈选择最适合的框架进行开发。代码示例为了更好地理解RAG的实际应用我们将通过LangChain和LlamaIndex这两个主流框架展示如何构建一个简单的RAG系统。请注意以下代码示例需要您配置OpenAI API Key才能运行。LangChain RAG示例首先确保您已安装LangChain和OpenAI库pip install langchain langchain-community langchain-openai然后创建一个名为langchain_rag_example.py的文件并将以下代码复制进去。请将YOUR_OPENAI_API_KEY替换为您的实际OpenAI API Key。import osfrom langchain_community.document_loaders import TextLoaderfrom langchain_community.embeddings import OpenAIEmbeddingsfrom langchain_community.vectorstores import Chromafrom langchain.text_splitter import CharacterTextSplitterfrom langchain.chains import RetrievalQAfrom langchain_community.llms import OpenAI# 设置OpenAI API Key# os.environ[OPENAI_API_KEY] YOUR_OPENAI_API_KEY# 1. 加载文档# 为了演示方便这里直接创建一个data.txt文件withopen(data.txt, w, encodingutf-8) as f: f.write(RAGRetrieval Augmented Generation是一种优化大型语言模型LLM输出的技术。它通过在生成响应之前从外部权威知识库中检索相关信息并将其作为上下文提供给LLM从而提高LLM回答的准确性、可靠性和时效性同时有效缓解LLM可能出现的“幻觉”问题。RAG的工作流程通常分为两个主要阶段检索阶段和生成阶段。检索阶段包括数据准备与索引、查询处理与相似性搜索。生成阶段包括上下文整合和LLM生成。LangChain和LlamaIndex是流行的RAG开源框架。)loader TextLoader(data.txt, encodingutf-8)documents loader.load()# 2. 分割文本text_splitter CharacterTextSplitter(chunk_size100, chunk_overlap0)texts text_splitter.split_documents(documents)# 3. 创建嵌入并存储到向量数据库# 注意这里需要有效的OpenAI API Keyembeddings OpenAIEmbeddings()db Chroma.from_documents(texts, embeddings)# 4. 创建检索器retriever db.as_retriever()# 5. 创建RAG链qa RetrievalQA.from_chain_type(llmOpenAI(), chain_typestuff, retrieverretriever)# 6. 提问query RAG的工作流程是怎样的print(qa.run(query))query RAG解决了LLM的什么问题print(qa.run(query))运行此脚本您将看到RAG系统根据提供的文档内容回答问题。LlamaIndex RAG示例首先确保您已安装LlamaIndex和OpenAI库pip install llama-index openai然后创建一个名为llama_index_rag_example.py的文件并将以下代码复制进去。请将YOUR_OPENAI_API_KEY替换为您的实际OpenAI API Key。import osfrom llama_index.core import VectorStoreIndex, SimpleDirectoryReaderfrom llama_index.embeddings.openai import OpenAIEmbeddingfrom llama_index.llms.openai import OpenAI# 设置OpenAI API Key# os.environ[OPENAI_API_KEY] YOUR_OPENAI_API_KEY# 1. 加载文档# 确保data.txt文件存在内容与LangChain示例相同documents SimpleDirectoryReader(input_files[data.txt]).load_data()# 2. 创建嵌入模型和LLMembed_model OpenAIEmbedding()llm OpenAI()# 3. 创建索引并存储到向量数据库 (默认使用内存中的SimpleVectorStore)index VectorStoreIndex.from_documents(documents, embed_modelembed_model)# 4. 创建查询引擎query_engine index.as_query_engine(llmllm)# 5. 提问query RAG的工作流程是怎样的response query_engine.query(query)print(response)query RAG解决了LLM的什么问题response query_engine.query(query)print(response)运行此脚本您将看到LlamaIndex系统根据提供的文档内容回答问题。最后的总结RAG技术通过将外部知识检索与大型语言模型相结合为解决LLM的“幻觉”问题和知识滞后性提供了有效的途径。它不仅提高了LLM回答的准确性和可靠性还降低了模型训练和维护的成本。随着RAG技术的不断发展和完善以及更多开源框架的涌现RAG将在未来的AI应用中扮演越来越重要的角色为各行各业带来更智能、更可靠的解决方案。希望本文能帮助您对RAG技术有一个全面的了解并为您的实践提供有益的参考。如何学习AI大模型如果你对AI大模型入门感兴趣那么你需要的话可以点击这里大模型重磅福利入门进阶全套104G学习资源包免费分享这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】这是一份大模型从零基础到进阶的学习路线大纲全览小伙伴们记得点个收藏第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。100套AI大模型商业化落地方案大模型全套视频教程200本大模型PDF书籍学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。LLM面试题合集大模型产品经理资源合集大模型项目实战合集获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询