DEV Community

Alex Spinov
Alex Spinov

Posted on

LangChain.js Has a Free API That Chains LLM Calls Into Complex AI Workflows

LangChain.js lets you build multi-step AI workflows: chain prompts, connect to databases, search the web, use tools — all orchestrated in TypeScript.

Quick Setup

npm install langchain @langchain/openai
Enter fullscreen mode Exit fullscreen mode

Basic Chain

import { ChatOpenAI } from "@langchain/openai"
import { ChatPromptTemplate } from "@langchain/core/prompts"
import { StringOutputParser } from "@langchain/core/output_parsers"

const model = new ChatOpenAI({ model: "gpt-4o" })
const prompt = ChatPromptTemplate.fromMessages([
  ["system", "You translate {input_language} to {output_language}"],
  ["human", "{input}"]
])

const chain = prompt.pipe(model).pipe(new StringOutputParser())
const result = await chain.invoke({
  input_language: "English",
  output_language: "French",
  input: "I love programming"
})
Enter fullscreen mode Exit fullscreen mode

RAG (Retrieval-Augmented Generation)

import { ChatOpenAI, OpenAIEmbeddings } from "@langchain/openai"
import { MemoryVectorStore } from "langchain/vectorstores/memory"
import { RecursiveCharacterTextSplitter } from "@langchain/textsplitters"

const splitter = new RecursiveCharacterTextSplitter({ chunkSize: 1000, chunkOverlap: 200 })
const docs = await splitter.createDocuments([yourTextContent])
const vectorStore = await MemoryVectorStore.fromDocuments(docs, new OpenAIEmbeddings())
const retriever = vectorStore.asRetriever()
const relevantDocs = await retriever.invoke("How does authentication work?")
Enter fullscreen mode Exit fullscreen mode

Agents (AI That Uses Tools)

import { ChatOpenAI } from "@langchain/openai"
import { AgentExecutor, createOpenAIToolsAgent } from "langchain/agents"
import { TavilySearchResults } from "@langchain/community/tools/tavily_search"

const tools = [new TavilySearchResults()]
const model = new ChatOpenAI({ model: "gpt-4o" })
const agent = await createOpenAIToolsAgent({ llm: model, tools, prompt })
const executor = new AgentExecutor({ agent, tools })
const result = await executor.invoke({ input: "What's the latest news about AI?" })
Enter fullscreen mode Exit fullscreen mode

LangChain vs Vercel AI SDK

Feature LangChain.js Vercel AI SDK
Focus Complex chains Simple AI calls
RAG Built-in DIY
Agents Full support Basic tools
Best for Complex workflows UI-focused AI

The Bottom Line

LangChain.js is overkill for a chat widget. But for RAG pipelines, autonomous agents, and complex multi-step AI workflows — it's the most complete framework in the JS ecosystem.


Need to automate data collection or build custom scrapers? Check out my Apify actors for ready-made tools, or email spinov001@gmail.com for custom solutions.

Top comments (0)