How vector search and semantic ranking improve your GPT prompts

AI, Copilots & ChatGPT at Microsoft
23 Oct 202315:09

Summary

TLDRこのビデオスクリプトでは、生成AI技術としてのGPTを活用し、企業データを組み込むことでAI応答の質を高める方法について解説しています。特に、Azure Searchを用いた情報検索プロセスの改善と、キーワード検索、ベクター検索、ハイブリッド検索といった異なる検索戦略の組み合わせによる効率的なデータ取得方法が紹介されています。これにより、より関連性の高いデータを基にした有用なAI応答の生成が可能となります。さらに、検索精度を向上させるための再ランキング手法や、大規模データセットにおけるスケーラビリティについても触れられています。

Takeaways

  • 😀 テイクアウェイ1
  • 😁 テイクアウェイ2
  • 😂 テイクアウェイ3
  • 😃 テイクアウェイ4
  • 😄 テイクアウェイ5
  • 😅 テイクアウェイ6
  • 😆 テイクアウェイ7
  • 😇 テイクアウェイ8
  • 😈 テイクアウェイ9
  • 😉 テイクアウェイ10

Q & A

  • GPTのような生成AIを使って、どのようにして企業データで知識を増やすことができますか?

    -企業データを追加することで、生成AIの知識を拡張できます。これにより、AIが生成する応答の質と関連性を向上させることが可能になります。

  • ベクトル表現とは何ですか、そしてなぜ情報検索プロセスを改善するのに役立ちますか?

    -ベクトル表現は、文や画像などのアイテムを多次元空間の点として表現する方法です。これにより、概念的類似性に基づいて情報を検索し、AI応答のための最適なデータセットを効率的に見つけることが可能になります。

  • Azure Searchが検索拡張生成にどのように変革をもたらすのですか?

    -Azure Searchは、異なる検索戦略を組み合わせて、キーワード検索とベクトル検索を効率的に扱えるようにすることで、検索拡張生成を改善します。

  • ベクトル検索とは何ですか、そしてなぜCopilotスタイルのアプリに人気がありますか?

    -ベクトル検索は、概念的類似性に焦点を当てた検索方法で、ユーザーが入力する検索キーワードではなく、ダイアログの一部を使用して情報を検索します。これは、より意味的に関連する応答を生成するのに特に有効であるため、Copilotスタイルのアプリにおいて人気があります。

  • ハイブリッド検索アプローチとは何ですか?

    -ハイブリッド検索アプローチは、キーワード検索とベクトル検索を組み合わせる方法です。これにより、両方の検索方法の長所を活かしながら、より精度高く関連する情報を検索することができます。

  • 再ランキングステップとは何ですか、どのようにして検索結果を改善しますか?

    -再ランキングステップは、検索結果の上位候補を再スコアリングするプロセスです。これにより、精度を高め、最も関連性の高いドキュメントを上位に表示することができます。

  • Azure Searchでベクトルデータベースをどのように使用しますか?

    -Azure Searchでは、文書や画像のベクトル表現をインデックス化し、クエリのベクトルとの類似性に基づいて迅速に検索結果を取得することができます。これは、大規模なデータセットに対して効率的な検索を可能にします。

  • Azure Searchのハイブリッド検索は、どのようにしてキーワードとベクトルの検索を組み合わせますか?

    -ハイブリッド検索では、クエリをテキストとベクトルの両方として処理し、関連するドキュメントを検索します。これにより、正確なマッチングが必要な場合と概念的なクエリの両方に対応できます。

  • 意味的再ランキングはどのようにして検索結果をさらに改善しますか?

    -意味的再ランキングは、ハイブリッド検索から得られた候補を最も関連性の高い順に再順序することで、検索結果の精度を高めます。これは、Bingとのパートナーシップにより構築されたセマンティックランカーを利用しています。

  • Azure Searchで提供されるこれらの機能を使用する主な利点は何ですか?

    -Azure Searchのこれらの機能を使用することで、高品質なAI応答の生成、計算コストの削減、および検索拡張生成を効率的に実現できる点が主な利点です。

