
こんにちは、CCCMKホールディングスAIエンジニアの三浦です。
先日株式会社宣伝会議様が運営されている広告界の情報プラットフォーム「AdverTimes.」にインタビュー記事を公開していただきました。タイトルにあるように、CCCの会長のAIを開発した話です。自分自身も読んでてとても面白い内容でしたので、ぜひご覧ください。
さて、前回Microsoft Foundryを少し触ってみたお話をご紹介しました。
今回はドキュメントを参照して回答が出来るAgentをMicrosoft Foundryで構築してみました。理解してしまえば手順は簡単なのですが、ハマるポイントもあったので自分自身の備忘録もかねて記事にしてみたいと思います。
New Foundry
今回ご紹介する機能はMicrosoft Foundryの画面の上部にある"New Foundry"のスイッチをONにすることで利用できるようになります。

画面にもあるように現在Preview状態ですので今後画面や機能等は頻繁に更新されていく可能性があります。
Knowledge Base
FoundryでAgentに与える知識はKnowledge Baseで与えることになります。Knowledge Baseは複数のKnowledge Sourceを束ねたもので、LLMを利用することで最適なKnowledge Sourceを選択して情報を提供する機能を提供します。
Knowledge Baseの実態はAzure AI Searchで、Knowledge SourceはAzure AI SearchのIndexです。ですのでKnowledge Baseを作る場合はまずAI Searchを用意しておく必要があります。
AI Searchの設定
私がハマったポイントがここです。AI SearchをKnowledge Baseとして使う際には"Premium features"をONにしておく必要があります。AI Searchの"Settings"-"Premium feature"へと進み、FreeかStandardのいずれかのPlanを選択する必要があります。

この設定を行わない場合、見た目上は Foundry 上で問題なくKnowledge Base を構築できるのですが、いざAgentで呼び出そうとするとデータを取得することが出来ない、といった事象が発生しました。(トラブルシューティングがとても大変でした・・・)
Knowledge Baseを作る
Foundryの"Knowledge"メニューに進むとまず使用するAI Searchを選択する画面が表示されるので、設定したAI Searchを選択します。
そのあと"Create a knowledge base"を選択するとKnowledgeのタイプを選択する画面が表示されます。今回私は過去自分が書いたブログのPDFをAzure Blob Storageに格納したため、Azure Blob Storageを選択しました。

Azure Blob Storageを選択した場合は以下のような画面が表示されます。使用するEmbedding Modelやおそらく検索クエリを生成したり、情報をまとめるフロントとなるChat Completions Modelなども設定します。これがKnowledge Sourceになります。

設定が完了したら、Knowledge Baseの設定画面でどういうデータが格納されているのかといった説明、Chat Completions Modelなどを設定します。必要に応じて情報を抽出するための規則も指定することが出来ます。

AgentにKnowledgeを与える
作成したKnowledgeをAgentに参照させてみます。Foundryの"Agents"メニューから新しいAgentを作成し、作成画面でKnowledgeをAddすることで参照させることが出来ます。

まとめ
ということで今回はMicrosoft FoundryでKnowledge Baseを作成し、Agentに参照させる手順についてまとめてみました。本当はコードで定義したAgentをデプロイする手順も調査していたのですがこちらもいくつかハマりポイントがあり、記事をまとめるまでに至りませんでした。まだ新しい機能なので、これから情報が充実していくとありがたいな、と思いますし、こちらのブログでも色々情報を発信していこうと思います。