Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Semantic Kernel(C#)でAzure OpenAI ServiceのGPT-4を...

Semantic Kernel(C#)でAzure OpenAI ServiceのGPT-4を使ってみる

Semantic Kernel(C#)でAzure OpenAI ServiceのGTP-4を使ってみる
.NETラボ勉強会2023年5月
https://dotnetlab.connpass.com/event/281932/

tomokusaba

May 27, 2023
Tweet

More Decks by tomokusaba

Other Decks in Programming

Transcript

  1. 注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • Semantic Kernelは現在Preview版です。急速な勢いで機能実 装されています。 •

    2023年5月27日現在の0.14.547.1 preview版に基づいていま す。 • ここで紹介した方法について破壊的変更などの可能性があるこ とに留意してください。 • #dotnetlabでtweetすると右側に表示されます
  2. Azure OpenAI サービスとは? • Azure OpenAIサービスはGPT-3、CodexなどOpenAIの強力 な言語モデルをREST APIとして使用できます。 • コンテンツの生成、まとめ、自然言語からコードへの翻訳など

    ができる。 • REST API、Python SDK、またはAzure OpenAI Studioの Webベースのインターフェイスを介してサービスにアクセスで きる。 • C#ではREST APIを利用してサービスにアクセスする。
  3. Open AI × Microsoft • https://news.microsoft.com/ja-jp/2023/01/25/230125- microsoftandopenaiextendpartnership/ • 2023年1月複数年にわたって数十億ドル規模の投資を行うと発 表

    • AIの力によりマイクロソフトのミッションである「地球上の すべての個人とすべての組織が、より多くのことを達 成できるようにする」この手段の一つであると推察
  4. Azure OpenAIとOpenAIの比較 • Azure OpenAIはOpenAIとともにAPIを共同開発し互換性を確 保し一方から他方へスムーズな移行を保証します。 • Azure OpenAIを使用するとOpenAIと同じモデルを実行しな がらAzureのセキュリティ機能を使用できる。

    • Azure OpenAIでは、プライベートネットワーク、リージョン の可用性、責任あるAIコンテンツのフィルター処理が提供され る。 • Azureならではのセキュリティ機能・ガバナンス機能が利用で きる。
  5. Chat Completion API • learn.microsoft.comより メッセージ 説明 System システムメッセージはモデルの初期 コンテキストとガイダンスを提供し

    ます。応答すべきことと回答すべき でないこと。応答の書式方法につい て説明します。 Assistant モデルによって生成された入力候 補または応答を含むメッセージ User ユーザーが作成したメッセージ。
  6. リソースの作成&モデルデプロイ • 前提条件ーAzure OpenAIサービスへのアクセス申請が承認済 みであること • リソースの作成 • Azure Portalなどからサブスクリプション・リソースグループ・リー

    ジョン・名前・価格レベルを指定してリソースを作成する • モデルのデプロイ • Azure PortalまたはAzure OpenAI Studioから使用するモデルをデプ ロイする。
  7. Semantic Kernelとは? • Semantic KernelはMicrosoftがOSSとして発表したAzure OpenAI ServiceやOpenAI Serviceをアプリケーションに素早 く簡単に組み込むことができるようにするライブラリです。 •

    複数の関数を一つのパイプラインに結合できそのパイプライン をAIが自動的に作ってくれる。。。 • 今日はこの中でも組み込みのChatCompletionを使用していき ます。
  8. Semantic Kernelの概要 カーネル 全体の制御 プランナー スキルの実行順を 決める スキル プロンプトを管理 メモリー

    記憶を管理 コネクター 外部接続を管理 今日は組み込み の ChatCompletion を使用します。
  9. Kernelのインスタンス化 • 汎用ホストに近い書き方も できる! kernel = new KernelBuilder().Configure(c => {

    c.AddAzureChatCompletionService(serviceId, deploymentName, baseUrl, key); }).WithLogger(_logger).Build(); serviceId deploymentName key baseUrl
  10. Dev Driveの効果 項目 条件 プロジェクトの種類 Blazor Server 構成 Release ターゲットフレームワーク

    net7.0 配置モード 自己完結 ターゲットランタイム win-x64 単一ファイルの作成 ✅ ReadyToRunコンパイルを有効にする ✅ 未使用コードのトリミング ✅ Dev Drive未使用時 3分3秒 Dev Drive使用時 2分45秒
  11. 参考文献 • Azure OpenAI Service とは • Azure OpenAI Service

    モデル • クイック スタート: Azure OpenAI Service で ChatGPT (プレ ビュー) と GPT-4 (プレビュー) の使用を開始する • Semantic Kernel • Microsoft が LLM をアプリ開発に統合するための OSS 「Semantic Kernel」を発表