LoginSignup
60
36

Azure AI Search(旧: Cognitive Search)のチャンク分割+ベクトル化が簡単になったので試す!(1/2)

Last updated at Posted at 2023-11-16

はじめに

2023年11月Microsoft IgniteでAzure AI Search(旧:Cognitive Search)の大幅なアップデートがありました。Azure AI Searchでチャンキング+ベクトル化を行うには、Azure OpenAI on your data経由で作ったり、公式が用意したPythonのデータ準備ツールなどを利用する必要がありました。今回、ようやくこの機能がプレビュー版としてAzure AI Searchに統合されたので使ってみたいと思います!

こちらが公式の記事となります。

試してみる

Azure AI Searchのリソースにいくと「概要」に「データのインポートとベクター化」という項目が追加されました。クリックしましょう。
image.png

現状データソースは「Azure Blob Storage」もしくは「Azure Data Lake Storage Gen2」のみの対応のようです。
image.png

データのフォーマットはPDFを使います。
image.png

Azure OpenAIのEmbeddingsモデルをあらかじめデプロイしておき、こちらで指定します。ここで言語アナライザーの指定ができないことに絶望します。。少しでも日本語の検索精度を上げたいので、セマンティックランカーを有効にしておきます。
image.png

最後にプレフィックスを入力して、作成をクリックします。
image.png

10秒ほどでインデックスが作成されていました。ドキュメント数に関しても、5件のドキュメントに対して、チャンク分割後20レコード作成されたことが確認できます。
image.png

検索を実行してみると確かにインデックスが作成されていることが確認できました!
image.png

言語アナライザーはデフォルトの英語(泣)
image.png

23年12月1日追記

言語アナライザーを日本語にする方法について解説しました!簡単にできるので、希望を捨てずお試しください!

考察

今回GUIからチャンク分割+ベクトル化ができるようになったのでとても便利になりました。個人的に今回の大きなアップデートは1ドキュメントに対して複数レコードをインデックスとして登録できるようになった事です。今までは1ドキュメントに対して原則1レコードしか登録できませんでした。従って、インデクサーを2回使って裏技みたいな形でチャンク分割+ベクトル化を行っていました。

それが、今回「Index projections」機能の登場により、チャンキング後のテキスト情報を複数のレコードにマッピングすることが可能になりました。また、「Azure OpenAI Embedding skill」がネイティブにサポートされたことによりカスタムスキルを自分で作成する必要がなくなりました。「Text Split skill」もチャンク分割ようにアップデートされました。
image.png

これらのスキルセットを上手く設定してあげれば、言語アナライザー日本語+チャンク分割+ベクトル化を比較的簡単に実現することが可能です。こちらのやり方に関しては次回の記事で紹介したいと思います!

->23年12月1日に記事書きました!

60
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
36