Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Semantic KernelでGPTと外部ツールを連携する
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takashi Sasaki
May 25, 2023
Technology
2
3.5k
Semantic KernelでGPTと外部ツールを連携する
ChatGPT Meetup Tokyo #2
https://chatgpt.connpass.com/event/281310/
Takashi Sasaki
May 25, 2023
Tweet
Share
More Decks by Takashi Sasaki
See All by Takashi Sasaki
FastAPIでのasync defとdefの使い分け
takashi1029
13
7.1k
第3回AI王YAMALEXソリューション
takashi1029
0
1.1k
Other Decks in Technology
See All in Technology
A Casual Introduction to RISC-V
omasanori
0
550
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
250
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
290
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
230
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
110
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
210
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
4
13k
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
420
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
180
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
6
740
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
310
SaaSに宿る21g
kanyamaguc
2
140
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
160
Designing Experiences People Love
moore
143
24k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Crafting Experiences
bethany
1
92
Technical Leadership for Architectural Decision Making
baasie
3
300
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
93
Transcript
Copyright © Acroquest Technology Co., Ltd. All rights reserved. ChatGPT
Meetup #2 Semantic Kernelで GPTと外部ツールを連携する 2023/05/25 アクロクエストテクノロジー株式会社 佐々木 峻 1
今日話すこと Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2 1.ReActとは? 2.Semantic Kernelとは? 3.検索・要約ツールを実装してみる
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3
1. ReActとは?
1. ReActとは? Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 4 ユーザーの入力をGPTが解釈して、実行は外部ツールを使用するという考え方 「OpenAI APIの使い方について検索してまとめを教えて」 考え:OpenAI API 使い方で検索する 行動:検索 search(“OpenAI API 使い方”) 考え:検索結果をもとに要約する 行動:要約 summary(“<検索結果>”) GPT-3モデル 外部ツール 考え:回答を得られたので終了 行動:終了
1. ReActとは? Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 5 考え:OpenAI API 使い方で検索する 行動:検索 search(“OpenAI API 使い方”) 考え:検索結果をもとに要約する 行動:要約 summary(“<検索結果>”) GPT-3モデル 外部ツール 考え:回答を得られたので終了 行動:終了 Reasoning=するべきことは何かを思考 Action=実際にアクションを実行する
ReAct 何がうれしい? Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 6 言語モデルだけではできない 他ツールとの連携ができる!
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7
2. Semantic Kernelとは?
2-1. Semantic Kernelとは? Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 8 ReActを活用したアプリケーションを実装できるライブラリ 他によく使われるライブラリ
2-1. Semantic Kernelとは? Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 9 1.言語はC# or Python 2.Microsoft発のOSS 3.ReActのアプリを簡単に実装できる
2-1. Semantic Kernelの動作イメージ Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 10 Kernel Elasticsearch検索 要約 Skill 「OpenAI APIの使い方について検索してまとめを教えて」 Planner 入力 “OpenAI APIの使い方” ① ② 要約 実行 入力 ①の出力 実行結果 Semantic Kernel Elasticsearch検索 実行
2-2. Semantic Kernelの概念 Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 11 Kernel • 処理全体を制御する。 • Plannerという機能を使えば、Kernelに実行したいスキルを登録することで、ユーザー の入力文からどのスキルをどの順番に実行するかを決定して自動で実行できる Skill • 何を実行するかを実装する部分。Functionという部分に実行することと実装する。 • Functionには以下の2種類ある • Semantic Function:プロンプトテンプレートを使ってLLMの回答を取得する • Native Function:プログラムの関数として実装される。
2-3. Planner Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 12 ユーザーの入力から登録されているスキルをどの順番で実行するか計画を立てる。 「GPTをアシスタントとして使うための情報があるか検索して要約してください」 ※Python版にはまだ実装されていないので注意
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13
3. 実際に作ってみる
3. 作るもののイメージ Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 14 Kernel Elasticsearch検索 要約 Skill 「OpenAI APIの使い方について検索してまとめを教えて」 Planner 入力 “OpenAI APIの使い方” ① ② 要約 実行 入力 ①の出力 実行結果 Semantic Kernel Elasticsearch検索 実行
3. やること Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 15 1.Skillを作成する 2.Kernelを実装する 3.実行してみる
3-1. Skillを作成する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 16 1. 入力を要約するSkill(Semantic Function) 2. Elasticsearchに検索するSkill(Native Function) 以下の2つのSkillを作成する
3-1-1. Semantic Functionsを作成する Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 17 1.config.json 2.skprompt.txt 以下の2ファイルを用意する
3-1-1. config.txt Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 18 関数とLLMのパラメータを定義する
3-1-1. config.txt Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 19 関数とLLMのパラメータを定義する LLMが実行計画を作るときに この内容で判断する
3-1-1. skprompt.txt Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 20 LLMへ入力するプロンプトのテンプレートを定義する
3-1-1. skprompt.txt Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 21 LLMへ入力するプロンプトのテンプレートを定義する config.txtで定義した parameterの値が入る
3-1-2. Native Functionの実装 Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 22 処理内容を関数として実装する
3-1-2. Native Functionの実装 Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 23 処理内容を関数として実装する LLMが実行計画を作るときに この内容で判断する
3-1-3. Skillを配置する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 24 Namespaceで定義した 値と合わせる。 プロジェクト内にSkill用のディレクトリを作成する
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 25 まずはSkillを使えるようにする
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 26 まずはSkillを使えるようにする 基本はtext-davince-003 モデルを使用する
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 27 まずはSkillを使えるようにする Plannerもスキルの一つ なので登録が必要
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 28 まずは簡単な文章でPlannerを実行してみる
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 29 検索だけ実行する実行計画が出力される
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 30 2つのタスクが必要な文章を試してみる
3-2. Kernelを実装する Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 31 検索→要約の流れで実行計画が出力される
3-3. 実行してみる Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 32 実行計画を順番に実行して、最終的に以下の結果を得られる
まとめ Copyright © Acroquest Technology Co., Ltd. All rights reserved.
33 1. Semantic Kernelを使えばReActで簡単に実装できる 2. Plannerで動的に実行計画を作成できる
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 34
詳しくは以下のブログに書いているのでよければご覧ください https://acro-engineer.hatenablog.com/entry/2023/04/18/120000
35 ご清聴ありがとうございました Copyright © Acroquest Technology Co., Ltd. All rights
reserved.