Slide 1

Slide 1 text

Azure FunctionsのAOAI バインド機能を試してみる 2024/1/18 .NET の 2 日間 2024 冬 馬場ひろの Hirono Baba

Slide 2

Slide 2 text

スピーカーについて ◼ 馬場ひろの ◼ (株)オルターブース所属 ◼ エンジニア4年生 ◼ AzureやGitHub, .NETがんばってます @nina-sensei

Slide 3

Slide 3 text

発表内容について ◼ 今日話すこと ◼ Azure Functions ◼ バインド機能について ◼ AOAIバインド機能について ◼ 目的 ◼ AOAIバインド機能先取りで試してみること ◼ 対象者 ◼ Azure初~中級者向け ◼ Functions推しな人

Slide 4

Slide 4 text

Azure Functions ◼ イベントをトリガーとしてプログラムを実行するAzureのサービス ◼ HTTP, Timer, Queue, その他Azureのサービスをトリガーとすることができる ◼ サーバーレスコンピューティングプラットフォーム ◼ 様々な言語をサポート(C#, JavaScript, Java, PowerShell, Python) ◼ バインド機能あり

Slide 5

Slide 5 text

バインド機能まとめ ◼ 少ないコードで他のサービスに接続するための方法 Blob Storage Azure Cosmos DB Azure SQL Dapr Event Grid HTTP と Webhook IoT Hub Kafka Mobile Apps Notification Hubs Queue Storage Redis RabbitMQ SendGrid Service Bus SignalR Table Storage Timer Twillio

Slide 6

Slide 6 text

AOAIのバインド機能が開発中 ◼ まだ非公式 ◼ Open AIとAOAI(Azure Open AI) と接続できる https://github.com/cgillum/azure-functions-openai-extension?tab=readme-ov-file

Slide 7

Slide 7 text

現在開発されている機能 ◼ Text completions ◼ テキスト補完、任意のテキストの続きを生成してくれる ◼ Chat bots ◼ チャットボットを実装できる ◼ Assistants ◼ チャットボットをベースに、アシスタントの役割を担ってくれる ◼ Embeddings generators ◼ テキスト文字列の関連性をベクトル化し測定してくれる ◼ Semantic search ◼ 出力バインディング:ベクトルデータベースにドキュメントをインポート ◼ 入力バインディング:データベース内のドキュメントにクエリを発行

Slide 8

Slide 8 text

準備 ◼ NuGet Packagesをインス トールする ◼ AOAIのリソースを作成 ◼ AZURE_OPENAI_KEY と AZURE_OPENAI_ENDPOINT をlocal.settings.jsonに設定 ◼ 実行環境 ◼ Visual Studio 2022 ◼ .NET6.0(In-Processモデル) ◼ Azure Functions Core Tools v4.x

Slide 9

Slide 9 text

AOAIの設定 ◼ リソースからキーとエンドポイントを取得 ◼ Azure OpenAI Studioでモデルのデプロイを忘れずに

Slide 10

Slide 10 text

デモ Text completions, Chat bots

Slide 11

Slide 11 text

Assistants ◼ Chat botsが一つのプロンプトに対して一つの返答が返ってくるような形 ◼ Assistantsは履歴を取得してくれるので会話が成り立つのが特徴 ◼ ToDoリストなどアシスタントとやりとりできる ◼ 明日のToDoタスクを一定の時間になったら通知してくれる ◼ オフィスの入退出管理ができる などなど ◼ 他のサービスと簡単に接続できるので簡単にアプリができる…?!

Slide 12

Slide 12 text

まとめ ◼ Functionsで簡単にAOAIと接続できる ◼ Semantic検索も試してみる ◼ GA待ってます! ◼ 今後のアップデートに期待