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

LangChainやるならPythonよりTypeScriptの方がいんじゃね?

Optimisuke
November 22, 2023

 LangChainやるならPythonよりTypeScriptの方がいんじゃね?

LangChain.jsの紹介です。

Optimisuke

November 22, 2023
Tweet

More Decks by Optimisuke

Other Decks in Technology

Transcript

  1. LangChain.js使ってみた
    🦜🔗

    View full-size slide

  2. LangChainやるならPythonより
    TypeScriptの方がいんじゃね?
    🦜🔗
    >>
    ※個人の感想です。効果には個人差があります。

    View full-size slide

  3. LangChain 🦜🔗?

    View full-size slide

  4. https://www.langchain.com/

    View full-size slide

  5. LangChain 🦜🔗?
    https://gihyo.jp/book/2023/978-4-297-13839-4

    View full-size slide

  6. LangChain.js 🦜🔗?
    https://github.com/langchain-ai/langchainjs
    https://js.langchain.com/docs/get_started/introduction

    View full-size slide

  7. LangChain.js 🦜🔗?
    https://github.com/langchain-ai/langchainjs
    https://github.com/langchain-ai/langchain

    View full-size slide

  8. 仮説 🦜🔗
    - 使うのってData ScientistsじゃなくてSoftware Engineersじゃね?
    - なら、PythonよりTypeScriptの方がよくね?

    View full-size slide

  9. 🦜🔗 LangChain + Next.js Starter Template!
    https://github.com/langchain-ai/langchain-nextjs-template
    https://langchain-nextjs-template.vercel.app/

    View full-size slide

  10. 🦜🔗 LangChain + Next.js Starter Template!
    󰬬 Chat
    ChatGPT的な動き
    🧱 Structured Output
    jsonで返してくれるように設定(この後、各種APIと連携するため)
    🦜 Agents
    LLMがAPIを呼んでくれる!?
    🐶 Retrieval
    LLMがデータベースの検索もしてくれる!?
    🤖 Retrieval Agents
    LLMがデータベースを検索しつつAPIも呼んでくれる!?

    View full-size slide

  11. 🦜🔗 LangChain + Next.js Starter Template!
    󰬬 Chat
    ChatGPT的な動き
    🐶 Retrieval
    LLMがデータベースの検索もしてくれる!?

    View full-size slide

  12. 🐶 Retrieval
    プロンプトに検索結果を入れることで、
    LLMが学習していない情報を加味して回答を生成できる

    View full-size slide

  13. 🐶 Retrieval
    プロンプトに検索結果を入れることで、
    LLMが学習していない情報を加味して回答を生成できる

    View full-size slide

  14. retrieval
    Chain
    answer
    Chain
    conversational
    RetrievalQA
    Chain
    chat_history
    question
    standalone
    Question
    Chain
    🐶 Retrieval
    会話履歴から
    質問生成
    検索 回答生成 アウトプット

    View full-size slide

  15. Vercel AI SDK
    https://sdk.vercel.ai/docs

    View full-size slide

  16. フロントエンド バックエンド

    View full-size slide

  17. LangChain.jsの中身を少し

    View full-size slide

  18. Model
    いい感じに抽象化されていて、モデルを変更しやすい

    View full-size slide

  19. 参考:Ollama🦙
    https://ollama.ai/

    View full-size slide

  20. Runnable
    https://js.langchain.com/docs/expression_language/interface
    あれもこれもRunnableもしくはRunnableLike

    View full-size slide

  21. LangChain.jsの中身おわり

    View full-size slide

  22. LangChainやるならPythonよりTypeScriptの方がよくね?
    WebアプリするならTypeScriptでよくね?
    Data Scientistsじゃなくてよくね→TypeScriptでよくね?
    Pythonで型ヒント書くなら、TypeScriptでよくね?
    (ただ、Pythonでサクッと書いてJupyter Notebookで試行錯誤のログを残すのは良いと思う)
    ※個人の感想です。効果には個人差があります。

    View full-size slide

  23. LangChain.js使おう!
    🦜🔗

    View full-size slide