搜索
首页科技周边人工智能抹布系统的8种类型的块 - 分析Vidhya

>解锁在检索型发电一代(抹布)中块的力量:深度潜水

有效地处理大量文本数据对于构建强大而有效的检索生成(RAG)系统至关重要。 本文探讨了各种构成策略,对于优化数据处理和改善AI驱动应用程序的性能至关重要。 我们将深入研究不同的方法,强调他们的优势和劣势,并提供实用的例子。 目录的

抹布中有什么块?
    >
  • 块的重要性
  • 了解抹布架构和块状
  • >抹布系统的共同挑战
  • 选择最佳块策略
  • 基于字符的文本块
  • 递归字符文本用langchain
  • 分裂
  • 文档特定的块(html,python,json等)
  • >语义块与兰班和Openai
  • 代理分解(LLM驱动的块)
  • >
  • 基于截面的块
  • >上下文块,用于增强检索
  • >保存远距离上下文的后期块
  • 结论
抹布中有什么块?

8 Types of Chunking for RAG Systems - Analytics Vidhya8 Types of Chunking for RAG Systems - Analytics Vidhya 8 Types of Chunking for RAG Systems - Analytics Vidhya分解是将大型文本文档分为较小,更易于管理的单元的过程。 这对于抹布系统至关重要,因为语言模型的上下文窗口有限。 块确保相关信息保留在这些范围之内,从而最大程度地提高信噪比并提高模型性能。 目的不仅是要拆分数据,而且是要优化其向模型的显示,以增强可检索性和准确性。

>

>

为什么要块很重要? 色度联合创始人安东·特洛伊尼科夫(Anton Troynikov)强调,在上下文窗口中无关紧要的数据可显着降低应用程序效率。 分块对于:

至关重要

克服上下文窗口限制:

确保由于尺寸限制而不会丢失关键信息。

  1. 提高信号噪声比率:过滤不相关的内容,提高模型精度。
  2. >提高检索效率:促进相关信息的更快,更精确的检索。
  3. 特定于任务的优化:允许根据特定的应用需求量身定制块策略(例如,摘要与提问)。
  4. 抹布架构和块

    8 Types of Chunking for RAG Systems - Analytics Vidhya

    抹布架构涉及三个关键阶段:

    1. >块:原始数据分为较小的,有意义的块。
    2. 嵌入:块被转换为向量嵌入。
    3. 根据用户查询,检索相关的块
    4. > 检索和生成:相关块,LLM使用检索到的信息生成响应。

    抹布系统中的挑战 抹布系统面临几个挑战:

    >
      检索问题:
    1. 不准确或不完整地检索相关信息。
    2. 生成困难:
    3. 幻觉,无关或有偏的输出。
    4. 集成问题:
    5. 难以将检索到的信息相干地组合。>
    选择正确的块策略

    > 理想的块策略取决于几个因素:内容类型,嵌入模型和预期的用户查询。 考虑内容的结构和密度,嵌入模型的令牌限制以及用户可能会提出的问题的类型。

    1。基于字符的文本块

    这种简单的方法根据字符数将文本分配到固定尺寸的块中,无论语义含义如何。 虽然简单明了,但它通常会破坏句子的结构和上下文。 示例使用Python:

    2。递归字符文本用langchain
    text = "Clouds come floating into my life..."
    chunks = []
    chunk_size = 35
    chunk_overlap = 5
    # ... (Chunking logic as in the original example)

    分裂 >这种方法使用多个分离器(例如,双新线,单个新线,空格)递归地分配文本,并合并较小的块以优化目标字符大小。 它比基于角色的块更复杂,提供更好的上下文保存。 示例使用Langchain:

    3。文档特定的块
    # ... (LangChain installation and code as in the original example)

    使用格式特定的分隔符,此方法将块适应不同的文档格式(HTML,Python,Markdown等)。 这确保了块尊重文档的固有结构。 原始响应中提供了使用Langchain进行Python和Markdown的示例。

    4。语义块与兰班和Openai

    语义块的语义块根据语义含义分开文本,使用句子嵌入等技术来识别自然断点。 这种方法确保每个块代表一个连贯的想法。使用Langchain和OpenAI嵌入式的示例:

    5。代理块(LLM驱动的分块)

    >

    代理块利用LLM来识别文本中的自然断点,从而产生了更多相关的块。 这种方法利用LLM对语言和上下文的理解来产生更有意义的细分。 示例使用OpenAI API:

    text = "Clouds come floating into my life..."
    chunks = []
    chunk_size = 35
    chunk_overlap = 5
    # ... (Chunking logic as in the original example)
    6。基于截面的块

    >此方法利用文档的固有结构(标题,小标题,部分)来定义块。这对于结构良好的文档(例如研究论文或报告)特别有效。 使用Pymupdf和潜在的Dirichlet分配(LDA)进行基于主题的块:

    # ... (LangChain installation and code as in the original example)
    7。上下文块

    上下文块的重点是在每个块中保存语义上下文。 这样可以确保检索到的信息连贯且相关。示例使用Langchain和自定义提示:

    # ... (OpenAI API key setup and code as in the original example)
    8。晚分块

    >较晚的分块延迟块,直到为整个文档生成嵌入后。这可以保留远距离上下文依赖性,从而提高了嵌入和检索的准确性。使用Jina嵌入模型的示例:

    # ... (OpenAI API key setup and code as in the original example)
    结论

    >有效的块对于构建高性能的抹布系统至关重要。切块策略的选择显着影响信息检索的质量和产生的响应的连贯性。 通过仔细考虑数据的特征和应用程序的特定要求,开发人员可以选择最合适的块方法来优化其抹布系统的性能。 请记住,始终优先考虑在每个块中保持上下文的完整性和相关性。>

