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

Semantic Kernelを使ってAIチャットアプリを構築する - ライブコーディング編 -

Semantic Kernelを使ってAIチャットアプリを構築する - ライブコーディング編 -

Semantic Kernelを使ってAIチャットアプリを構築する - ライブコーディング編 -
.NETラボ 勉強会 2023年7月
https://dotnetlab.connpass.com/event/288776/

tomokusaba

July 22, 2023
Tweet

More Decks by tomokusaba

Other Decks in Programming

Transcript

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

    2023年7月22日現在の preview版に基づいています。 • ここで紹介した方法について破壊的変更などの可能性があるこ とに留意してください。 • #dotnetlabでtweetすると右側に表示されます
  2. 今日の目的 • Semantic KernelというOpenAI Serviceでとても便利なライブラ リがあります。 • Microsoft Build Japanのハンズオンで「Semantic

    Kernelを 使ってAIチャットアプリを構築する」をやり会場の収容人数を 上回る方に申し込みを頂きました。 • 結果的にハンズオンに参加できない方が出てきてしましました。 • そこで、今回は同じ内容でライブコーディングを行います。
  3. Semantic Kernelを使ってAIチャットアプリを 構築する -事前説明スライド- ・草場 友光(Microsoft MVP for Developer Technologies

    / 株式会社SAKURUG) ・髙尾 哲朗(Microsoft MVP for Developer Technologies) ・大川 貴志(Microsoft MVP for M365 Development)
  4. Agenda  12:15 ~ 事前説明  12:20 ~ ハンズオン開始(ChatGPTのよ うなAIと会話できるチャットアプリの構

    築)  13:00 ~ プロンプトを変えてみよう  13:10 ~ Bing Searchを利用してWeb情 報からAIが回答するようにしよう  13:35 ~ まとめ
  5. Semantic Kernelとは? • Semantic KernelはMicrosoftがOSSとして発表したAzure OpenAI ServiceやOpenAI Serviceをアプリケーションに素早く簡 単に組み込むことができるようにするライブラリです。 •

    複数の関数を一つのパイプラインに結合できそのパイプラインを AIが自動的に作ってくれる。。。 • 今日はこの中でも組み込みのChatCompletionを使用していきま す。
  6. Bing Searchの結果をプロンプトに • Bing Searchの結果をプロンプトに格納したい • SystemMessageが何件もあるのはいかがなものか? • すべて文字列連結して1つのSystemMessageに格納 •

    SystemMessageが次の会話に残るのもなんか嫌 • 一時的なチャット履歴を作成しこれにBing Searchの結果を格納しgptさん で会話生成!
  7. Bing Searchの使用法(メソッド) public async Task<IEnumerable<string>> SearchAsync(string query, int count =

    1, int offset = 0, CancellationToken cancellationToken = default)を呼ぶ 検索結果の見出しの部分が本文として取得できる ここの部分が取得できる! つまり途中で切れてる