Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript

TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript

r-kagaya

May 10, 2024
Tweet

More Decks by r-kagaya

Other Decks in Programming

Transcript

  1. 6 ©2024 Loglass Inc. ログラス社のLLMへの取り組み 機能開発から業務改善まで、生成 AI/LLMで
 
 ①プロダクトビジョン実現のための技術検証 


    ②業務プロセスへの AIの組み込み
 ③制度や仕組みの整備とスキルや知見の共有 
 
 
 

  2. 8 ©2024 Loglass Inc. 今⽇の内容 Pythonに馴染みがない方も、TypeScriptでLLMアプリ開発に挑戦してみて欲しい! 
 • LLMアプリケーション/プロダクトにLLMを組み込むのにライブラリは必須ではない 


    ◦ しばらくはLLM APIをコールするだけで十分なケースも多いだろう 
 • 一方で、TypeScriptはライブラリもそれなりに揃っており、比較的開発しやすい 
 ◦ 体感だが、ライブラリ等の充実度は Pythonの次がTypeScript
 • 最も有名なライブラリであるLangChainのTS実装がLangChain.js 
 • 将来的にもTypeScriptはLLMアプリケーションを開発する環境として有望かもしれない 

  3. 10 ©2024 Loglass Inc. TypeScriptを取り巻くLLMアプリ開発の状況 Pythonに加えて、TypeScriptもサポートされているライブラリもあり、手を出しやすい (もちろんPythonと比べると数もドキュメントも事例も少ない ) LangChain.js 最も著名なFWである

    LangChainのJS/TS版 LlamaIndex.TS LangChainと同じく最初期から存在する 主にRAG用のFWのJS/TS版 ollama-js ローカルLLMの実行ツール。2023年の 調査ではOSSモデルの実行ツールとし ては3番目に多く使われている LangGraph.js マルチエージェントアプリケーションを構 築するためのライブラリ Vercel AI SDK React、Next.js、V等でAIを活用したアプ リケを構築するためのライブラリ PromptLayer プロンプト管理ツール。テンプレートで バージョン管理や、出力結果のトレーシ ング
  4. 11 ©2024 Loglass Inc. TypeScriptで開発して感じる利点(主観) シンプルにWebアプリケーションエンジニアにとっては圧倒的に馴染み深い 
 • Webアプリ開発においてはTypeScritp/JavaScriptのエコシステムの方が充実している 


    • PythonよりTypeScriptが書ける開発者を探す方が容易 
 • 単純にTypeScriptで書けるなら、PythonよりはTypeScriptで書きたい(個人的には)
 
 (自分がPythonを知らないだけ・覚えればいい問題ではあるかも) 
 
 

  5. 13 ©2024 Loglass Inc. LangChain.jsとは • LLMと連携するアプリ開発のためのライブラリ 
 • 最も著名なLLMアプリ開発ライブラリであるLangChainのTypeScript実装


    
 • 
 Model I/O RAG Memory LLM推論の実行。プ ロンプトテンプレート 等のユーティリティも 外部データソース/ド キュメントを元に LLMに回答させる 過去のやりとりに関 する情報を保存 (ベータ版) Agent モデル自体が次に どのようなアクション をとるかを判断、実 行 (注: Pythonと機能差分・欠けてる機能はあり)

  6. 15 ©2024 Loglass Inc. 地味に嬉しい‧便利なユーティリティ • Callbacks
 ◦ 開始・終了・エラーなどのイベント時に実行するコールバック関数を定義 


    • O utput Parsers
 ◦ LLMの出力を指定した形式(リストやJSON等)に変換・パースしてくれる
 • Masking
 ◦ メールアドレス、電話番号などをマスク 
 (機能は他にも色々)

  7. 18 ©2024 Loglass Inc. AIのプロダクトへの組み込みを専⾨分野とする「AIエンジニア」 出典:The Rise of the AI

    Engineer(https://www.latent.space/p/ai-engineer) 出典:The Rise of the AI Engineer(https://www.latent.space/p/ai-engineer) MLエンジニア・データサイエンティストとフルスタックエンジニアの間に位置する、 AIをプロダクトに組み込 むことを専門とするAIエンジニアの誕生を主張
 

  8. 19 ©2024 Loglass Inc. AIのプロダクトへの組み込みを専⾨分野とする「AIエンジニア」 • 従来のMLやデータエンジニアリングとは異なるバックグラウンドを持ち、 AIのプロダクトへの組み込 みを専門分野とする「AIエンジニア」が生まれつつある
 •

    データ/AI領域はPython中心のため、LangChain、LlamaIndexのような最初のAIライブラリ・ツー ルはPythonから生まれた
 • JS/TS開発者のボリュームを踏まえると、 JS/TSがAIエンジニアの主要なスキルセットの一つになる と主張
 
 -> 名称はともかく、TypeScriptでLLMアプリ開発を行うエコシステムは発展するかもしれない 
 
 
 出典:The Rise of the AI Engineer(https://www.latent.space/p/ai-engineer)
  9. 20 ©2024 Loglass Inc. まとめ Pythonに馴染みがない方も、TypeScriptでLLMアプリ開発に挑戦してみて欲しい! 
 • LLMアプリケーション/プロダクトにLLMを組み込むのにライブラリは必須ではない 


    ◦ しばらくはLLM APIをコールするだけで十分なケースも多いだろう 
 • 一方で、TypeScriptはライブラリもそれなりに揃っており、比較的開発しやすい 
 ◦ 体感だが、ライブラリ等の充実度は Pythonの次がTypeScript
 • 最も有名なライブラリであるLangChainのTS実装がLangChain.js 
 • 将来的にもTypeScriptはLLMアプリケーションを開発する環境として有望かもしれない 

  10. 22