Skip to content

Commit aa1089d

Browse files
committed
integrated vectorization updates
1 parent 00aa801 commit aa1089d

File tree

1 file changed

+31
-22
lines changed

1 file changed

+31
-22
lines changed

articles/search/vector-search-integrated-vectorization.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,56 @@ ms.service: cognitive-search
99
ms.custom:
1010
- ignite-2023
1111
ms.topic: conceptual
12-
ms.date: 05/05/2024
12+
ms.date: 05/06/2024
1313
---
1414

1515
# Integrated data chunking and embedding in Azure AI Search
1616

1717
> [!IMPORTANT]
1818
> 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.
1919
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:
2121

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
2325

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.
2827

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.
3029

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.
37+
+ [A skillset](cognitive-search-working-with-skillsets.md) configured for:
38+
39+
+ [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.
3250
+ A query that specifies one or more vector fields.
3351
+ A text string that's converted to a vector at query time.
3452

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-
3753
## Component diagram
3854

3955
The following diagram shows the components of integrated vectorization.
4056

4157
:::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":::
4258

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.
5160

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.
5362

5463
## Availability and pricing
5564

@@ -64,7 +73,7 @@ Data chunking (Text Split skill) is free and available on all Azure AI services
6473
6574
## What scenarios can integrated vectorization support?
6675

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.
6877

6978
+ 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.
7079

@@ -89,7 +98,7 @@ A more common scenario - data chunking and vectorization during indexing:
8998
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.
9099
1. [Create an indexer](search-howto-create-indexers.md) to drive everything, from data retrieval, to skillset execution, through indexing.
91100

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.
93102

94103
> [!TIP]
95104
> [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

Comments
 (0)