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.3k
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
9
3.8k
第3回AI王YAMALEXソリューション
takashi1029
0
1k
Other Decks in Technology
See All in Technology
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
210
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!座学①
siyuanzh09
0
110
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
240
Formal Development of Operating Systems in Rust
riru
1
420
新卒1年目、はじめてのアプリケーションサーバー【IBM WebSphere Liberty】
ktgrryt
0
100
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
140
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
580
comilioとCloudflare、そして未来へと向けて
oliver_diary
6
440
20250116_JAWS_Osaka
takuyay0ne
2
200
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
220
Featured
See All Featured
Facilitating Awesome Meetings
lara
51
6.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
Making Projects Easy
brettharned
116
6k
Why Our Code Smells
bkeepers
PRO
335
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Adopting Sorbet at Scale
ufuk
74
9.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
The Pragmatic Product Professional
lauravandoore
32
6.4k
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.