Slide 1

Slide 1 text

LangChain.js使ってみた 🦜🔗

Slide 2

Slide 2 text

改め

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

LangChain 🦜🔗?

Slide 5

Slide 5 text

https://www.langchain.com/

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

󰬬 Chat

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

LangChain.jsの中身を少し

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

LangChain.jsの中身おわり

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

LangChain.js使おう! 🦜🔗