You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/vector-search-integrated-vectorization.md
+31-22Lines changed: 31 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,47 +9,56 @@ ms.service: cognitive-search
9
9
ms.custom:
10
10
- ignite-2023
11
11
ms.topic: conceptual
12
-
ms.date: 05/05/2024
12
+
ms.date: 05/06/2024
13
13
---
14
14
15
15
# Integrated data chunking and embedding in Azure AI Search
16
16
17
17
> [!IMPORTANT]
18
18
> Integrated data chunking and vectorization is in public preview under [Supplemental Terms of Use](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). The [2023-10-01-Preview REST API](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2023-10-01-preview&preserve-view=true) provides this feature.
19
19
20
-
*Integrated vectorization* adds data chunking and text-to-vector conversions during indexing and at query time.
20
+
Integrated vectorization is an extension of the indexing and query pipelines in Azure AI Search. It adds the following capabilities:
21
21
22
-
For data chunking and text-to-vector conversions during indexing, you need:
22
+
+ Data chunking during indexing
23
+
+ Text-to-vector conversion during indexing
24
+
+ Text-to-vector conversion during queries
23
25
24
-
+[An indexer](search-indexer-overview.md) to retrieve data from a supported data source.
25
-
+[A skillset](cognitive-search-working-with-skillsets.md) to call the [Text Split skill](cognitive-search-skill-textsplit.md) to chunk the data.
26
-
+ The same skillset, calling an embedding model. The embedding model is accessed through the [AzureOpenAIEmbedding skill](cognitive-search-skill-azure-openai-embedding.md), attached to text-embedding-ada-002 on Azure OpenAI, or a [custom skill](cognitive-search-custom-skill-web-api.md) that points to another embedding model, for example any supported embedding model on OpenAI.
27
-
+ You also need a [vector index](search-what-is-an-index.md) to receive the chunked and vectorized content.
26
+
Data chunking isn't a hard requirement, but unless your raw documents are small, chunking is necessary for meeting the token input requirements of embedding models.
28
27
29
-
For text-to-vector queries:
28
+
A key benefit is that integrated vectorization speeds up the development and minimizes maintenance tasks during data ingestion and query time because there are fewer external components to configure and manage.
30
29
31
-
+[A vectorizer](vector-search-how-to-configure-vectorizer.md) defined in the index schema, assigned to a vector field, and used automatically at query time to convert a text query to a vector.
30
+
Vector conversions are one-way: text-to-vector. There's no vector-to-text conversion for queries or results (for example, you can't convert a vector result to a human-readable string).
31
+
32
+
## Using integrated vectorization during indexing
33
+
34
+
For data chunking and text-to-vector conversions, you're taking a dependency on the following components:
35
+
36
+
+[An indexer](search-indexer-overview.md), which retrieves raw data from a supported data source and serves as the pipeline engine.
+[Text Split skill](cognitive-search-skill-textsplit.md), used to chunk the data.
40
+
+[AzureOpenAIEmbedding skill](cognitive-search-skill-azure-openai-embedding.md), attached to text-embedding-ada-002 on Azure OpenAI.
41
+
+ Alternatively, you can use a [custom skill](cognitive-search-custom-skill-web-api.md) in place of AzureOpenAIEmbdding that points to another embedding model on Azure or on another side.
42
+
43
+
+[A vector index](search-what-is-an-index.md) to receive the chunked and vectorized content.
44
+
45
+
## Using integrated vectorization in queries
46
+
47
+
For text-to-vector conversion during queries, you take a dependency on these components:
48
+
49
+
+[A vectorizer](vector-search-how-to-configure-vectorizer.md), defined in the index schema, assigned to a vector field, and used automatically at query time to convert a text query to a vector.
32
50
+ A query that specifies one or more vector fields.
33
51
+ A text string that's converted to a vector at query time.
34
52
35
-
Vector conversions are one-way: text-to-vector. There's no vector-to-text conversion for queries or results (for example, you can't convert a vector result to a human-readable string).
36
-
37
53
## Component diagram
38
54
39
55
The following diagram shows the components of integrated vectorization.
40
56
41
57
:::image type="content" source="media/vector-search-integrated-vectorization/integrated-vectorization-architecture.png" alt-text="Diagram of components in an integrated vectorization workflow." border="false" lightbox="media/vector-search-integrated-vectorization/integrated-vectorization-architecture.png":::
42
58
43
-
Here's a checklist of the components responsible for integrated vectorization:
44
-
45
-
+ A supported data source for indexer-based indexing.
46
-
+ An index that specifies vector fields, and a vectorizer definition assigned to vector fields.
47
-
+ A skillset providing a Text Split skill for data chunking, and a skill for vectorization (either the AzureOpenAiEmbedding skill or a custom skill pointing to an external embedding model).
48
-
+ Optionally, index projections (also defined in a skillset) to push chunked data to a secondary index.
49
-
+ An embedding model, deployed on Azure OpenAI or available through an HTTP endpoint.
50
-
+ An indexer for driving the process end-to-end. An indexer also specifies a schedule, field mappings, and properties for change detection.
59
+
The workflow is an indexer pipeline. Indexers retrieve data from supported data sources and initiate data enrichment (or applied AI) by calling Azure OpenAI or Azure AI services or custom code for text-to-vector conversions or other processing.
51
60
52
-
This checklist focuses on integrated vectorization, but your solution isn't limited to this list. You can add more skills for AI enrichment, create a knowledge store, add semantic ranking, add relevance tuning, and other query features.
61
+
The diagram focuses on integrated vectorization, but your solution isn't limited to this list. You can add more skills for AI enrichment, create a knowledge store, add semantic ranking, add relevance tuning, and other query features.
53
62
54
63
## Availability and pricing
55
64
@@ -64,7 +73,7 @@ Data chunking (Text Split skill) is free and available on all Azure AI services
64
73
65
74
## What scenarios can integrated vectorization support?
66
75
67
-
+ Subdivide large documents into chunks, useful for vector and non-vector scenarios. For vectors, chunks help you meet the input constraints of embedding models. For non-vector scenarios, you might have a chat-style search app where GPT is assembling responses from indexed chunks. You can use vectorized or non-vectorized chunks for chat-style search.
76
+
+ Subdivide large documents into chunks, useful for vector and nonvector scenarios. For vectors, chunks help you meet the input constraints of embedding models. For nonvector scenarios, you might have a chat-style search app where GPT is assembling responses from indexed chunks. You can use vectorized or nonvectorized chunks for chat-style search.
68
77
69
78
+ Build a vector store where all of the fields are vector fields, and the document ID (required for a search index) is the only string field. Query the vector store to retrieve document IDs, and then send the document's vector fields to another model.
70
79
@@ -89,7 +98,7 @@ A more common scenario - data chunking and vectorization during indexing:
89
98
1.[Create an index](search-how-to-create-search-index.md) that specifies a [vectorizer](vector-search-how-to-configure-vectorizer.md) for query time, and assign it to vector fields.
90
99
1.[Create an indexer](search-howto-create-indexers.md) to drive everything, from data retrieval, to skillset execution, through indexing.
91
100
92
-
Optionally, [create secondary indexes](index-projections-concept-intro.md) for advanced scenarios where chunked content is in one index, and non-chunked in another index. Chunked indexes (or secondary indexes) are useful for RAG apps.
101
+
Optionally, [create secondary indexes](index-projections-concept-intro.md) for advanced scenarios where chunked content is in one index, and nonchunked in another index. Chunked indexes (or secondary indexes) are useful for RAG apps.
93
102
94
103
> [!TIP]
95
104
> [Try the new **Import and vectorize data** wizard](search-get-started-portal-import-vectors.md) in the Azure portal to explore integrated vectorization before writing any code.
0 commit comments