Azure AI SearchのOpenAIを利用したデータインポートを試す：準備編 

本記事は [OpenAI活用法 Advent Calendar 2023 by ナレコム](https://qiita.com/advent-calendar/2023/openai-knowledgecommunication) の7日目の記事です。

OpenAI活用法 Advent Calendar 2023 by ナレコム ではGPTsを含めた最新のOpenAIの活用法について紹介します。

### はじめに

Azure AI Searchは新しい「Azure OpenAI を使用してデータをベクター化する」という機能があり、この機能を利用することでAzure AI Searchに登録するデータをAzure OpenAIを利用して自動的にベクター化することができます。

本記事では、この機能の導入の前段階として、Azure OpenAIのEmbedding（埋め込み）モデルの作成とAzure AI Services Multi-Service Accountの設定に焦点を当てます。これらのステップは、Azure AI Searchのベクター化を活用するための必要となります。

まず、Azure OpenAIのEmbeddingモデルとは何か、そしてなぜそれが重要なのかを解説します。このモデルは、テキストやその他の形式のデータを理解し、それを有用な形式に変換するための鍵です。次に、Azure AI Services Multi-Service Accountの作成方法について説明し、これがどのようにしてAzure OpenAIと他のAzureサービスとの統合を可能にするかを掘り下げます。

### Azure OpenAIのEmbeddingの必要性

テキスト、画像、音声など、さまざまな形式のデータが溢れています。しかし、これらのデータの真の価値を引き出すには、それらを「理解」し、有用な形式に「変換」する必要があります。ここで重要な役割を果たすのが、Azure OpenAIのEmbeddingモデルです。

#### Embeddingモデルとは何か？

Embeddingモデルはデータを数値のベクトル（数列）に変換するプロセスです。この変換により、コンピュータはテキストや他の形式のデータを、計算や分析が可能な形式で「理解」できるようになります。

例えば、ある文章が与えられたとき、Embeddingモデルはその文章の意味を捉え、それを数値のシーケンスに変換します。このシーケンスは、文章の「意味」を数学的に表現していると考えることができます。

#### なぜEmbeddingモデルが重要なのか？

この変換プロセスがなぜ重要かというと、コンピュータがこの数値の形式を使用して、データ間の関連性を見つけ出したり、パターンを識別したり、さらには新しい洞察を導き出すことができるからです。つまり、Embeddingモデルはデータを「機械が理解できる言語」に翻訳する通訳のようなものです。

この技術は、検索エンジンの改善、レコメンデーションシステムの精度向上、さらには自然言語処理タスクの効率化など、幅広い応用が可能です。

### Azure OpenAIのEmbeddingモデルのセットアップ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61189/44a55f21-2e3b-c4e1-3656-dcd4a1b06202.png)

1. **[Azure OpenAI Studio](https://oai.azure.com/)** にアクセスする
1. 左メニューから「デプロイ」を選択
1. デプロイページの「＋新しいデプロイの作成」をクリック
1. モデルのデプロイページのモデル選択で "embedding" が付いているモデルを選択します。（※存在しない場合は、embeddingが存在するリージョンにOpenAI Serviceのリソースを作成する必要があります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61189/71736dc9-dc68-22c6-ba23-2cf4beeedbcf.png)
1. 任意のデプロイ名を指定してデプロイします。
**注意事項：**「1 分あたりのトークンレート制限」はある程度大きくする必要があります。割当が小さいと、ベクター化実行時に失敗することがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61189/d2bb4173-f8a8-eb68-9b23-4584a6623759.png)


### Azure AI Services Multi-Service Accountのセットアップ

Azure AI Services Multi-Service Accountは、Azureのさまざまなサービスを一つのアカウントで利用できるようにするものです。これにより、Azure OpenAIを含む複数のサービス間でスムーズなデータのやり取りと統合が実現されます。特に画像データの処理や分析を行う際、このアカウントは非常に有用です。
**※画像データを読み込まない場合は設定不要です。**

1. Azureポータルにログインします。
1. 上部の検索窓に「Azure AI services multi-service account」と入力し、サービスに表示される「Azure AI services multi-service account」をクリックします。
1. 「Azure AI services multi-service account」のページに移動するので「＋作成」をクリックします。
1. サブスクリプション、リソースグループ、リージョンを選択し、名前を入力して作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61189/e94d3418-0ff8-36ef-9ad0-afb0584f49a4.png)

上記2つのステップをすることで、「Azure OpenAI を使用してデータをベクター化する」を利用する準備ができました。

### まとめ

本記事では、「Azure OpenAI を使用してデータをベクター化する」というAzure AI Searchの新機能の導入前段階に焦点を当て、そのために必要なAzure OpenAIのEmbeddingモデルの作成とAzure AI Services Multi-Service Accountの設定について詳しく解説しました。

#### 主なポイント

1. **Azure OpenAIのEmbeddingモデル**: これは、テキストやその他の形式のデータを理解し、有用な形式に変換するための重要なツールです。このモデルを活用することで、データ間の関連性を見つけ出し、新しい洞察を導き出すことができます。

2. **Azure AI Services Multi-Service Account**: Azureの様々なサービスを一つのアカウントで管理できるようにするための重要なステップです。特に画像データの処理において、このアカウントはAzure OpenAIと他のAzureサービス間の統合をスムーズに行うために不可欠です。

これらのステップを踏むことで、Azure AI Searchの新機能「Azure OpenAI を使用してデータをベクター化する」を活用する準備が整います。

---

また、ナレッジコミュニケーションでは  **「[Musubite](https://recruiting.musubite-job.com/features/company/knowledge-communication)」** というエンジニア同士のカジュアルトークサービスを利用しています！この記事にあるような生成AI 技術を使ったプロジェクトに携わるメンバーと直接話せるサービスですので興味がある方は是非利用を検討してください！

https://recruiting.musubite-job.com/features/company/knowledge-communication