Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
3.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Semantic KernelでGPTと外部ツールを連携する
ChatGPT Meetup Tokyo #2
https://chatgpt.connpass.com/event/281310/
Takashi Sasaki
May 25, 2023
More Decks by Takashi Sasaki
See All by Takashi Sasaki
FastAPIでのasync defとdefの使い分け
takashi1029
19
7.9k
第3回AI王YAMALEXソリューション
takashi1029
0
1.2k
Other Decks in Technology
See All in Technology
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
Loop Engineering これくらいでいい
mikanichinose
0
230
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
120
SREでアラート疲れを 解決しよう!
kairim0
1
230
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.3k
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
継続的なAIコスト最適化
bgpat
1
300
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
370
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
150
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
0
130
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
130
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing for Performance
lara
612
70k
Thoughts on Productivity
jonyablonski
76
5.4k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Ruling the World: When Life Gets Gamed
codingconduct
0
400
The Language of Interfaces
destraynor
162
27k
First, design no harm
axbom
PRO
2
1.3k
The browser strikes back
jonoalderson
0
1.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
エンジニアに許された特別な時間の終わり
watany
109
250k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
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.