Azure OpenAI の Tools(FunctionCalling)を使ってタスク管理してみよう!!_公開用

>100 Views

July 23, 25

スライド概要

profile-image

愛知 / SE / Azure / AzPoC部

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

#75azu Azure OpenAI の Tools(Function Calling)を 使ってタスク管理してみよう!! しろくま(Nomura Hiroki)

2.

自己紹介 野村 宏樹 / Hiroki Nomura 愛知 / PoC部 Expertise  Azure  Oracle Database  OutSystems SNS  Zenn : https://zenn.dev/nomhiro  X : @Shrkm1204 趣味  テニス 野球 ピアノ 先週電子ピアノを移動したら腰を痛めました

3.

Agenda  Microsoft Ignite 2024 個人的まとめ  Azure OpenAIのToolsを使ったタスク管理  まとめ

4.

Microsoft Ignite 2024 個人的まとめ 3つ!!!

5.

Microsoft Ignite 2024 個人的まとめ 1/3 Azure Functions  Flex ConsumptionがGA  VNet統合に対応した高速スケーリング能力を持つ従量課金モデル  まだJapanEastリージョンでは使えない  デプロイスロットがない

6.

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

7.

Microsoft Ignite 2024 個人的まとめ 3/3 Azure Cosmos DB  ベクトル検索がGA  ベクトル検索機能有効にした状態で、継続的バックアップができるように  フルテキスト検索とハイブリッド検索がPublic Preview  フルテキスト検索のAnalyzerは英語のみ対応中 あれ、Cosmos ”DB” だよな…?

8.

Azure OpenAIのToolsを使ったタスク管理 そもそもどういうモチベーション?

9.

Agentic AI? Agentは役割の違い • Agent = RAGによるナレッジ回答 だけではない • 業務で利用するとなると、回答が得られたあとのActionを行う必要がある。 →例)何らかシステムへの入力、文書化、他の人への連絡 など…

10.

何をさせたいか? • 生成AIにActionを考えさせたい →Tools(Function Calling)を使い、生成AIに関数(Action)を選んでもらう • 生成AIが考えたActionを実行したい →生成AIが選んだ関数を実行する

11.

OpenAIのToolsとは? 一言でいうと、 OpenAIが、問い合わせ内容に応じて、実行すべき外部関数を選んでくれる。

12.

OpenAIのToolsとは? 実装コード 関数一覧を定義 ・関数名と説明 ・Inputパラメータ名と説明 ・Outputパラメータ名と説明 Azure OpenAI 呼び出した

13.

今回のデモでは… • Google Calendarの内容をもとにチャット回答してほしい • チャットの内容に応じて、Google Calendarにタスク登録/更新/削除してほしい →Google Calendarのタスク取得/登録/更新/削除の関数を用意。 Tools(Function Calling)を使い、チャット内容に応じて生成AIに関数を 選んでもらう

14.

デモの構成 ②関数一覧を渡し、 実行すべき関数があれば選ばれる。 ③関数実行した結果を加味して 回答生成 ③関数が選ばれていれば関数実行 ①チャット内容送信 ④結果を返却 チャット画面 OpenAI • Tools TypeScript (Next.js) 関数一覧 ・Task取得 ・Task登録 ・Task更新 ・Task削除 Google Calendar • 各種API

15.

Demo Demo Tools Task Management

16.

まとめ

17.

まとめ  エージェントというワードをよく聞くようになりましたが、役割の違いだと思ってます。  過去のチャットと問い合わせをもとに、Actionを実行することができます。  今回はRAG要素はありませんでしたが、もちろんRAGと併用できます。

18.

まとめ 一方で、工夫すべき点は多いです。  チャットベースだと、ユーザの入力次第で生成AIが関数を選ぶ精度が下がります。 →ユーザが行うActionが明確なら、ボタンなどで選んでもらうほうが確実  Toolsに渡す関数の量が多いと、生成AIが関数を選ぶ精度が下がります。 →用意する関数の粒度に注意。システム目線で関数を用意するのではなく、 ユーザが行いたいAction単位で関数を用意すべき。  業務システムに勝手に登録されては困る場合も。 →生成AIからの提案後、Action実行前に人による承認プロセスが必要。

19.

ありがとうございました!