Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Semantic Kernelを使ってAI チャットアプリを構築する - ライブコーディング編 - 株式会社SAKURUG エンジニアリングユニット 草場 友光 .NETラボ 2023年7月
Slide 2
Slide 2 text
自己紹介 • 普段は主にシステムをAzureにモダナ イズする仕事をしています。 • コミュニティ活動を通じて知識をアッ プデートしています。 • 2022/08-2023 Microsoft MVP (Developer Technologies) • tomo_kusaba
Slide 3
Slide 3 text
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
Slide 4
Slide 4 text
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • Semantic Kernelは現在Preview版です。急速な勢いで機能実 装されています。 • 2023年7月22日現在の preview版に基づいています。 • ここで紹介した方法について破壊的変更などの可能性があるこ とに留意してください。 • #dotnetlabでtweetすると右側に表示されます
Slide 5
Slide 5 text
今日の目的 • Semantic KernelというOpenAI Serviceでとても便利なライブラ リがあります。 • Microsoft Build Japanのハンズオンで「Semantic Kernelを 使ってAIチャットアプリを構築する」をやり会場の収容人数を 上回る方に申し込みを頂きました。 • 結果的にハンズオンに参加できない方が出てきてしましました。 • そこで、今回は同じ内容でライブコーディングを行います。
Slide 6
Slide 6 text
Semantic Kernelを使ってAIチャットアプリを 構築する -事前説明スライド- ・草場 友光(Microsoft MVP for Developer Technologies / 株式会社SAKURUG) ・髙尾 哲朗(Microsoft MVP for Developer Technologies) ・大川 貴志(Microsoft MVP for M365 Development)
Slide 7
Slide 7 text
Agenda 12:15 ~ 事前説明 12:20 ~ ハンズオン開始(ChatGPTのよ うなAIと会話できるチャットアプリの構 築) 13:00 ~ プロンプトを変えてみよう 13:10 ~ Bing Searchを利用してWeb情 報からAIが回答するようにしよう 13:35 ~ まとめ
Slide 8
Slide 8 text
Semantic Kernelとは? • Semantic KernelはMicrosoftがOSSとして発表したAzure OpenAI ServiceやOpenAI Serviceをアプリケーションに素早く簡 単に組み込むことができるようにするライブラリです。 • 複数の関数を一つのパイプラインに結合できそのパイプラインを AIが自動的に作ってくれる。。。 • 今日はこの中でも組み込みのChatCompletionを使用していきま す。
Slide 9
Slide 9 text
Kernelのインスタンス化 kernel = new KernelBuilder() .WithLogger(_logger) .WithAzureChatCompletionService(deploymentName, baseUrl, key) .Build(); deploymentName key baseUrl
Slide 10
Slide 10 text
ハンズオンで使用するコード https://github.com/tomokusaba/BuildJapanAIHandsonDay1-1
Slide 11
Slide 11 text
Bing Searchについて13:10~(予定)
Slide 12
Slide 12 text
Bing Searchの使用法(準備) Microsoft.SemanticKernel.Skills.Webを追加でNuget
Slide 13
Slide 13 text
Bing Searchの結果をプロンプトに • Bing Searchの結果をプロンプトに格納したい • SystemMessageが何件もあるのはいかがなものか? • すべて文字列連結して1つのSystemMessageに格納 • SystemMessageが次の会話に残るのもなんか嫌 • 一時的なチャット履歴を作成しこれにBing Searchの結果を格納しgptさん で会話生成!
Slide 14
Slide 14 text
Bing Searchの使用法(メソッド) public async Task> SearchAsync(string query, int count = 1, int offset = 0, CancellationToken cancellationToken = default)を呼ぶ 検索結果の見出しの部分が本文として取得できる ここの部分が取得できる! つまり途中で切れてる
Slide 15
Slide 15 text
Bing Searchの使用法(インスタンス化) 引数はAPI KeyとILogger(オプション) https://github.com/microsoft/semantic- kernel/blob/main/dotnet/src/Skills/Skills.Web/Bing/BingConnector.cs
Slide 16
Slide 16 text
デモ
Slide 17
Slide 17 text
おしまい おしまい