Outlines

00:00

🔍ベクトル表現と情報検索の向上

この段落では、Copilotスタイルのアプリを構築する際に、エンタープライズデータを用いてAIの応答生成能力を高める方法に焦点を当てています。キーワード検索とベクトル検索という二つの異なる情報検索手法が紹介され、それぞれがどのように応答品質を向上させるかを解説しています。キーワード検索は正確な単語の一致に焦点を当てるのに対し、ベクトル検索は概念的類似性を重視します。また、これらの手法を組み合わせることで、最適な検索結果を得るためのハイブリッドアプローチが提案されています。Azure Searchがこれらの検索戦略を統合し、スケールアウト可能な形で提供する方法が説明されており、開発者が高品質なAI応答を生成するための効率的な基盤を提供することが強調されています。

05:01

📈大規模データセット上でのベクトル検索の応用

第二段落では、ベクトルデータベースの役割と、大量のベクトルデータを効率的に管理・検索する方法について詳しく説明しています。特に、Azure Cognitive Searchを使用した実践的な例を通じて、ベクトル検索の基本的な概念から、実際のテキストや画像データに対する応用方法までを解説しています。この部分では、具体的なデータセット(例えば、従業員の福利厚生手帳やハイキング旅行の写真)を用いて、検索クエリのベクトル表現がどのようにデータベース内の関連情報や画像を見つけ出すかを示しています。また、純粋なテキスト検索、画像検索、テキストと画像の組み合わせによる検索が可能であることが示され、ベクトル検索の多様な応用可能性を強調しています。

10:03

🚀ハイブリッド検索と再ランキングによる検索精度の向上

最終段落では、Azure Searchが提供するハイブリッド検索機能とセマンティックリランカーを用いて、検索結果の精度と関連性をどのように向上させるかについて説明しています。具体的には、ベクトル検索とキーワード検索を組み合わせることで、様々なタイプのクエリに対して最適な検索結果を提供する方法と、Bingとのパートナーシップを通じて開発されたセマンティックリランカーを利用することで、検索結果の関連性をさらに高めるアプローチが紹介されています。この段落では、ハイブリッド検索と再ランキングが組み合わさることで、大量のデータから最も関連性の高い情報を効率的に抽出し、AI応答生成の品質を向上させるプロセスが強調されています。また、Azure Searchを使用することで、開発者が検索の専門知識を持たなくても、これらの高度な検索機能を簡単に活用できることが示されています。

Mindmap

Keywords

💡生成AI

生成AI(Generative AI)は、テキスト、画像、音楽などの新しいコンテンツを生成するための人工知能技術です。このビデオでは、生成AIがどのようにして企業データを基に高品質なAI応答を生成するのか、そのプロセスを詳しく解説しています。特に、大規模言語モデルと追加データの組み合わせを通じて、AI応答の品質を向上させる方法が示されています。

💡ベクトル表現

ベクトル表現(Vector representations)は、テキストや画像などのデータを数値の配列で表す方法です。このビデオでは、情報検索プロセスを改善するためにベクトル表現がどのように使用されるかに焦点を当てています。例えば、異なる文章や画像が類似しているかどうかを判断する際に、それらをベクトル空間内の点として扱い、その距離や角度で類似度を評価します。

💡Azure Search

Azure Searchは、Microsoftが提供するクラウドベースの検索サービスであり、このビデオでは、生成AIアプリケーションにおける情報検索のための強力なツールとして紹介されています。Azure Searchは、キーワード検索、ベクトル検索、ハイブリッド検索戦略をサポートし、大規模なデータセットに対して効率的かつ高品質な検索機能を提供します。

💡キーワード検索

キーワード検索は、ユーザーが入力した単語やフレーズに基づいて情報を検索する基本的な方法です。ビデオでは、キーワード検索が正確な情報を見つけるために依然として重要であるが、コンテキストや意味の理解には限界があるため、他のアプローチと組み合わせて使用するべきであると説明しています。

