>100 Views
July 23, 25
スライド概要
愛知 / SE / Azure / AzPoC部
#75azu Azure OpenAI の Tools(Function Calling)を 使ってタスク管理してみよう!! しろくま(Nomura Hiroki)
自己紹介 野村 宏樹 / Hiroki Nomura 愛知 / PoC部 Expertise Azure Oracle Database OutSystems SNS Zenn : https://zenn.dev/nomhiro X : @Shrkm1204 趣味 テニス 野球 ピアノ 先週電子ピアノを移動したら腰を痛めました
Agenda Microsoft Ignite 2024 個人的まとめ Azure OpenAIのToolsを使ったタスク管理 まとめ
Microsoft Ignite 2024 個人的まとめ 3つ!!!
Microsoft Ignite 2024 個人的まとめ 1/3 Azure Functions Flex ConsumptionがGA VNet統合に対応した高速スケーリング能力を持つ従量課金モデル まだJapanEastリージョンでは使えない デプロイスロットがない
Microsoft Ignite 2024 個人的まとめ 2/3 Azure Functions Durable Task Scheduler が Private Preview Orchestratorログ、ActivityログがAzurePortalから確認できるように。 Durable Functions のための Azure Storage は不要に。 Azure Storage によるボトルネックが無くなったため、パフォーマンスが向上。 価格は未定 PrivateEndpointの導入時期は未定。(まだPrivatePreviewですから!) Announcing Limited Early Access of the Durable Task Scheduler for Azure Durable Functions | Microsoft Community Hub
Microsoft Ignite 2024 個人的まとめ 3/3 Azure Cosmos DB ベクトル検索がGA ベクトル検索機能有効にした状態で、継続的バックアップができるように フルテキスト検索とハイブリッド検索がPublic Preview フルテキスト検索のAnalyzerは英語のみ対応中 あれ、Cosmos ”DB” だよな…?
Azure OpenAIのToolsを使ったタスク管理 そもそもどういうモチベーション?
Agentic AI? Agentは役割の違い • Agent = RAGによるナレッジ回答 だけではない • 業務で利用するとなると、回答が得られたあとのActionを行う必要がある。 →例)何らかシステムへの入力、文書化、他の人への連絡 など…
何をさせたいか? • 生成AIにActionを考えさせたい →Tools(Function Calling)を使い、生成AIに関数(Action)を選んでもらう • 生成AIが考えたActionを実行したい →生成AIが選んだ関数を実行する
OpenAIのToolsとは? 一言でいうと、 OpenAIが、問い合わせ内容に応じて、実行すべき外部関数を選んでくれる。
OpenAIのToolsとは? 実装コード 関数一覧を定義 ・関数名と説明 ・Inputパラメータ名と説明 ・Outputパラメータ名と説明 Azure OpenAI 呼び出した
今回のデモでは… • Google Calendarの内容をもとにチャット回答してほしい • チャットの内容に応じて、Google Calendarにタスク登録/更新/削除してほしい →Google Calendarのタスク取得/登録/更新/削除の関数を用意。 Tools(Function Calling)を使い、チャット内容に応じて生成AIに関数を 選んでもらう
デモの構成 ②関数一覧を渡し、 実行すべき関数があれば選ばれる。 ③関数実行した結果を加味して 回答生成 ③関数が選ばれていれば関数実行 ①チャット内容送信 ④結果を返却 チャット画面 OpenAI • Tools TypeScript (Next.js) 関数一覧 ・Task取得 ・Task登録 ・Task更新 ・Task削除 Google Calendar • 各種API
Demo Demo Tools Task Management
まとめ
まとめ エージェントというワードをよく聞くようになりましたが、役割の違いだと思ってます。 過去のチャットと問い合わせをもとに、Actionを実行することができます。 今回はRAG要素はありませんでしたが、もちろんRAGと併用できます。
まとめ 一方で、工夫すべき点は多いです。 チャットベースだと、ユーザの入力次第で生成AIが関数を選ぶ精度が下がります。 →ユーザが行うActionが明確なら、ボタンなどで選んでもらうほうが確実 Toolsに渡す関数の量が多いと、生成AIが関数を選ぶ精度が下がります。 →用意する関数の粒度に注意。システム目線で関数を用意するのではなく、 ユーザが行いたいAction単位で関数を用意すべき。 業務システムに勝手に登録されては困る場合も。 →生成AIからの提案後、Action実行前に人による承認プロセスが必要。
ありがとうございました!