$30 off During Our Annual Pro Sale. View Details »

.NET のUnified AI Building Blocks 入門...!

Kazuki
December 01, 2024

.NET のUnified AI Building Blocks 入門...!

.NET Conf 2024 in Roppongi Tokyo (Visual Studio Users Community Japan 勉強会 #7) での登壇資料です。
https://vsuc.connpass.com/event/335130/

Kazuki

December 01, 2024
Tweet

More Decks by Kazuki

Other Decks in Technology

Transcript

  1. #vsuc .NET の Unified AI Building Blocks 入門...! Visual Studio

    Users Community Japan 勉強会 #7 .NET Conf 2024 in Roppongi Tokyo 2024/11/30 (土) 日本マイクロソフト 大田 一希 (Kazuki Ota)
  2. #vsuc 自己紹介 日本マイクロソフト App Innovation アーキテクト第一本部 Cloud Solution Architect &

    Evangelist Kazuki Ota (大田 一希) 好き: C#、ゲーム X: @okazuki Zenn: https://zenn.dev/okazuki
  3. #vsuc Unified AI Building Blocks AI サービスと対話するための C# の抽象化レイヤー Microsoft.Extensions.AI.Abstractions

    チャット API・ベクトル化の抽象化 コアとなるクラス・インターフェース IChatClient、IEmbeddingGenerator、ChatMessage、Embedding<T>、AITool 各モデルごとの実装 OpenAI、Ollama、AzureAIInference、etc… Microsoft.Extensions.AI キャッシュ、ロギング、自動ツール呼び出し、OTEL 対応、メソッドから AITool の作成 Microsoft.Extensions.AI
  4. #vsuc Unified AI Building Blocks を利用するアプリ 抽象化レイヤーに対してコードを書くことで対応 AI に全部対応可能 Microsoft.Extensions.AI.Abstractions

    チャット API・ベクトル化の抽象化 各モデルごとの実装 Microsoft.Extensions.AI Your application モデルが変わってもアプリケーションの コードは変わらない
  5. #vsuc Semantic Kernel はどうなるの…? Microsoft.Extensions.AI は Semantic Kernel の抽象化レイヤーの進化系 Microsoft.SemanticKernel.Abstractions

    OpenAI Ollama AzureAI Inference Microsoft.Extensions.AI.Abstractions OpenAI Ollama AzureAI Inference Semantic Kernel Microsoft.Extensions.AI Semantic Kernel の各種機能
  6. #vsuc Semantic Kernel はどうなるの…? Microsoft.Extensions.AI は Semantic Kernel の抽象化レイヤーの進化系 Microsoft.Extensions.AI.Abstractions

    OpenAI Ollama AzureAI Inference Semantic Kernel Microsoft.Extensions.AI が GA した後に Semantic Kernel も Microsoft.Extensions.AI に移行予定 Semantic Kernel の各種機能
  7. #vsuc Unified AI Building Blocks を利用するアプリ AI を使うアプリケーションの全体像はこうなる Microsoft.Extensions.AI.Abstractions チャット

    API・ベクトル化の抽象化 各モデルごとの実装 Microsoft.Extensions.AI Semantic Kernel などの AI を使用するライブラリ Your application
  8. #vsuc Azure AI Model Inference との違いは…? Azure AI Model Inference

    API - Azure AI Foundry | Microsoft Learn 引用: Azure AI Model Inference は、基本モデルの共通の機能セットを 公開する API であり…  サポート対象のモデルに対して共通の API でアクセス可能  Azure.AI.Inference NuGet パッケージを使うと C# でも利用可能  Microsoft.Extensions.AI と目的がかぶってる…!?
  9. #vsuc 多分こうなる Azure AI Inference はすべてのモデルをサポートしているわけではない モデルA モデルB モデルC モデルD

    モデルE Azure AI Inference 対応モデル Azure AI Inference SDK Microsoft.Extensions.AI.AzureAIInference 各モデル用の Microsoft.Extensions.AI 実装 Your application Microsoft.Extensions.AI.Abstractions Microsoft.Extensions.AI Semantic Kernel などのAI を使用するライブラリ
  10. #vsuc ここまでのまとめ ✓ AI サービス使うための C# の抽象化レイヤー ✓ Microsoft.Extensions.AI.Abstractions 

    AI の抽象化を行っているライブラリ  各 AI モデルに対応する場合は、これを実装する ✓ Microsoft.Extensions.AI  Microsoft.Extensions.AI.Abstractions を使った便利機能や、必須機能を実装 ✓ モデルが変わってもアプリのロジックのコードは変わらない ※ 特定の AI 固有機能を使う場合は別 ✓ 今後は各種ライブラリもこれをベースになるはず
  11. #vsuc Microsoft.Extensions.AI を使ったライブラリ Prompty.Core Prompty を使うためのライブラリ チャットモデル用の .prompty をパースした結果が Microsoft.Extensions.AI

    の ChatMessage になっている Microsoft.Extensions.AI.Evaluation AI を使ったアプリの応答の評価を行うライブラリ Evaluate the quality of your AI applications with ease .NET での AI を使ったアプリの評価ライブラリ爆誕…!!
  12. #vsuc まとめ ✓ Unified AI Building Blocks for .NET •

    Microsoft.Extensions.AI • Microsoft.Extensions.AI.Abstractions ✓ ミドルウェアによる拡張性が凄い! • OpenTelemetry、キャッシュ、関数呼び出し、etc… • ミドルウェアの自作も可能 ✓ 各種 AI を使うライブラリの中心を担う存在 • 今後さまざまなライブラリが、利用する形でエコシステムを構築されるはず(期待) • 現状でも既に、いくつかのライブラリが出てきている • Prompty.Core • Microsoft.Extensions.AI.Evaluation
  13. #vsuc まとめ ✓ Unified AI Building Blocks for .NET •

    Microsoft.Extensions.AI • Microsoft.Extensions.AI.Abstractions ✓ ミドルウェアによる拡張性が凄い! • OpenTelemetry、キャッシュ、関数呼び出し、etc… • ミドルウェアの自作も可能 ✓ 各種 AI を使うライブラリの中心を担う存在 • 今後さまざまなライブラリが、利用する形でエコシステムを構築されるはず(期待) • 現状でも既に、いくつかのライブラリが出てきている • Prompty.Core • Microsoft.Extensions.AI.Evaluation Microsoft.Extensions.AI が GA したら AI を使うアプリで使ってみてください