💡ベクトル検索

ベクトル検索は、データポイント間の概念的類似性に基づいて情報を検索する方法で、特に生成AIの文脈で注目されています。ビデオでは、テキストや画像などのデータをベクトル表現に変換し、これらのベクトル間の類似度を計算することで関連情報を見つけるプロセスが説明されています。

💡ハイブリッド検索

ハイブリッド検索は、キーワード検索とベクトル検索のアプローチを組み合わせることで、両者の利点を活用し、検索の精度と関連性を高める手法です。ビデオでは、Azure Searchがハイブリッド検索をサポートし、特定の情報が求める精度で迅速に見つかるようにする方法を紹介しています。

💡再ランキング

再ランキングは、検索結果をさらに精度良く整理するプロセスで、特にハイブリッド検索の文脈で言及されています。ビデオでは、Azure Searchが検索結果の再ランキングにより、最も関連性の高い情報を先頭に持ってくる方法を説明し、これにより最終的なAI応答の質が向上することを示しています。

💡埋め込みモデル

埋め込みモデル(Embedding model)は、テキストや画像をベクトル形式に変換するために使用される学習モデルです。ビデオ内で、埋め込みモデルがどのようにして意味的な類似性を捉え、これをベクトル空間内で表現するかが説明されており、AIがより関連性の高い応答を生成するための基礎となっています。

💡コサイン類似度

コサイン類似度は、二つのベクトル間の角度を基に類似性を計算する方法です。このビデオでは、文章や画像のベクトル表現間でコサイン類似度を計算し、それに基づいて類似性が評価される様子が示されています。この手法は、意味の類似性を定量的に評価する際に有効です。

Highlights

Generative AI like GPT can be augmented with enterprise data for more accurate responses.

Vector representations improve the efficiency and quality of information retrieval.

Azure Search enhances retrieval augmented generation by integrating various search strategies.

Pablo Castro, a distinguished engineer, shares insights on improving generative AI outputs.

Keyword search and vector search are essential methods for retrieving relevant grounding data.

Hybrid approaches combine keyword and vector searches for optimal retrieval.

Precision in generative AI is enhanced by re-ranking the top results using deep learning models.

Vector search, based on conceptual similarity, is crucial for applications requiring non-keyword-based queries.

Prebuilt embedding models, like OpenAI's embeddings API, facilitate the creation of vector representations.

Cosine similarity measures the degree of relevance between vectors, improving the selection of grounding data.

Vector databases efficiently store and retrieve large numbers of vectors for scalable searches.

Azure Cognitive Search demonstrates practical vector search applications, from simple examples to complex datasets.

Vector search excels in conceptual matching, while keyword search is superior for exact matches.

Hybrid retrieval in Azure Search combines the strengths of both vector and keyword searches.

Semantic re-ranking in Azure Search refines results further, ensuring only the most relevant data is used.

Comprehensive evaluations demonstrate the effectiveness of these techniques across various scenarios.

Resources and sample code are available to help developers integrate these advancements into their own Copilot-style apps.

Transcripts

play00:03

- By now, you've probably experimented

play00:04

with generative AI like GPT, which can generate responses

play00:07

as part of the model's training data.

play00:09

Of course, as you build your own Copilot style apps,

play00:11

you can augment its knowledge

play00:13

by grounding it with additional enterprise data.

play00:16

The trick is in achieving this efficiently

play00:18

at quality and scale and today, we unpack the secret

play00:21

with a closer look at vector representations

play00:24

that you can use with other approaches

play00:25

to further improve the information retrieval process

play00:28

so that you have the most optimal set

play00:30

of grounding data needed to generate

play00:31

the most useful AI responses.

play00:34

And we'll show how Azure Search changes the game

play00:36

for retrieval augmented generation

play00:38

by combining different search strategies

play00:40

out of the box and at scale so you don't have to.

play00:43

And joining me again as the foremost expert on the topic

play00:46

is distinguished engineer Pablo Castro, welcome back.

