こんにちは、今日は以下の技術スタックで過去のインターン生の情報(ダミー)を元に、回答を行うチャットbotを作成します。一個の記事でまとめきれないと思うので複数記事にする予定です。
バックエンド:FastAPI
データベース:CosmosDB
Azureのサービス:Azure AI Search、AzureOpenAI, Azure Strage, CosmosDB
ダミーデータ:記事の最後に添付
各種サービスのリソースは今回以下のように作成しました。
Azure AI Search:Basic(基本)プラン Azure OpenAI :Standard S0プラン Azure Strage, CosmosDB:無料枠
では早速、作成したデータベースとAI Searchを繋げてみます。
上の写真は作成したAI Searchの概要画面のナビゲーションバーです。「データのインポート」をクリックします。 すると下の写真のような画面になります。すでに入力済みですが、データソース名に設定したい名前、接続文字列には接続したいデータベースを接続させてください。今回は作成済みのAzure Strageのコンテナーに接続をしました。コンテナーの中にはchatGPTを用いて作成した架空のインターン生20人のデータ(csv)を格納しています。
データの接続の設定が終わるとコグニティブスキルの追加をする画面に行きますが、スキップ可能ですので今回はスキップして対象インデックスをカスタマイズ画面にいきます。 データとの接続の際、解析モードを区切りテキストにしました。これはデータをcsv形式で用意しているためです。対象インデックスをカスタマイズする際はそのヘッダー情報の名前と型の登録をおこないます(下の写真参照)。
設定が終わりましたら、次のインデクサーの作成へ行きましょう。下の写真のような画面が映ると思います。注目するのはスケジュールの設定になりますが、今回は定期的にデータを読み込ませるつもりはないので「一度」にします。
そのまま送信ボタンを押すとデータの登録がされます。特に問題なければ以下のような写真の画面になると思います。
では、現段階でどのようなデータが格納されているか確認をしましょう。 AI Searchの概要画面のナビゲーションバーの「検索エクスプローラー」をクリックしてください。 該当するインデックスを選択し、「表示」から「JSONビュー」を選択したのちに検索ボタンをクリックしてみてください。下の写真のように登録したデータがjson形式で表示されると思います。
今回はAI SearchとAzure Strageを用いてcsvデータの登録までを実装しました。登録できるのはcsvデータに限らずドキュメントpdfや既存のデータベースとの連携もできます。また、まだ目玉機能である情報のベクトル化を実施できていないので次回はそこから始めようと思います。
参考文献
[1]中原 佳澄「簡単なデータを使ってAzure AI Search入門(1)-サービスの概要」 C&S ENGINEER VOICE https://licensecounter.jp/engineer-voice/blog/articles/20240729_azure_ai_search1.html(最終閲覧日2025/5/22)
[2]永田祥平、伊藤駿汰、宮田大士、立脇裕太、花ヶ崎伸裕、蒲生弘郷、吉田真吾「Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門」 技術評論社 2024
ダミーデータ