Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2025 (17.x)
Azure SQL Database
SQL database in Microsoft Fabric
AI_GENERATE_CHUNKS je funkce s hodnotou tabulky, která vytváří "bloky" nebo fragmenty textu na základě typu, velikosti a zdrojového výrazu.
Úroveň kompatibility 170
AI_GENERATE_CHUNKS vyžaduje úroveň kompatibility minimálně 170. Pokud je úroveň menší než 170, databázový stroj nemůže najít AI_GENERATE_CHUNKS funkci.
Pokud chcete změnit úroveň kompatibility databáze, přečtěte si článek Zobrazení nebo změna úrovně kompatibility databáze.
Syntaxe
AI_GENERATE_CHUNKS (source = text_expression
, chunk_type = FIXED
[ , chunk_size = numeric_expression ]
[ , overlap = numeric_expression ]
[ , enable_chunk_set_id = numeric_expression ]
)
Argumenty
zdroj
Výraz libovolného typu znaku (například nvarchar, varchar, nchar nebo char).
chunk_type
Řetězcový literál pojmenování typu nebo metody pro vytvoření bloku textu nebo dokumentu a nemůže být NULL nebo hodnota ze sloupce.
Přijaté hodnoty pro tuto verzi:
FIXED
chunk_size
Pokud chunk_type je tento FIXEDparametr, nastaví velikost počtu znaků každého bloku určeného jako proměnná, literál nebo skalární výraz typu tinyint, smallint, int nebo bigint.
chunk_size nemůže být NULL, záporná ani nula (0). Tento parametr je také vyžadován při použití parametru chunk_typeFIXED.
překrytí
Parametr překrytí určuje procento předchozího textu, které by mělo být zahrnuto v aktuálním bloku dat. Toto procento se použije u parametru chunk_size k výpočtu velikosti znaků. Hodnotu překrytí je možné zadat jako proměnnou, literál nebo skalární výraz typu tinyint, smallint, int nebo bigint. Musí to být celé číslo mezi nulou (0) a 50 včetně a nesmí být NULL ani záporné. Výchozí hodnota je nula (0).
enable_chunk_set_id
Int nebo bitový výraz, který slouží jako příznak pro povolení nebo zakázání výstupního chunk_set_id sloupce; sloupec, který vrací číslo, které pomáhá seskupit vrácené bloky dat patřící do stejného zdroje. Hodnota 1 povolí sloupec. Pokud enable_chunk_set_id vynecháte nebo NULLmá hodnotu 0, chunk_set_id sloupec je zakázaný a nevrácený.
Návratové typy
AI_GENERATE_CHUNKS vrátí tabulku s následujícími sloupci:
| Název sloupce | Datový typ | Popis |
|---|---|---|
chunk |
Stejný jako datový typ zdrojového výrazu | Vrátil text, který byl blokován ze zdrojového výrazu. |
chunk_order |
bigint | Posloupnost seřazených čísel, která se vztahují k pořadí, které se jednotlivé bloky dat zpracovávají, počínaje 1 a se zvyšující o 1. |
chunk_offset |
bigint | Umístění bloku zdrojových dat nebo dokumentu vzhledem k začátku procesu vytváření bloků dat. |
chunk_length |
Int | Délka znaku vráceného textového bloku |
chunk_set_id |
bigint |
Volitelný sloupec obsahující ID, který seskupuje všechny bloky zdrojového výrazu, dokumentu nebo řádku. Pokud je v jedné transakci blokováno více dokumentů nebo řádků, každý z nich má jiný chunk_set_id. Viditelnost je řízena parametrem enable_chunk_set_id . |
Příklad vrácení
Tady je příklad vrácených AI_GENERATE_CHUNKS výsledků s následujícími parametry:
Typ
FIXEDbloku dat .Velikost bloku bloku je 50 znaků.
Je povolená možnost chunk_set_id.
Text bloku dat:
All day long we seemed to dawdle through a country which was full of beauty of every kind. Sometimes we saw little towns or castles on the top of steep hills such as we see in old missals; sometimes we ran by rivers and streams which seemed from the wide stony margin on each side of them to be subject to great floods.
| kus | chunk_order | chunk_offset | chunk_length | chunk_set_id |
|---|---|---|---|---|
All day long we seemed to dawdle through a country |
1 | 1 | 50 | 1 |
which was full of beauty of every kind. Sometimes |
2 | 51 | 50 | 1 |
we saw little towns or castles on the top of stee |
3 | 101 | 50 | 1 |
p hills such as we see in old missals; sometimes w |
4 | 151 | 50 | 1 |
e ran by rivers and streams which seemed from the |
5 | 201 | 50 | 1 |
wide stony margin on each side of them to be subje |
6 | 251 | 50 | 1 |
ct to great floods. |
7 | 301 | 19 | 1 |
Poznámky
AI_GENERATE_CHUNKS lze použít v tabulce s více řádky. V závislosti na velikosti bloku dat a množství textu, který je blokovaný, sada výsledků označuje, kdy spustí nový sloupec nebo dokument se sloupcem chunk_set_id . V následujícím příkladu se chunk_set_id změny po dokončení bloků textu prvního řádku a přesunou se na druhý. Hodnoty pro chunk_order a chunk_offset také resetovat tak, aby označily nový výchozí bod.
CREATE TABLE textchunk (text_id INT IDENTITY(1,1) PRIMARY KEY, text_to_chunk nvarchar(max));
GO
INSERT INTO textchunk (text_to_chunk)
VALUES
('All day long we seemed to dawdle through a country which was full of beauty of every kind. Sometimes we saw little towns or castles on the top of steep hills such as we see in old missals; sometimes we ran by rivers and streams which seemed from the wide stony margin on each side of them to be subject to great floods.'),
('My Friend, Welcome to the Carpathians. I am anxiously expecting you. Sleep well to-night. At three to-morrow the diligence will start for Bukovina; a place on it is kept for you. At the Borgo Pass my carriage will await you and will bring you to me. I trust that your journey from London has been a happy one, and that you will enjoy your stay in my beautiful land. Your friend, DRACULA')
GO
SELECT c.*
FROM textchunk t
CROSS APPLY
AI_GENERATE_CHUNKS(source = text_to_chunk, chunk_type = FIXED, chunk_size = 50, enable_chunk_set_id = 1) c
| kus | chunk_order | chunk_offset | chunk_length | chunk_set_id |
|---|---|---|---|---|
All day long we seemed to dawdle through a country |
1 | 1 | 50 | 1 |
which was full of beauty of every kind. Sometimes |
2 | 51 | 50 | 1 |
we saw little towns or castles on the top of stee |
3 | 101 | 50 | 1 |
p hills such as we see in old missals; sometimes w |
4 | 151 | 50 | 1 |
e ran by rivers and streams which seemed from the |
5 | 201 | 50 | 1 |
wide stony margin on each side of them to be subje |
6 | 251 | 50 | 1 |
ct to great floods. |
7 | 301 | 19 | 1 |
My Friend, Welcome to the Carpathians. I am anxi |
1 | 1 | 50 | 2 |
ously expecting you. Sleep well to-night. At three |
2 | 51 | 50 | 2 |
to-morrow the diligence will start for Bukovina; |
3 | 101 | 50 | 2 |
a place on it is kept for you. At the Borgo Pass m |
4 | 151 | 50 | 2 |
y carriage will await you and will bring you to me |
5 | 201 | 50 | 2 |
. I trust that your journey from London has been a |
6 | 251 | 50 | 2 |
happy one, and that you will enjoy your stay in m |
7 | 301 | 50 | 2 |
y beautiful land. Your friend, DRACULA |
8 | 351 | 38 | 2 |
Příklady
A. Vytvoření bloku textového sloupce s typem FIXED a velikostí 100 znaků
Následující příklad používá AI_GENERATE_CHUNKS k vytvoření bloku textového sloupce. Používá chunk_typeFIXED 100 znaků.chunk_size
SELECT c.chunk
FROM docs_table AS t
CROSS APPLY
AI_GENERATE_CHUNKS (SOURCE = text_column, CHUNK_TYPE = FIXED, CHUNK_SIZE = 100) AS c;
B. Vytvoření bloku textového sloupce s překrytím
Následující příklad používá AI_GENERATE_CHUNKS k vytvoření bloku textového sloupce s použitím překrytí. Používá chunk_type funkce FIXED, chunk_size 100 znaků a překrytí 10 procent.
SELECT c.chunk
FROM docs_table AS t
CROSS APPLY
AI_GENERATE_CHUNKS (SOURCE = text_column, CHUNK_TYPE = FIXED, CHUNK_SIZE = 100, OVERLAP = 10) AS c;
C. Použití AI_GENERATE_EMBEDDINGS s AI_GENERATE_CHUNKS
Tento příklad používá AI_GENERATE_EMBEDDINGSAI_GENERATE_CHUNKS k vytvoření vkládání z textových bloků a následné vložení vrácených vektorových polí z koncového bodu odvozování modelu AI do tabulky.
INSERT INTO my_embeddings (chunked_text, vector_embeddings)
SELECT c.chunk,
AI_GENERATE_EMBEDDINGS(c.chunk USE MODEL MyAzureOpenAiModel)
FROM table_with_text AS t
CROSS APPLY
AI_GENERATE_CHUNKS (SOURCE = t.text_to_chunk, CHUNK_TYPE = FIXED, CHUNK_SIZE = 100) AS c;