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
LangChain Agentを使って自社ツールとChatGPTを連携
Search
西岡 賢一郎 (Kenichiro Nishioka)
September 29, 2023
Technology
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LangChain Agentを使って自社ツールとChatGPTを連携
機械学習の社会実装勉強会第27回 (
https://machine-learning-workshop.connpass.com/event/296222/
) の発表資料です。
西岡 賢一郎 (Kenichiro Nishioka)
September 29, 2023
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
顧客に説明できる、 安全なAIの使い方 - 会計士・税理士向けAI活用勉強会 第2回
knishioka
0
60
ローカルLLM、実際どこまで使えるか
knishioka
0
23
会計士・税理士向け AI活用勉強会第1回
knishioka
0
82
権限は渡さない、操作だけ切り出す ― 自前MCPサーバー実践入門
knishioka
0
73
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
230
データサイエンスの現場から学ぶ 成功と失敗の実像と生成AI時代の展望
knishioka
0
100
ハーネスエンジニアリング入門
knishioka
0
580
OpenClawでPM業務を自動化
knishioka
2
640
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
700
Other Decks in Technology
See All in Technology
AI エージェント時代のデジタルアイデンティティ
fujie
1
1.2k
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
150
システム監視入門
grimoh
5
760
1台から試せる!Edge IoTを使った位置情報の活用設計【SORACOM Discovery 2026】
soracom
PRO
0
110
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
330
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
800
plamo-3-translateの開発
pfn
PRO
0
200
信頼できるテスティングAIをどう育てるか?
odan611
0
170
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
0
180
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
270
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
330
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
370
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Are puppies a ranking factor?
jonoalderson
1
3.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Docker and Python
trallard
47
4k
Building the Perfect Custom Keyboard
takai
2
820
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
30 Presentation Tips
portentint
PRO
1
360
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
New Earth Scene 8
popppiees
3
2.4k
Transcript
LangChain Agentを使って 自社ツールとChatGPTを連携 ChatGPT単体の限界を越える 2023/09/30 第27回勉強会
自己紹介 • 名前: 西岡 賢一郎 ◦ Twitter: @ken_nishi ◦ note:
西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ◦ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) • 経歴 ◦ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ◦ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ◦ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ◦ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
本日のお話 • 結論 ◦ 自社ツールとChatGPTを連携させるときは、まずLangChain AngentのZero-shot ReActか OpenAI Functionsを利用する。 ◦
OpenAI Functionsのほうが、ChatGPTから良い答えが返ってきやすい。 ◦ 自社ツールとChatGPT連携のコツはいかに「ツールの説明」を伝えるか。 • 目次 ◦ ChatGPTの概要 ◦ LangChain Agent ◦ デモ
ChatGPTの概要
ChatGPT概要 • ChatGPTはビジネスでも多く活用されてきている ◦ ベネッセホールディングス: 社内AIチャット「Benesse GPT」をグループ社員1.5万人に向け に提供開始 ◦ 立命館大学:
大学の英語授業に機械翻訳とChatGPTを組み合わせたサービスを試験導入 • ChatGPTから良い回答をもらうためにはプロンプトが必要 ◦ プロンプトエンジニアリングと呼ばれる領域 ◦ プロンプトに入れるべき項目やプロンプトを複数回使いこなして良い回答を手に入れるテク ニックなどが登場してきている • プロンプトエンジニアリング ◦ プロンプトで抑える項目 ◦ Few-Shot Prompting
プロンプトで抑えるべき項目 • あいまいな質問ではなく、具体的かつ明確な質問にする。 例: 「日本の歴史において重要な出来事は何ですか?」ではなく、「日本の戦国時 代における重要な出来事について教えてください。」 • 状況やコンテキストを明示する。 例: 「二酸化炭素が温室効果にどのように影響するか説明してください。」
• どのような形式の回答を望むかを指定する。 「リスト形式で、健康的な生活習慣について5つ挙げてください。」 • 範囲を限定する 例: 「第二次世界大戦中の日本の経済についての主な特徴は何でしたか?」 • どの時点の情報や、どの人物の視点からの回答を求めているか示す。 例: 「2010年の日本経済を子供でもわかるように教えてください。」
Few-Shot Prompting • モデルに少数の例 (ショット) を示すことで、特定のタスクをどのように実行 するかを理解させる手法 • Few-Shot Promptingの例
◦ Prompt 例1: 文章: 「このレストランの料理は最高です!」 感情: ポジティブ 例2: 文章: 「この映画は本当に時間の無駄だった。」 感情: ネガティブ 例3: 文章: 「素晴らしい休日になりました!」 感情: ポジティブ テスト: 文章: 「そのサービスは非常に遅く、不満です。」 ◦ 出力 ▪ 感情: ネガティブ
Promptを工夫しても直面する限界 • Promptのテクニックはどんどん出てきているが、すべてをChatGPTにやら せることには無理がある • 新しいデータや自社独自のデータの取得など、そもそもChatGPTだけではで きないこともある
ChatGPTに限らずLLMの課題 • LLMの課題 (参考: MRKL Systems) ◦ 最新の情報にアクセスできない 最新の為替や株価など動的に変化していく情報にChatGPTが対応するのは不可能 ◦
独自の情報源にアクセスできない 企業のDBにある顧客名簿などの情報にアクセスできない ◦ 推論が不得意 簡単な算術でも計算を間違えることがある ◦ ファインチューニングによる汎用性の劣化 特定のタスクを解くためのファインチューニングすることで汎用性が失われることがある • LangChain Agentを使って、苦手なことは別のツールでやってしまおう!
LangChain Agent
LangChain Agentとは • 言語モデルを利用するアプリケー ションのためのフレームワークで あるLangChainの機能の一つ • 次にどんなアクションを取るかをLLMに 決めてもらい実行する •
実際にやっていること ◦ 「各ツールができること」と「質 問」をレスポンスのフォーマットを 指定してLLMに投げる。 ◦ 指定したフォーマットで帰ってきた レスポンスをパースして、次のアク ションを決める。
LangChain Agentのイメージ LLMが次のステップで使う適切なツールとツールへのInputを考えてくれる
Agent Type • Agent Type ◦ Zero-shot ReAct: ツールの説明のみにもとづいて、どのツールを使用するべきかを決定す る。ReActフレームワークを使用する最も汎用的なAgent。
◦ Structured input ReAct: 複数の入力を受けるツールを使用するAgent。 ◦ OpenAI Functions: OpenAIのFunction Callingを使用するAgent。 ◦ Conversational: 会話用に設計されたAgent。 ◦ Self-ask with search: self-askを利用して検索をするAgent。 ◦ ReAct document store: このエージェントは、docstoreと対話するためにReActフレーム ワークを使用します。 • 今回のでもではZero-shot ReActとOpenAI Functionsを利用
OpenAI Function Calling • 2023年6月リリース • LangChain Agentが担っていた「次のステップを決定するやり取り」を ChatGPTができるようにファインチューニングされている •
メリット ◦ ツール (関数) の挙動をより正確に伝えやすくなった ◦ ChatGPTが返してきた答えを頑張って正規表現を使って必要がなくなった。
デモ • LangChain Agentを使ってChatGPTと自社ツールを連携 ◦ Zero-shot ReActとOpenAI Functions ◦ ChatGPTにツールの説明を渡して、課題を解くために最適なツールを選択してもらう
• https://github.com/knishioka/machine-learning-workshop/tree/main/l angchain