play00:49

- It's great to be back.

play00:50

There's a lot going on in this space

play00:52

so we have a lot to share today.

play00:53

- It's really great to have you back on the show

play00:55

and as I mentioned, top of mind

play00:57

for most people building Copilot style apps

play00:59

is how to generate high quality AI responses

play01:03

based on their own application or organizational data.

play01:05

So how do we think about solving for this?

play01:08

- So let's start by looking at how large language models

play01:11

are used in conjunction with external data.

play01:14

At the end of the day, the model only knows

play01:16

what it's been trained on.

play01:17

It relies on the prompt and the grounding data

play01:20

we include with it to generate a meaningful response.

play01:23

So a key element of improving quality

play01:26

is improving the relevance of the grounding data.

play01:28

- And for the retrieval, if you don't get that right,

play01:30

it's a bit like garbage in, garbage out.

play01:33

So logically we need a step that decides

play01:35

what specific information we retrieve

play01:37

and then present that to the large language model.

play01:38

- We do, and this is key to improving the quality

play01:41

of generative AI outputs.

play01:43

The retrieval system can use different methods

play01:46

to retrieve information to add to your prompts.

play01:48

The first and most well understood is keyword search

play01:52

where we match the exact words

play01:54

to search your grounding data.

play01:55

Second, a method that has become very popular

play01:58

is vector search, which instead focuses

play02:01

on conceptual similarity.

play02:02

This is particularly useful for generative AI scenarios

play02:06

where the user is not entering

play02:07

a search-like set of keywords,

play02:09

but instead the app is using part of the dialogue

play02:11

to retrieve grounding information.

play02:14

Then there may be cases where you need both keyword

play02:17

and vector search.

play02:18

Here, we can take a hybrid approach with a fusion step

play02:21

to combine them to get the best of both worlds.

play02:25

These techniques focus on recall, as in they make sure

play02:27

we find all the candidates that should be considered.

play02:31

Then to boost precision, a re-ranking step

play02:34

can re-score the top results

play02:36

using a larger deep learning ranking model.

play02:39

For Azure Search,

play02:40

we invested heavily across all these components

play02:43

to offer great pure vector search support

play02:46

as well as an easy way to further refine results

play02:49

with hybrid retrieval

play02:50

and state-of-the-art re-ranking models.

play02:52

- And I've heard that vector search

play02:54

is really popular for Copilot apps.

play02:56

Why don't we start there with why you'd even use vectors?

play02:59

- Sure, the problem is in establishing the degree

play03:01

of similarity between items like sentences or images.

play03:05

We accomplish this by learning an embedding model

play03:08

or encoder that can map these items into vectors

play03:11

such that vectors that are close together

play03:13

means similar things.

play03:15

This sounds abstract,

play03:16

so let me show you what this looks like.

play03:18

If you don't want to start from scratch,

play03:20

there are prebuilt embedding models that you can use.

play03:22

Here, I'm using the OpenAI embeddings API.

play03:26

I have a convenient wrapper function

play03:28

from the OpenAI Python library to get the embeddings

play03:31

so let's try it out and pass some text to it.

play03:33

As you can see, I get a long list of numbers back

play03:36

with these A-002 models, you get 15, 36 numbers back,

play03:41

which is the vector representation for my text input.

play03:44

- And these numbers kind of remind me of GPS coordinates

play03:46

in a way.

play03:47

- Yeah, it's a good way to think about them,

play03:49

but they are higher dimensional than latitude and longitude.

play03:52

They often have hundreds of dimensions or more.

play03:55

Now the idea is that we can compute distance metrics

play03:58

between these vectors so let me show you.

play04:01

I have two lists of sentences, and for each one,

play04:04

we'll call the get embedding method

play04:06

to calculate a vector for each.

play04:08

And then we compute their similarity

play04:10

using cosine similarity,

play04:12

which is one possible distance metric that you can use.

play04:15

Think of the cosine similarity

play04:17

as using the angle that separates vectors

play04:19

