- Categories:
Funções de cadeia de caracteres e binários (AI Functions)
SPLIT_TEXT_MARKDOWN_HEADER (SNOWFLAKE.CORTEX)¶
A função SPLIT_TEXT_MARKDOWN_HEADER divide um documento no formato Markdown em partes de texto estruturado com base em níveis de cabeçalho. A função retorna uma matriz de objetos, onde cada objeto contém a parte de texto e os cabeçalhos associados sob os quais essa parte se encontra.
Esta função é útil para preservar a estrutura do documento ao dividir o conteúdo para incorporação, geração aumentada de recuperação (RAG) ou indexação de pesquisa.
A função primeiro segmenta o texto de entrada usando os cabeçalhos Markdown especificados e depois divide recursivamente cada segmento usando separadores de texto simples padrão (por exemplo, ["nn", "n", " ", ""]) para produzir partes do tamanho desejado.
Sintaxe¶
Argumentos¶
Obrigatório:
'text_to_split'Uma string formatada em Markdown a ser dividida.
'headers_to_split_on'Um mapa de chave-valor no qual as chaves são da sintaxe do cabeçalho Markdown (por exemplo,
#,##) e os valores são nomes de campos de metadados (por exemplo,header_1,header_2) para rotular as partes. Por exemplo:Esta configuração dividirá o documento nos cabeçalhos
#e##. Na saída, os camposheader_1eheader_2conterão os valores de texto de cabeçalho correspondentes.chunk_sizeUm número inteiro que especifica o número máximo de caracteres em cada parte. O valor deve ser maior que zero.
Opcional:
overlapUm número inteiro que especifica o número de caracteres a serem sobrepostos entre partes consecutivas. O padrão é 0 se não for fornecido.
A sobreposição é útil para manter o contexto entre as partes, o que pode melhorar o desempenho em tarefas de incorporação e recuperação.
Retornos¶
Retorna uma matriz de objetos. Cada objeto tem a seguinte estrutura:
chunk: uma string contendo o texto extraído.headers: um dicionário contendo os valores do cabeçalho Markdown sob os quais a parte é aninhada. As chaves correspondem às fornecidas no mapaheaders_to_split_on.
Exemplos¶
Uso simples¶
O exemplo a seguir divide uma string Markdown nos cabeçalhos # e ##, produz partes de até 12 caracteres e aplica uma sobreposição de 5 caracteres entre as partes.
Exemplo com formatação Markdown e nivelamento de resultados em linhas¶
O exemplo a seguir cria uma tabela markdown_docs contendo um pequeno documento Markdown em cada linha, então chama a função SPLIT_TEXT_MARKDOWN_HEADER para segmentar cada documento nos cabeçalhos Markdown “#” e “##”. Em seguida, a função divide cada segmento em partes de 20 caracteres cada, com uma sobreposição de 5 caracteres entre as partes.