无法使用 Azure SplitSkill 以编程方式模拟 Azure 中的手动文档拆分

问题描述 投票:0回答:1

我将从在 Azure 中手动设置 RAG 解决方案转向使用 azure python sdk 以编程方式设置所有内容。我有一个带有单个

pdf
的容器。手动设置时,在将分块设置为 256 时,可以看到创建的索引下的文档计数为 401。使用我的自定义技能组时:

split_skill = SplitSkill(
    name="split",
    description="Split skill to chunk documents",
    context="/document",
    text_split_mode="pages",
    default_language_code="en",
    maximum_page_length=300,  # why cannot this be set to 256 if I can do this with a manual setup?
    page_overlap_length=30,
    inputs=[  
        InputFieldMappingEntry(name="text", source="/document/content"),  
    ],  
    outputs=[  
        OutputFieldMappingEntry(name="textItems", target_name="pages")  
    ],
)

我得到了 271。我想尽可能地模仿我的手动分块设置,因为我已经有了很好的性能。我缺少什么?或者,有人可以向我指出手动执行分块时的默认设置吗?

2 月 22 日编辑

回答@JayashankarGS

根据此文档,您需要给出的最小值是 300。 learn.microsoft.com/en-us/azure/search/… RAG 中的分块并不像 与分割技能组中的 MaximumPageLength 相同。

对我来说,看起来

maximum_page_length
正是
chunking_size
。但你是对的,截至今天,使用 SplitSkill 选择小于 300 的块大小没有任何作用...

python azure-cognitive-services azure-python-sdk
1个回答
0
投票

你可以模仿分裂;但是,文本分割技能的最小长度限制为

300
,而您的手动设置中并非如此。

由于文本拆分技能不接受小于

maximum_page_length
300
,因此您可以使用 Azure ML 注册表中的
LLM_RAG_CRACK_AND_CHUNK_AND_EMBED
内置组件来拆分文档。然后,在此组件生成的数据集上创建索引。

请参阅this有关

LLM_RAG_CRACK_AND_CHUNK_AND_EMBED
的堆栈溢出解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.