as a measure of similarity.

play04:21

So I'm going to run this

play04:22

and the results display cosine similarities for each pair.

play04:26

And you can see that where sentences are unrelated,

play04:28

we get a lower score.

play04:30

If the sentences are related

play04:32

like in this case with different words,

play04:34

but sort of the same meaning, then you get a higher score.

play04:37

And here because we are comparing the same sentence,

play04:40

the similarity is highest or one.

play04:43

So this entire approach does not depend

play04:45

on how things are written.

play04:46

It focuses on meaning, making it much more robust

play04:49

on the different ways of how things can be written.

play04:52

- So you're kind of mapping the concepts together

play04:53

in a space just to see how close they are

play04:55

in terms of similarity,

play04:56

but how would something like this work

play04:58

on a much larger data set with hundreds of thousands

play05:00

or millions of different data points and documents?

play05:03

How would it scale?

play05:04

- Well, you can't keep all these embedded vectors in memory.

play05:08

What we really want is a system where

play05:10

you can store a large number of vectors

play05:12

and then retrieve them when you need them

play05:14

and that's the job of a vector database.

play05:17

This requires often chunking the information

play05:19

into small passages and encode them into vectors.

play05:23

Then we take the vectors

play05:25

and index them in a vector database.

play05:27

Chunking is typically a manual effort,

play05:30

though that said coming soon we'll help you automate that.

play05:33

Once the vector database is populated, during retrieval,

play05:37

the query text itself is converted

play05:39

into a query vector and sent to the database

play05:41

to quickly find indexed vectors that are close to it.

play05:45

Let me show you how this works in practice.

play05:47

In this case, we're going to use Azure Cognitive Search

play05:50

and what we'll do is start from scratch.

play05:53

I'm going to use the Azure Search Python library.

play05:57

The first thing we'll do is create

play05:58

a super simple vector index

play06:00

with just an ID and a vector field.

play06:03

Let's run this and now we'll index some documents.

play06:07

As I mentioned, vectors can have hundreds

play06:09

or even thousands of dimensions.

play06:11

Here I'm using just three

play06:13

so we can actually see what's going on.

play06:15

Here are my three documents.

play06:17

Each has a unique ID and each of them has three dimensions

play06:21

so let's index them.

play06:23

And now we have indexed the data so we can search.

play06:27

I'll search without text and just use the vector 123

play06:30

for the query, which corresponds to the first document.

play06:34

And when I run this query,

play06:35

you can see our document with ID one is the top result.

play06:38

Its vector similarity is almost one.

play06:41

Now, if I move this vector by swapping one of the numbers,

play06:44

it changes the order and cosine similarity of results

play06:47

so now document three is the most similar.

play06:49

- This is a nice and simple example

play06:51

than numerical representation

play06:53

of the distance in between each vector.

play06:55

So what if I wanted to apply this to real data and text?

play06:59

How would I do that

play06:59

to be able to calculate their similarities?

play07:01

- Well, I wanted to start simple, but of course,

play07:04

this approach works with a larger knowledge base

play07:07

and I'll show you using one that I've already indexed.

play07:10

This is the employee benefits handbook for Contoso

play07:13

and I want to search for something challenging

play07:16

like learning about underwater activities.

play07:19

This is challenging because the question itself is generic

play07:22

and the answer is going to be probably very specific.

play07:25

So when I run the query,

play07:27

we'll see that I get results

play07:28

that are about different lessons

play07:30

that are covered in the Perks Plus program,

play07:32

including things like scuba diving lessons,

play07:35

which is related to underwater activities.

play07:37

The second document describes how Perks Plus

play07:40

is not just about health,

play07:42

but also includes other activities.

play07:44

And the last three results are less relevant.

play07:47

To be clear, keyword queries wouldn't return results

play07:50

like this because the words in the query don't match.

play07:53

- And none of these documents

play07:54

actually matched your query words,

play07:56

and as the large language models

play07:57

become increasingly more multimodal,

play08:00

question is will this work for images too?