以上是抹布系统的8种类型的块 - 分析Vidhya的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
拥抱面部是否7B型号奥林匹克赛车击败克劳德3.7?拥抱面部是否7B型号奥林匹克赛车击败克劳德3.7?Apr 23, 2025 am 11:49 AM

拥抱Face的OlympicCoder-7B:强大的开源代码推理模型 开发以代码为中心的语言模型的竞赛正在加剧,拥抱面孔与强大的竞争者一起参加了比赛:OlympicCoder-7B,一种产品

4个新的双子座功能您可以错过4个新的双子座功能您可以错过Apr 23, 2025 am 11:48 AM

你们当中有多少人希望AI可以做更多的事情,而不仅仅是回答问题?我知道我有,最近,我对它的变化感到惊讶。 AI聊天机器人不仅要聊天,还关心创建,研究

Camunda为经纪人AI编排编写了新的分数Camunda为经纪人AI编排编写了新的分数Apr 23, 2025 am 11:46 AM

随着智能AI开始融入企业软件平台和应用程序的各个层面(我们必须强调的是,既有强大的核心工具,也有一些不太可靠的模拟工具),我们需要一套新的基础设施能力来管理这些智能体。 总部位于德国柏林的流程编排公司Camunda认为,它可以帮助智能AI发挥其应有的作用,并与新的数字工作场所中的准确业务目标和规则保持一致。该公司目前提供智能编排功能,旨在帮助组织建模、部署和管理AI智能体。 从实际的软件工程角度来看,这意味着什么? 确定性与非确定性流程的融合 该公司表示,关键在于允许用户(通常是数据科学家、软件

策划的企业AI体验是否有价值?策划的企业AI体验是否有价值?Apr 23, 2025 am 11:45 AM

参加Google Cloud Next '25,我渴望看到Google如何区分其AI产品。 有关代理空间(此处讨论)和客户体验套件(此处讨论)的最新公告很有希望,强调了商业价值

如何为抹布找到最佳的多语言嵌入模型?如何为抹布找到最佳的多语言嵌入模型?Apr 23, 2025 am 11:44 AM

为您的检索增强发电(RAG)系统选择最佳的多语言嵌入模型 在当今的相互联系的世界中,建立有效的多语言AI系统至关重要。 强大的多语言嵌入模型对于RE至关重要

麝香:奥斯汀的机器人需要每10,000英里进行干预麝香:奥斯汀的机器人需要每10,000英里进行干预Apr 23, 2025 am 11:42 AM

特斯拉的Austin Robotaxi发射:仔细观察Musk的主张 埃隆·马斯克(Elon Musk)最近宣布,特斯拉即将在德克萨斯州奥斯汀推出的Robotaxi发射,最初出于安全原因部署了一支小型10-20辆汽车,并有快速扩张的计划。 h

AI震惊的枢轴:从工作工具到数字治疗师和生活教练AI震惊的枢轴:从工作工具到数字治疗师和生活教练Apr 23, 2025 am 11:41 AM

人工智能的应用方式可能出乎意料。最初,我们很多人可能认为它主要用于代劳创意和技术任务,例如编写代码和创作内容。 然而,哈佛商业评论最近报道的一项调查表明情况并非如此。大多数用户寻求人工智能的并非是代劳工作,而是支持、组织,甚至是友谊! 报告称,人工智能应用案例的首位是治疗和陪伴。这表明其全天候可用性以及提供匿名、诚实建议和反馈的能力非常有价值。 另一方面,营销任务(例如撰写博客、创建社交媒体帖子或广告文案)在流行用途列表中的排名要低得多。 这是为什么呢?让我们看看研究结果及其对我们人类如何继续将

公司竞争AI代理的采用公司竞争AI代理的采用Apr 23, 2025 am 11:40 AM

AI代理商的兴起正在改变业务格局。 与云革命相比,预计AI代理的影响呈指数增长,有望彻底改变知识工作。 模拟人类决策的能力

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。