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についてのサーベイ
Search
Melonps
June 20, 2023
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LangChainについてのサーベイ
2023年5月頃に流行ったLangChainについて自ら調べ、研究室内で発表しました。
Melonps
June 20, 2023
More Decks by Melonps
See All by Melonps
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
630
Zodのデータ変換が便利すぎた。 しかし使いすぎで苦しくなっていった話
melonps
0
70
さくらのAI Engineから始める クラウドネイティブ意識
melonps
0
250
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
640
OpenTelemetryで“見えるIoT”を目指したら クラウドネイティブの奥深さに直面した
melonps
0
58
CloudSeed
melonps
0
180
Other Decks in Technology
See All in Technology
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
800
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
950
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
Claude Codeをどのように キャッチアップしているか
oikon48
6
4.1k
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
120
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
800
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
250
手塩にかけりゃいいってもんじゃない
ming_ayami
0
380
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
160
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.2k
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.3k
Featured
See All Featured
BBQ
matthewcrist
89
10k
It's Worth the Effort
3n
188
29k
New Earth Scene 8
popppiees
3
2.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
570
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Six Lessons from altMBA
skipperchong
29
4.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Transcript
Lang Chainの概要と使い方 第3グループ Kakehi(Melonps) 技術サーベイ 1
発表の概要 •GPTなどLLM(大規模言語モデル )を研究で使いたい人向け •こんなこともできるらしいぞ!という紹介 2 LangChainとは •LLMの機能拡張を実装するためのライブラリ •異なる種類のLLMを同じインターフェースで利用可 •結局はプロンプトに帰着
こんなこと苦手だよね!GPT •正確な情報の提供 •複雑な計算を含む質問 •多数の質問の一括処理 •アートや視覚に関する質問 3 GPTが作成した ミッキーのSVG →GPTの機能を拡張する必要あり!
どのような場合に使うのか? •最新の検索結果の内容も踏まえて返答をさせたい ◦ 検索結果に「~なのだ」を付けて返答させたい[1] •長文を踏まえて返答させたい ◦ pdfなど特殊なデータ形式から[2] ◦ 長文の要約[3] •複雑な計算問題を回答させたい[4]
[1]LangChain の Googleカスタム検索 連携を試す|npaka, https://note.com/npaka/n/nd9a4a26a8932 [2]話題の ChatGPT + LangChain で、膨大な PDF ドキュメントの内容を爆速で把握する - Qiita, https://qiita.com/hiroki_okuhata_int/items/7102bab7d96eb2574e7d [3]長文から論点を抽出して、その論点を軸に文章の要約を試みる| mah\_lab / 西見 公宏, https://note.com/mahlab/n/ndce1a18681e8 [4]LangChainの使い方 紹介編 - Qiita, https://qiita.com/kzkymn/items/a72796c89ffc696034c8#6-wolfram-alpha%E3%81%A8%E9%80%A3%E6%90%BA%E3%81%99%E3%82%8B
具体的な機能は6つ 01. Models :言語モデルやチャットモデルを組み合わせ 02. Prompt :プロンプトの管理、シリアル化 03. Indexes :PDFなどの外部データを使用
04. Chains :複数のプロンプトを入力 05. Agents :どのような手段でどういう順番で解決するか 06. Memory :ChainsやAgentsの内部状態を保持 イメージが掴みにくい方:[5] LangChainの概要と使い方|サクッと始めるプロンプトエンジニアリング【LangChain / ChatGPT】, https://zenn.dev/umi_mori/books/prompt-engineer/viewer/langchain_overview もっと詳しく見たい方:[6] https://langchain.com/features.html
目次 01. 概要 02. 実装例を見てみよう 03. 質問 6
実装例を見てみよう! 01. Models :言語モデルやチャットモデルを組み合わせ 02. Prompt :プロンプトの管理、シリアル化 03. Indexes :PDFなどの外部データを使用
04. Chains :複数のプロンプトを入力 05. Agents :どの手段でどういう順番で解決するかを決定 06. Memory :ChainsやAgentsの内部状態を保持 以降では参考文献[1]の内容を借りて説明
仕様とやりたいこと •仕様 ◦ Google検索の結果を使いたい ◦ 一人称は"ぼく"、語尾には"なのだ"をつけたい •やりたいこと ◦ AgentsにGoogle検索のアクセスを許可 ◦
→それをカスタマイズして語尾などを使用 8
必要なもの •Tools ◦ API:SerpAPI(入力はクエリ) ◦ LLMs:OpenAIのGPT-3系モデル •Agents(6種類) ◦ ツールの説明のみに基づいて使用ツールを決定 →zero-shot-react-description
• プロンプトテンプレート ◦ 「次のToolsにアクセスできるから使って◦◦に答えてね。」 ◦ 「語尾は◦◦を使用してね。それじゃあ始めて。」 • Chains ◦ 複数のプロンプトテンプレートを入力→LLMchain 9
ぼっち・ざ・ろっくの作者の 名前は? 図解 Tools テンプレ プロンプト Tools テンプレ × 2
Agents 質問 はまじあきなのだ。 回答 Chains
コードを見る(Python) 11 from langchain.agents import ZeroShotAgent, Tool, AgentExecutor, load_tools from
langchain import OpenAI, SerpAPIWrapper, LLMChain # Toolsの準備 tools = load_tools([ "google-search" ], llm=OpenAI()) # デフォルトでGPT-3のモデルを選択 # プロンプトテンプレートの準備 prefix = """次の質問にできる限り答えてください。次のツールにアクセスできます :""" suffix = """始めましょう! 最終的な答えを出すときは、一人称は "ぼく"、語尾には"なのだ"を使用してください Question: {input} {agent_scratchpad}""" prompt = ZeroShotAgent.create_prompt( tools, # Agentsがアクセスできる Toolのリスト prefix=prefix, # Tools一覧の前に付けるテンプレート suffix=suffix, # Tools一覧の後に付けるテンプレート input_variables=["input", "agent_scratchpad"] # 最終プロンプトが期待する入力変数のリスト ) # Agentsの準備 llm_chain = LLMChain(llm=OpenAI(temperature=0), prompt=prompt) # 温度が低いほど出現率の高い単語を選択 agent = ZeroShotAgent(llm_chain=llm_chain, tools=tools) agent_executor = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True)
説明の正確さの予測 12 agent_executor.run( "ぼっち・ざ・ろっくの作者の名前は? ") > Entering new AgentExecutor chain...
Thought: この質問に答えるために、 Google Search を使う必要がある Action: Google Search Action Input: "ぼっち・ざ・ろっくの作者 " Observation: まんがタイムきらら MAXで『ぼっち・ざ・ろっく!』載せてもらってます ⑤巻発売中。アニメ 2022年10~12月放 送してました。バンド大好き!通知切ってるのでリプライ ... 『ぼっち・ざ・ろっく!』( BOCCHI THE ROCK! )は、はまじ あきによる日本の 4コマ漫画。『まんがタイムきらら MAX』(芳文社)にて、 2018年2月号から4月号までゲスト連載 ... Nov 29, 2022 ... その筆頭といえるのが、アニメが今期最大級の注目作となっている『ぼっち・ざ・ろっく』の作者、はまじあき であろう。もともとはまじは「ちゃお」で ... Feb 27,2019 ... Thought: はまじあきが『ぼっち・ざ・ろっく!』の作者であることがわかった Final Answer: はまじあきなのだ。 > Finished AgentExecutor chain. 'はまじあきなのだ。 会話の実行 実行結果
Agentがやっていること 01. llm で推論 02. 推論した結果からActionとAction Inputとして利用すべき Toolsと内容を取り出し 03. Toolsの実行
04. Toolsの結果をObservationに入力 05. OvservationからllmがThoughtを出力 06. Final Answersの出力 [7]LangChainのAgent「zero-shot-react-description」はLLMとどう連携しているのか?調べた - まったり勉強ノート , https://www.mattari-benkyo-note.com/2023/04/05/langchain_zero-shot-react-description/ [8]LangChainのAgentがどのようにToolを選択しているかを確認したメモ - INOUE-KOBO.COM, https://www.inoue-kobo.com/ai_ml/langchain-agent/
Lang Chainの概要と使い方 第3グループ kake 技術サーベイ 14
目次 01. 概要 02. 実装例を見てみよう 03. 質問 15
agent_scratchpadとは? •エージェントが仲介作業を置くことができる変数 •LLMChainのプロンプトでは必ず必要 •中間生成物というイメージ(イメージ) 16
ReActとは •論文[9]で提案されている手法 ◦ 1.次に何をすべきか?を考える ◦ 2.考えに基づいてアクションを実行し、アクションの結果を得る •入力のテキストの前にいろいろ追加で文章を付け加えて LLMに投げる 17 [9]ReAct:
Synergizing Reasoning and Acting in Language Models, Shunyu .et al, https://arxiv.org/abs/2210.03629