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
Takashi Sasaki
May 25, 2023
Technology
2
3.4k
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
10
5.9k
第3回AI王YAMALEXソリューション
takashi1029
0
1.1k
Other Decks in Technology
See All in Technology
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
440
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.1k
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
460
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
110
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
400
from Sakichi Toyoda to Agile
kawaguti
PRO
1
100
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
100
AWS IoT 超入門 2025
hattori
0
240
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
170
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
350
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
170
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
2
140
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.6k
Facilitating Awesome Meetings
lara
56
6.6k
Raft: Consensus for Rubyists
vanstee
139
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Building an army of robots
kneath
306
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Six Lessons from altMBA
skipperchong
28
4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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.