首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏AI应用开发实践

    RAG应用如何进行有效的文本切分

    首先松哥和大家讨论第一个问题,就是为什么我们要重视文本切分。 一 为什么文本切分很重要 1.1 提升检索相关性:精准匹配用户需求 RAG 的核心是“先检索、后生成”,而检索的本质是从知识库中找到与用户查询语义最相关的信息。 二 文本该如何切分 那么文本该如何切? 原理 核心是“机械切割”,以量化的长度为唯一标准,不涉及对文本内容的理解。 例如:设定固定长度为 100 字符,无论文本是句子、段落还是代码,均从开头每 100 字符切分一次。 例如:预设长度为 500 字符,先按段落(换行符)切分,若某段落超过 500 字符,则按句号(句子)切分该段落;若某句子仍过长,则按逗号切分,以此类推。

    18510编辑于 2026-03-26
  • 来自专栏Java架构师必看

    水平切分与垂直切分

    数据库优化无非水平切分与垂直切分! 1.水平.就是按记录分.

    93030发布于 2021-03-22
  • 拯救重复劳动:无代码实现 Markdown文本抽取与切分

    其主要技术思想是,将文件中的数据抽取并合理切分后,转换为向量存储在拥有向量检索能力的数据库中。当有使用者提出问题时,将问题转换为向量并从向量库中检索出与问题相关的文档块信息。 在这个技术方案中,如果要获得好的应用效果,首先需要文件数据块拥有较高的切分质量,即数据块中的数据尽量自然内聚,语义明确。 否则,在进行向量匹配时,匹配到的文本块与问题的相关度不高或噪音过多,都无法通过LLM归纳获得高质量的回答。那么,如何切分文档能获得明确语义的文本块呢?按照文档的章节切分是一个不错的选择。 故建议将所有其它类型的结构文件都统一转为Markdown结构后再进行文本抽取和切分。下面,我们就介绍下如何使用HuggingFists系统无代码实现Markdown中数据的抽取与切分。 块重叠值:缺省值为0,表示文本块之间不留重叠部分。当该值不为0时,文本块会在块前指定长度的前块数据。以便拆分文本块时可以保留上下两个文本块可能存在的语义连贯性。下面我们看一下流程的执行结果。

    45410编辑于 2025-07-29
  • 来自专栏ClearSeve

    MFC窗口切分

    在主窗体,OnCreateClient重载该函数 动态切分 在OnCreateClient函数中使用CSplitterWnd 对象进行窗口切分 动态切分不可>2行|列 BOOL CreateStatic ( CWnd* pParentWnd, int nMaxRows, //切分的行数 int nMaxCols, //切分的列数 SIZE sizeMin, // CCreateContext* pContext, //创建信息 DWORD dwStyle, UINT nID = AFX_IDW_PANE_FIRST ); 静态切分 CSplitterWnd::CreateStatic 进行切分窗口 CSplitterWnd::CreateView 对切分好的窗口创建视图 CSplitterWnd::IdFromRowCol 在已切分窗口进行再切分 (在CreateStatic指定需要在切分的行|列,并将父类修改为上次切分的对象地址) m_wndAgainSplitter.CreateStatic(&m_wndSplitter,2,2,WS_CHILD

    1.4K40编辑于 2022-02-11
  • 【详解】Mycat读写分离+垂直切分+水平切分+er分片+全局表

    垂直切分2.1 概述垂直切分是指将不同的表或业务模块拆分到不同的数据库中,以减少单个数据库的压力。Mycat支持通过配置​​schema​​和​​table​​来实现垂直切分。 水平切分3.1 概述水平切分是指将同一张表的数据拆分到多个数据库中,以分散数据存储压力。Mycat支持通过配置分片规则来实现水平切分。 垂直切分:将用户信息和订单信息分别存储在不同的数据库中。水平切分:将订单信息按用户ID进行切分,存储在不同的分片中。ER 分片:确保相关联的数据存储在同一分片中。 垂直切分垂直切分是将不同的表或表的一部分分配到不同的数据库中,以减少单个数据库的压力。 水平切分水平切分是将同一个表的数据按照某种规则(如哈希、范围等)分散到多个数据库中。

    32410编辑于 2025-09-08
  • 来自专栏从零开始的Code生活

    切分木棒(DFS)(BFS)

    题目 假设要把长度为 n 厘米的木棒切分为 1 厘米长的小段,但是 1 根木棒只能由 1 人切分,当木棒被切分为 3 段后,可以同时由 3 个人分别切分木棒(图 2)。 求最多有 m 个人时,最少要切分几次。譬如 n = 8,m= 3 时如图所示,切分 4 次就可以了。

    58320编辑于 2022-01-13
  • 来自专栏性能与架构

    数据库数据切分

    垂直切分 将数据库想象成由很多个一大块一大块的“数据块”(表)组成,垂直地将这些“数据块”切开,然后把它们分散到多台数据库主机上面 优点 (1)数据库的拆分简单明了,拆分规则明确 (2)应用程序模块清晰明确 (3)数据维护方便易行,容易定位 缺点 (1)部分表关联无法在数据库级别完成,要在程序中完成 (2)对于访问极其频繁且数据量超大的表仍然存在性能瓶颈,不一定能满足要求 (3)事务处理复杂 (4)切分达到一定程度之后 ,扩展性会受到限制 (5)过度切分可能会带来系统过于复杂而难以维护 水平切分 将某个访问极其频繁的表再按照某个字段的某种规则分散到多个表中,每个表包含一部分数据 优点 (1)表关联基本能够在数据库端全部完成 (2)不会存在某些超大型数据量和高负载的表遇到瓶颈的问题 (3)应用程序端整体架构改动相对较少 (4)事务处理相对简单 (5)只要切分规则能够定义好,基本上较难遇到扩展性限制 缺点 (1)切分规则相对复杂 ,很难抽象出一个能够满足整个数据库的切分规则 (2)后期数据的维护难度有所增加,人为手工定位数据更困难 (3)应用系统各模块耦合度较高,可能会对后面数据的迁移拆分造成一定的困难

    1.1K50发布于 2018-04-02
  • 来自专栏算法修养

    pta习题集 5-10 切分表达式——写个tokenizer吧

    现在,对于给定的一个四则运算表达式,请把她的每个token切分出来。题目保证给定的表达式是正确的,不需要做有效性检查。

    1.1K60发布于 2018-04-27
  • 来自专栏壳屋栏博客专栏

    Win10如何修改文本缩放比例?Win10修改文本缩放比例的方法

    Win10系统可以说是一款比较常见的操作系统,有不少小伙伴都在使用,但是在使用的时候却觉得字体太小看不清,想要去调整的时候却不知应该如何操作,那么遇到这种情况要如何解决呢? 下面就和小编一起来看看要如何修改文本缩放比例。 Win10修改文本缩放比例的方法 1、点击桌面左下角的开始菜单,点击设置面板。 2、找到系统板块一栏。 3、点击屏幕选项。 4、最后在右侧的缩放与布局板块中,就文本项目大小的比例改为100%即可。

    2.5K10编辑于 2022-06-24
  • 来自专栏desperate633

    LintCode 单词切分题目分析

    题目 给出一个字符串s和一个词典,判断字符串s是否可以被空格切分成一个或多个出现在字典中的单词。 样例 给出 s = "lintcode" dict = ["lint","code"] 返回 true 因为"lintcode"可以被空格切分成"lint code" 分析 这道题算动态规划里比较复杂的 下面来分析具体的算法思路: dp[i]:表示前i个字符能不能被完整的切分,要么为true,要么为false. 假设判断到了第i个字符,我们还要在内部用一个循环判断,从1到i 个字符,在哪个地方可以被切分,这个循环变量用j表示,那么dp[i]为true的条件是,dp[i-j]为true,且后面s.subString { return true; } int maxLength = getMaxLength(dict); //前i个字符能不能切分

    63120发布于 2018-08-22
  • 来自专栏后台技术底层理解

    spark分区与任务切分

    我们都知道在spark中,RDD是其基本的抽象数据集,其中每个RDD由多个Partition组成。在job的运行期间,参与运算的Parttion数据分布在多台机器中,进行并行计算,所以分区是计算大数据量的措施。

    2.2K20发布于 2020-08-04
  • 来自专栏IT技术精选文摘

    HBase Region自动切分细节

    HBase系统中Region自动切分是如何实现的,这里面涉及很多知识点,比如Region切分的触发条件是什么、Region切分切分点在哪里、如何切分才能最大的保证Region的可用性、如何做好切分过程中的异常处理 ConstantSizeRegionSplitPolicy'} Region切分准备工作:寻找Splitpoint region切分策略会触发region切分切分开始之后的第一件事是寻找切分点-splitpoint Region核心切分流程 HBase将整个切分过程包装成了一个事务,意图能够保证切分事务的原子性。 ,即要么切分完全成功,要么切分完全未开始,在任何情况下也不能出现切分只完成一半的情况。 Region切分对其它模块的影响通过region切分流程的了解,我们知道整个region切分过程并没有涉及数据的移动,所以切分成本本身并不是很高,可以很快完成。

    2.4K71发布于 2018-01-30
  • 来自专栏#大模型热点基础知识

    什么是RAG文档切分策略?

    比如处理日志文件、代码提交记录这类结构化的文本,固定切分能快速产生均匀的chunks。但代价是语义完整性被破坏。 设置10-20%的重叠区域,让相邻chunk共享部分内容。 实践中10-20%是经验值,比如chunksize512时,overlap设置50-100。 对关键段落(如定义、结论)增加重叠率到30%,对背景描述保持10%,在保证不丢失核心信息的同时节省存储。元信息注入:在chunk开头注入文档层级信息。 多模态文档切分:随着RAG从文本扩展到图片、表格、视频,切分策略也需要演进。如何切分包含图表的技术文档?如何分割视频教程?多模态chunk的定义和检索是下一个前沿方向。

    27420编辑于 2026-04-02
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    Sqoop切分数据的思想概况

    Sqoop通过--split-by指定切分的字段,--m设置mapper的数量。通过这两个参数分解生成m个where子句,进行分段查询。 因此sqoop的split可以理解为where子句的切分。 第一步,获取切分字段的MIN()和MAX() 为了根据mapper的个数切分table,sqoop首先会执行一个sql,用于获取table中该字段的最小值和最大值,源码片段为org.apache.sqoop.mapreduce.DataDrivenImportJob 第二步,根据MIN和MAX不同的类型采用不同的切分方式 支持有Date,Text,Float,Integer,Boolean,NText,BigDecimal等等。 复杂的是字符串这种类型,最简单的方式就是m小于26的时候,比如2,那么按照开头字母就可以切分,[A,M),[M,Z].但是对于hello,helaa这种就只能到第四个字母才能切分了。

    1.5K50发布于 2018-01-17
  • 来自专栏飞总聊IT

    Python实用技巧大任务切分

    今天来说说,Python 中的任务切分。以爬虫为例,从一个存 url 的 txt 文件中,读取其内容,我们会获取一个 url 列表。我们把这一个 url 列表称为大任务。 列表切分 在不考虑内存占用的情况下,我们对上面的大任务进行一个切分。比如我们将大任务切分成的小任务是每秒最多只访问5个URL。 name__ == '__main__': run() 关键代码都在for循环里,首先我们通过声明range的第三个参数,该参数指定迭代的步长为5,这样每次index增加都是以5为基数,即0,5,10 ,这里我们每次切分出含有5个元素的生成器,因为生成器没有__len__方法所以,我们将其转为列表,然后判断列表是否为空,就可以知道迭代是否该结束了。 下面就和大家讨论,异步生成器切分的问题 异步生成器切分 首先先来看一个简单的异步生成器。

    75130发布于 2019-12-02
  • 来自专栏坚毅的PHP

    startup script和cronolog日志切分

    lamp/ruby/railscook/opensource/0596527314/i_0596527314_chp_13_sect_6.html 安装cronolog cronolog是个简单的日志切分插件 ,常见的经典应用就是切分apache的单个庞大日志,按日期保存 安装: ----------------------------------------------------------------

    1.4K60发布于 2018-03-20
  • 来自专栏林德熙的博客

    win10 uwp 读取文本GBK错误

    本文讲的是解决UWP文本GBK打开乱码错误,如何去读取GBK,包括网页GBK。最后本文给出一个方法追加文本。 GBK UWP 读取记事本 UWP 访问GBK网页乱码 UWP 乱码 UWP GB2312 乱码 UWP 网页乱码 其实不知道垃圾wr怎么想,现在没法读ASCII,把文本文本编辑器打开 原因是因为文本保存为 查了一下WPF使用默认可以读,原因是默认的 WPF 的编码读取是 GBK 所以这时就可以读取,但是在 UWP 是没有 GBK 的,默认也不是。 我们可以Catch,用GBK读文本,这样如果读取错误就是文件错了。 - Artech - 博客园 文本还有一个坑,我们如何在文本追加?uwp追加文本其实换了类,在FileIO。

    1.6K10发布于 2018-09-18
  • 来自专栏reizhi

    Machete Lite 视频切分工具

      博主用过的视频切分工具不少,比如UltraVideoSplitter或者Boilsoft Video Splitter等。 但不知是不是打开方式不对,总有半数以上的视频切分之后音频流或者视频流损坏,又或者关键帧分割错误导致开头结尾处有少量马赛克。这次在用过Machete Lite之后感觉不错,特与大家分享。   此软件lite版本为精简版,仅支持AVI和WMV视频格式切分,不过对于博主而言完全足够,便不去找什么和谐版了。   此时按5标记切分起点,继续使用2预览直到确定终点,按3或4跳到最近关键帧。此时按6标记切分终点,最后按7进行保存。   由于切分仅仅是对视频进行重新封装,所以速度很快,也不会影响到画质。

    67240编辑于 2022-09-26
  • 来自专栏坚毅的PHP

    python日志按时间切分-----TimedRotatingFileHandler

    原生loggging类+ TimedRotatingFileHandler类 实现按day hour second 切分 原生loggging类+ TimedRotatingFileHandler类 实现按day hour second 切分 import logging from logging.handlers import TimedRotatingFileHandler log = logging.getLogger message)s') # 每行日志的前缀设置 fileTimeHandler = TimedRotatingFileHandler(BASIC_LOG_PATH + filename, "S", 1, 10 ) fileTimeHandler.suffix = "%Y%m%d.log" #设置 切分后日志文件名的时间格式 默认 filename+"." + suffix 如果需要更改需要改logging

    3.8K60发布于 2018-03-20
  • 来自专栏编程大道

    关于切分字符串split

    有好几次想切分字符串都没有成功,也没有找到原因 是这样的字符串:aaa|bbb|ccc|ddd。 用的是竖线来隔开的,之前切分的是这样的:aaa;bbb;ccc;ddd。 这样的字符串直接这样 String[] resArr=res.split(";"); 来切分就成功了,可是像用“|”来隔开的字符串,用同样的方法行不通。 我又尝试了一下别的字符分割,看用别的符号隔开字符串时切分,会不会也遇到这种问题。 果然当我用英文圆点“.”时,和竖线一样也不成功,同样还有其他,例如:“$”、“[”等符号。试了好多目前就发现这几个。 自己摸索着用了下面的方法解决了问题,就是在切分的时候把符号转义,加两个撇就可以了。 ,照样可以切分成功。

    74920发布于 2019-07-15
领券