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
勉強会3_LLMを活用する技術について
Search
milky04
May 19, 2024
Programming
0
50
勉強会3_LLMを活用する技術について
社内勉強会資料です(2023/11/15)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
38
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.3k
勉強会1_SlackのAIチャットボットを作ってみた
milky04
0
56
Other Decks in Programming
See All in Programming
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
200
2025.01.17_Sansan × DMM.swift
riofujimon
2
670
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
300
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
600
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
140
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
18
3.3k
定理証明プラットフォーム lapisla.net
abap34
1
670
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
260
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
790
Azure AI Foundryのご紹介
qt_luigi
1
260
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
230
AWS Lambda functions with C# 用の Dev Container Template を作ってみた件
mappie_kochi
0
220
Featured
See All Featured
Docker and Python
trallard
43
3.2k
Music & Morning Musume
bryan
46
6.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
39
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Building Adaptive Systems
keathley
39
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Bash Introduction
62gerente
610
210k
The Cult of Friendly URLs
andyhume
78
6.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Speed Design
sergeychernyshev
25
760
Transcript
LLMを活用する技術について
はじめに • LLM(Large Language Model(大規模言語モデル))が話題ですが、 LLMを使 用したシステム・アプリケーション開発はどのように行うのか? →LLMを活用する技術のうち、「LangChain」と「Open Interpreter」について、 簡単に解説や紹介をしていきます。
• 実際にコードも見て、 (時間の許す限り)動かしていきます。 ※最新の情報が反映できていない部分があるかもしれません。
LLMとは • Large Language Model(大規模言語モデル)の略 • 大量のテキストデータを使ってトレーニングされた自然言語処理モデル • ファインチューニング等により様々な自然言語処理タスクに適応可能 •
例:テキスト生成/分類、感情分析、情報抽出、文章要約、質問応答 →ChatGPTはLLMの応用例の1つ。LLMを対話特化にファインチューニング したもの。
LangChain • LLMと連携するアプリの開発を支援するライブラリ • 言語モデルアプリケーションの構築に使用可能な、多くのモジュー ルを提供している • モジュールを個別に使用したり、組み合わせたり繋げて(Chain)複雑 なアプリケーションの作成が可能
LangChainの主なモジュール • Language Model : 言語モデルによる推論の実行 └LLM : テキスト生成モデル └ChatModel
: チャットモデル • Prompt Template : ユーザー入力からのプロンプトの生成 • Chain : 複数のLLMやプロンプトの入出力を繋げる • Agent : ユーザーの要求に応じてどの機能をどういう順番で実行するかを決定 • Memory : 過去のやりとりに関する情報を保持 • Retrieval : 検索拡張生成 (RAG) • Callback : ロギング、モニタリング、ストリーミングなどで利用
Open Interpreter • LLMを活用して開発されたオープンソースのツール • 自然言語による対話を通じてローカル環境でコードを実行し、結果を返す • ローカル環境で動作するため、OSを直接操作させることが可能であり、ファイル容 量やネット接続の制約がない •
対応言語:Python/R/JavaScript/shell/AppScript/HTML • 例えば以下のような様々な事が可能 └「YouTubeから動画をDLしてアニメーションを作成して」「動画に字幕をつけて」 └「ローカルにあるファイルを開いて中身を書き換えて」など →AIアシスタントの開発等に有用
Open Interpreterの仕組み 1. ユーザー入力受付&LLM初期化 2. ユーザー入力に関連したcode snipetsを取得(自然言語で問い合わせると Pythonコードのチュートリアルを返すAPIにリクエストして取得) 3. LLMへの指示とcode
snipets、ユーザー入力、ユーザーのOS等の情報をまとめ てpromptを作成し、LLMに投げる 4. エラー発生等うまくいかない場合は目標達成するまで再実行 ↑上記流れを繰り返す • 仕組みの詳細については以下参考 └Open Interpreterのログ解析して、何が行われているのか確認してみた └Open Interpreterの実装を読み解く
実際にコードを見ていきます • GoogleColab • https://colab.research.google.com/drive/1MpqkWFNs0UFH47AJgpGaVc 7umirZCDRd?usp=sharing
おわりに • こうした技術を活用して、LLMを使用したシステム・アプリケーション開発を することで、アイデアや工夫次第で様々な可能性が広がると思います。 • 技術の発展スピードが凄く、追うのは中々大変ですが今後も注目であり、こ の先どう進歩していくか色々な意味で楽しみですね(先日もOpenAI DevDay で発表がありましたね)。 •
今回紹介した他にもLLM関連の技術は様々なものがあるので、興味のあ る方は調べてみてください。