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
takashi1029
May 25, 2023
Technology
2
3.1k
Semantic KernelでGPTと外部ツールを連携する
ChatGPT Meetup Tokyo #2
https://chatgpt.connpass.com/event/281310/
takashi1029
May 25, 2023
Tweet
Share
More Decks by takashi1029
See All by takashi1029
第3回AI王YAMALEXソリューション
takashi1029
0
940
Other Decks in Technology
See All in Technology
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
250
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
1
190
Grafana x PagerDuty Better Together
jacopen
0
150
Janus
bkuhlmann
1
490
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
590
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
830
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
820
Azureの基本的な権限管理の勉強会
yhana
0
770
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
110
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
225
17k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
For a Future-Friendly Web
brad_frost
172
9k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Docker and Python
trallard
34
2.7k
Agile that works and the tools we love
rasmusluckow
325
20k
What's in a price? How to price your products and services
michaelherold
237
11k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
BBQ
matthewcrist
80
8.8k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Faster Mobile Websites
deanohume
299
30k
Typedesign – Prime Four
hannesfritz
36
2.1k
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.