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
AutoGenで作るLLM Agen
Search
peisuke
November 30, 2023
Technology
1
1.1k
AutoGenで作るLLM Agen
Azure OpenAI Service 生成AI実践知発表資料
peisuke
November 30, 2023
Tweet
Share
More Decks by peisuke
See All by peisuke
LangGraphで始めるマルチエージェントシステム
peisuke
12
3.5k
Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections
peisuke
9
1.3k
Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields
peisuke
0
7.4k
LangChain Toolsの運用と改善
peisuke
4
2.4k
GNeRF: GAN-based Neural Radiance Field without Posed Camera
peisuke
1
670
TTS Skins: Speaker Conversion via ASR
peisuke
0
340
A Quantum Computational Approach to Correspondence Problems on Point Sets
peisuke
0
650
F0-Consistent Many-to-many Non-parallel Voice Conversion via Conditional Autoencoder
peisuke
0
160
YOLACT real-time instance segmentation
peisuke
1
220
Other Decks in Technology
See All in Technology
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
AWSでRAGを作る法方
sonoda_mj
1
140
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Web Components: a chance to create the future
zenorocha
307
41k
Navigating Team Friction
lara
181
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
How to name files
jennybc
67
96k
Clear Off the Table
cherdarchuk
89
320k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Transcript
Keisuke Fujimoto (Labs) AutoGenで作るLLM Agent
自己紹介 2 所属:ABEJA Labs テーマ:ビジョン、音声、NLP、ロボット SNS X (Twitter):@peisuke Github:https://github.com/peisuke
note:https://note.com/peisuke
• LLMとLLM Agent • AutoGenについて • AutoGenでできること 本日のテーマ
3
Agentとは? 4 • 強化学習にも出てくる、「エー ジェント」 • 結果を出力するだけのMLと異 なり、環境内で行動したり操作を することが特徴
• 囲碁や将棋では・・・ ◦ (1) 盤面を観測、(2) 次の手を 考え、(3) 打つ
• LLMに対し、(1) 目的を達成するプロセス案を提示させ、(2) 各プロセスの処理の InputをLLMによって生成・処理を行い、(3) これを逐次的に実行 ◦ LLMをChatBotだけではなく、プロセス案生成やクエリ生成に利用 LLM Agentについて
5 今流行っているお 笑い芸人の動画 を見たい STEP1: 最近の流行りの芸 人を検索 STEP2: 代表的な作品名 をピックアップ STEP3: 動画ユーザーに 提示 検索モジュールの出力した結果: [XXXX、XXXX、XXXX] LLMで生成した検索クエリ: [2023年 お笑い芸人 流行] クエリを利用し、外 部の検索APIを利 用 LLMで手順を生成し、プ ログラムで読み込む
• ユーザーがやりたいことを言うとLLMがそれを全部やってくれちゃう仕組み 要するに・・・ 6 社内データを分 析したい プログラムを作っ て欲しい 動画を作って
XXXについての 情報を集めて
ChatGPTでも使われているAgentの仕組み 7 画像解析が必要なら・・・ コードの実行が必要なら・・・ ファイルの読み込みが 必要なら GPT-4V 画像を描きたい場合は 質問を投げる どの機能を使う
かを考える
マルチエージェントの仕組み 8 質問を投げる 調査します ソースコードを 作ります 結果を整理しま す
世の中の色々なAgent 9 • プログラムの自動開発の仕組み • それぞれのキャラクターが、問題を解くAgentとして行 動 • 全体を統括するCTO、開発をするエンジニア、テストを するテスターなどのAgentが存在
• 利用者が指示したゴールに基づき、要件定義〜開 発〜テスト〜納品を行い、制作物を出力
• AutoGPT 世の中の色々なAgent 10
• Voyager:マインクラフトにおいて、次にどんなアクションをするかをLLMを用いて決 定、アクションをゲーム側に伝えて動かす 世の中の色々なAgent 11
• LangChain ◦ 様々な種類のAgentが利用可能 • Llama Index ◦ Data
AgentにAgentの仕組みが実装 • AutoGen ◦ MicrosoftのAgentに特化したライブラリ ◦ 柔軟な仕組みを構築できる Agentを作るためのライブラリ 12
• AutoGen: Microsoftが提供しているOSS ◦ AutoGen: Enabling Next-Gen LLM Applications via
Multi-Agent Conversation, preprint: 2308.08155, arxiv AutoGenの紹介 13
AutoGenの紹介 14
AutoGenを使ってできること 15
AutoGenのプログラム例 16
AutoGenのプログラム例 17
AutoGenのプログラム例 18
AutoGenのプログラム例 19
• Agentの構成例 AutoGenの簡単な原理 20
• 各Agentが通信する流れ ◦ generate_replyで各Agentがレスポンスを他のエージェントに出力 AutoGenの簡単な原理 21
• Azure OpenAI APIとOpenAI APIでの切り替えが容易 AutoGenをAzureで動かしてみよう! 22
AutoGenの色々なパターン 23
• プログラムを実行 ◦ FizzBuzzのコードを書かせて実行させてみる 色々できる、AutoGen 24
• RAG + AutoGen ◦ 検索して回答が得られなかったら、自動で再検索 ◦ 回答結果が、英語になってしまった場合も日本語で出力 色々できる、AutoGen 25
Retrieve 判定 再Retrieve 判定 終了 再Retrieve 終了 Retrieve 回答生成 Retriever Agent Agent 回答 質問 仮にここが英語 でも・・・ ここで日本語で 出力される Function Calling
• プログラムのマニュアルに基づいてコードを実行 ◦ Optunaのマニュアルを読ませて、パラメータ最適化のコードを実行させた 例 色々できる、AutoGen 26
• GroupChatという機能を用いて沢山の種類のエージェントを連携 色々できる、AutoGen 27 様々な役割を持つエージェントを連携 (例) • プランナー • コーダー
• 分析者 • 調査者
標準では文字を表示するだけで、サービスに組み込めない AutoGenをサービスに組み込むために 28 文字を表示するメソッドを継承し、履歴を残すカスタムクラスを作成
状態を持っているため、Azure Functions等のサービスに利用できない AutoGenをサービスに組み込むために 29 内部状態のロード/セーブの機構を追加で開発
LLM単独の汎用性ではできないことも多い中、Agentの仕組みで将来的には色ん な作業が自動化されていく まずは、AutoGenを使うことにより、非常に面白いことができそう! まとめ 30