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
47
勉強会3_LLMを活用する技術について
社内勉強会資料です(2023/11/15)
milky04
May 19, 2024
Tweet
Share
More Decks by milky04
See All by milky04
勉強会2_機械学習のモデル学習と開発について
milky04
0
34
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
2.2k
勉強会1_SlackのAIチャットボットを作ってみた
milky04
0
53
Other Decks in Programming
See All in Programming
Оптимизируем производительность блока Казначейство
lamodatech
0
880
テストコード書いてみませんか?
onopon
2
290
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
fuyan777
1
1.2k
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
500
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
790
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
230
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
390
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
340
ドメインイベント増えすぎ問題
h0r15h0
2
540
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
140
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
210
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
320
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Visualization
eitanlees
146
15k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Why Our Code Smells
bkeepers
PRO
335
57k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Mobile First: as difficult as doing things right
swwweet
222
9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GitHub's CSS Performance
jonrohan
1030
460k
GraphQLとの向き合い方2022年版
quramy
44
13k
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関連の技術は様々なものがあるので、興味のあ る方は調べてみてください。