play08:02

- Sure, the same approach would work for images

play08:04

or for that matter, other data types

play08:06

that have an embedding model.

play08:08

Here's an example.

play08:09

I created another index, I called it pics,

play08:12

that has a file name and a vector definition.

play08:16

I'm using the Azure AI vision model

play08:18

with a vector size of 1024.

play08:20

I'll define these two helper functions,

play08:22

one for images and one for text, each computes an embedding

play08:25

by calling my instance of the vision service.

play08:28

I've already run this part and this for loop

play08:31

indexes the images by computing the embeddings

play08:33

and inserting them into the database.

play08:36

In this example, I indexed pictures from a hiking trip.

play08:39

So if we pull one of the pictures,

play08:41

you'll see a dog and a river in the background

play08:43

and trees on both sides of the river.

play08:45

And there are similar pictures like this

play08:47

already indexed in the database.

play08:50

Now I'll compute that embedding for my query image

play08:52

just like I would for text.

play08:54

I'll run this query just like before and just show

play08:56

the results as an image so we can see what's going on.

play08:59

And this indeed is very similar.

play09:01

There's a dog and the river and lots of trees.

play09:04

- So we've seen kind of image to image discovery there.

play09:06

In that case, can I do image with text,

play09:08

maybe describe an image I want to find?

play09:10

- Yes we can because this particular model has been trained

play09:13

on images and sentences.

play09:14

Let's use text to find some images.

play09:17

So let's try something pretty abstract like majestic.

play09:21

It's very subjective,

play09:22

but you can see the top result does look pretty majestic.

play09:26

So this is an example for how vector databases can be used

play09:29

for a pure image search, pure text search, or both combined.

play09:33

- And just to reiterate this, all these examples

play09:35

are completely void of keywords.

play09:37

They're just finding related concepts.

play09:38

That said though, keywords are still important,

play09:41

so how do we use keywords now in search in this case?

play09:45

- They are, think of times where you are looking

play09:48

for a specific port number or an email address.

play09:51

In those cases, keywords tend to be a better method

play09:54

because you're seeking for an exact match.

play09:56

Now using the same index

play09:57

and the same kind of vector approach,

play09:59

let's try something else where vectors don't work as well.

play10:03

In this case, I know there is a way

play10:04

to report policy violations using this email address

play10:08

and I want to see the context of that document.

play10:10

So I'm going to just search for that using the same process

play10:13

where I'm going to compute an embedding for the query

play10:15

and then run the query against the same knowledge store.

play10:18

Now, what I did here is I filtered

play10:21

for which documents actually contain that email address.

play10:24

So you can see that zero of the top five documents

play10:26

actually mentions this.

play10:28

I'm sure that if we extend the search enough,

play10:30

we would've found it,

play10:31

but this needs to be one of the top documents

play10:33

and the reason it wasn't there

play10:35

is because vector search is not that good at exact matching.

play10:39

So this is clearly an area where keyword search is better.

play10:42

Let's try the same search using keywords this time.

play10:45

So here's an equivalent version of this query

play10:48

where I'm querying the same index,

play10:49

but instead of computing and embedding

play10:51

and using the vector for querying,

play10:52

I'm literally just taking the text

play10:54

and using it as a text search.

play10:57

If I run this version of the query,

play10:58

you'll find the document that contains the policy

play11:01

for reporting illegal or unethical activities,

play11:04

which makes sense given the email address.

play11:06

These two examples show that queries like the first one

play11:09

only works well if you have a vector index

play11:11

and queries like the second one only work well

play11:14

when you have a keyword index.

play11:16

- So based on that, and depending on your search,

play11:18

you need both indexes working simultaneously.

play11:21

- Exactly, and that's why in Azure Search,

play11:23

we support hybrid retrieval

play11:25

to give you both vectors and keywords.

play11:28

Let's try out our earlier email address example

play11:30

using hybrid retrieval.

play11:32

I'll still compute in embedding,

play11:34

but this time I'll pass the query as text

play11:36

