Slide 1

Slide 1 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) Semantic KernelとBingサーチ(2024/05) 2024.05 .NETラボ LT

Slide 2

Slide 2 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) 誰? Takas(@DevTakas) Angular / Azure / .NET / CICD / Microsoft Graph Microsoft MVP M365

Slide 3

Slide 3 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) Semantic Kernel(SK)でBingサーチ • 昨年のBuild Japanでハンズオンが実施されている • tomokusaba/BuildJapanAIHandsonDay1-1Ans (github.com) • 上記はSK 0.16.230615.1-preview で実装されている • 今は1.10.0… • 先月の.NETラボでリプレイスしたぞ! • Bingくんはどうなるんだろ? • 破壊的変更を数度経ているので今の実装を確認しよう • SKから提供されているPluginの使い方を把握しよう

Slide 4

Slide 4 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) 使用できるプラグインと使い方を把握する • 今は正直GitHubで実装をみるのが一番早い • semantic-kernel/dotnet/src/Plugins • BingやGoogleで検索できるのはPlugins.Webの実装 • XXXPlugin.csにプラグインの実装がある • メソッド名が呼び出すプラグインになり引数が渡せるパラメータ こんな実装なら”.GetSearchResults query=‘hogehoge’ count=‘2’ ” のような呼び出し方になる

Slide 5

Slide 5 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) 使用できるプラグインと使い方を把握する • 今は正直GitHubで実装をみるのが一番早い(2) • semantic-kernel/dotnet/samples • サンプルやテストコードから使いからを把握できる

Slide 6

Slide 6 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) 使い方 • Semantic Kernelの設定時にPluginを食わせる • 汎用ホストを利用したセットアップ時にまとめて設定しちゃう 1. bingConnectorを作成 2. WebSerchPluginを作成 3. KernelPluginFactoryでWebSerchPluginを食わせる ※第2引数の”bing”はなんでもいいっちゃいいけどpluginの呼び出し方が変わるので注意 var bingConnector = new BingConnector(bingSearchKey); var plugin = new WebSearchEnginePlugin(bingConnector); KernelPluginFactory.CreateFromObject(plugin, "bing");

Slide 7

Slide 7 text

Takas(@DevTakas) Semantic Kernelとbingサーチ(2024/05)(2024.05 .NETラボ) 結果 • こんなデータが返ってくる(HTMLエンコードされている) • Resultsで情報リストで出してSearchで絞る感じの使い方がよい? • なので個人的にはPlugin作ってそこからbingサーチして…って 流れでいいんじゃないかな。と思っている。 • 今回のサンプルはそのように構成した