and as a vector and then run the query.

play11:39

Here, I found an exact match with our email address.

play11:43

I can also use the same code to go back

play11:46

to our other example, searching for underwater activities,

play11:49

which represents a more conceptual query.

play11:51

Then change the display filter from Contoso to scuba

play11:54

and I'll run that.

play11:56

And we can see that the results about the Perks Plus program

play12:00

that we saw before are in there

play12:01

and also the scuba lessons reference.

play12:05

So hybrid retrieval has been able to successfully combine

play12:08

both techniques and find all the documents

play12:10

that actually matter while running the same code.

play12:12

- The results are a lot better

play12:13

and there's really no compromise then over the approach.

play12:16

- That's right, and we can do better.

play12:18

As I mentioned earlier,

play12:20

you can add a re-ranking step.

play12:21

That lets you take the best recall that comes from hybrid

play12:25

and then reorder the candidates to optimize

play12:27

for the highest relevance using our semantic ranker,

play12:30

which we built in partnership with Bing,

play12:33

to take advantage of the huge amount

play12:34

of data and machine learning expertise that Bing has.

play12:37

Here, I'm going to take the same example query

play12:40

that we used before,

play12:41

but I'm going to enable semantic re-ranking in the query.

play12:44

So when I run this version

play12:45

of the query with the re-ranker, the results look better

play12:49

and the most related document about Perks Plus programs

play12:52

is now at the top of the list.

play12:54

The interesting thing

play12:55

is that re-ranker scores are normalized.

play12:57

In this case, for example, you could say anything

play13:00

with a score below one can be excluded

play13:02

from what we feed to the large language model.

play13:05

That means you are only providing it relevant data

play13:07

to help generate its responses,

play13:09

and it's less likely to be confused

play13:10

with unrelated information.

play13:13

Of course, this is just a cherry picked example.

play13:16

We've done extensive evaluations

play13:17

to ensure you get high relevance

play13:19

across a variety of scenarios.

play13:21

We run evaluations across approved customer data sets

play13:24

and industry benchmarks for relevance

play13:27

and you can see how relevance measured

play13:29

using the NDCG metric in this case

play13:31

increases across the different search configurations

play13:33

from keywords to vector to hybrid and finally,

play13:37

for hybrid with the semantic re-ranker.

play13:40

Every point of increase in NDCG

play13:42

represents significant progress and here,

play13:45

we're seeing a 22 point increase

play13:48

between keyword and the semantic re-ranker with hybrid.

play13:51

That includes some low-hanging fruit,

play13:53

but still a very big improvement.

play13:55

- And getting the best possible relevance

play13:57

in search is even more critical

play13:58

when using retrieval augmented generation to save time,

play14:01

get better generated content,

play14:03

and also reduce computational costs related to inference.

play14:06

- That's right and to do this,

play14:07

you don't need to be a search expert

play14:09

because we combine all the search methods for you

play14:12

in Azure Search, and you also have the flexibility

play14:15

to choose which capabilities you want for any scenario.

play14:17

- So you can improve your Copilot apps

play14:19

with state-of-the-art information retrieval

play14:22

and the trick is really that these approaches

play14:24

all work together and are built into Azure Search.

play14:27

So is everything that you showed today

play14:28

available to use right now?

play14:30

- It is and it's easy to get started.

play14:32

We made the sample code

play14:33

from today available at aka.ms/MechanicsVectors.

play14:38

We also have a complete Copilot sample app

play14:40

at aka.ms/EntGPTSearch.

play14:44

Finally, you can check out the evaluation details

play14:46

for relevance quality across different data sets

play14:48

and query types at aka.ms/ragrelevance.

play14:52

- Thanks so much, Pablo, for joining us today.

play14:54

Can't wait to see what you build with all of this.

play14:57

So of course, keep checking back to Microsoft Mechanics

play14:59

for all the latest tech updates.

play15:00

Thanks for watching and we'll see you next time.

Rate This

5.0 / 5 (0 votes)

Do you need a summary in English?