LangChain 快速构建你的第一个 LLM 应用

大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步!
开发领域 :前端开发 | AI 应用 | Web3D | 元宇宙
技术栈 :JavaScript、React、ThreeJs、WebGL、Go
经验经验 :6 年+ 前端开发经验,专注于图形渲染和 AI 技术
开源项目智简未来晓智科技数擎科技

1. LangChain 是什么?

LangChain 是一个开源框架,专为 大语言模型(LLM) 应用程序构建而设计,它简化了与 LLM 的集成流程,提供了强大的链式调用机制、工具集成能力、记忆与上下文管理等。

一句话总结:

LangChain = LLM 的应用层框架,让你更快、更模块化地搭建 AI 应用。

2. 安装依赖

bash 复制代码
pip install langchain openai

还需要配置 OpenAI API Key:

bash 复制代码
export OPENAI_API_KEY=sk-xxxxx

或写在 .env 文件中。

3. 构建第一个 LLM 应用

python 复制代码
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage

llm = ChatOpenAI(temperature=0.7)

response = llm([
    HumanMessage(content="你好,介绍一下LangChain。")
])

print(response.content)

输出示例:

bash 复制代码
LangChain 是一个用于构建语言模型驱动应用程序的框架......

4. 、LangChain 的核心架构

LangChain 主要由以下五个模块组成:

模块 说明
LLMs / ChatModels 接入语言模型(如 OpenAI、Anthropic)
Prompts 提示词模板化与输入输出结构化
Chains 将多个步骤按逻辑组合起来(类似工作流)
Agents 拥有自主决策能力的执行体(可调用工具)
Memory 对话记忆系统,可用于多轮上下文保持

这些模块高度解耦,可按需组合,构建你的 LLM 应用。

5 、LangChain Chain 模型详解

Chain 是 LangChain 最核心的能力,它定义了"从用户输入到最终输出"的处理逻辑。

示例:Prompt + LLM = Chain

python 复制代码
from langchain.prompts import PromptTemplate
from langchain.chat_models import ChatOpenAI
from langchain.chains import LLMChain

prompt = PromptTemplate(
    input_variables=["product"],
    template="为一个{product}写一个创意广告文案。"
)

llm = ChatOpenAI(temperature=0.7)
chain = LLMChain(llm=llm, prompt=prompt)

result = chain.run("AI 眼镜")
print(result)

输出示例:

bash 复制代码
戴上我们的 AI 眼镜,你不仅能看清世界,还能预见未来!

6.、Memory:对话记忆机制

  • LangChain 的 Memory 模块支持不同的上下文保存方式,如:
  • ConversationBufferMemory:原始对话串
  • ConversationSummaryMemory:对话摘要记忆
  • ConversationBufferWindowMemory:窗口型上下文

示例:添加对话记忆

python 复制代码
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

memory = ConversationBufferMemory()
llm = ChatOpenAI()

conversation = ConversationChain(llm=llm, memory=memory)
conversation.predict(input="你好,我叫tom。")
conversation.predict(input="我今年18岁了。")
conversation.predict(input="我住在上海,你还记得我是谁吗?")

模型会自动带入上下文回答:"你是 tom,18 岁,住在上海。"

7、RAG:检索增强生成(Retrieval-Augmented Generation)

  • RAG 是 LangChain 的杀手级特性,允许 LLM 从外部知识库检索内容,并结合生成回答,突破 GPT 无法访问私有数据的问题。

LangChain + FAISS + 文档问答

python 复制代码
from langchain.vectorstores import FAISS
from langchain.document_loaders import TextLoader
from langchain.embeddings import OpenAIEmbeddings
from langchain.chains import RetrievalQA

# 1. 加载文档并向量化
loader = TextLoader("mydoc.txt")
docs = loader.load()

vectorstore = FAISS.from_documents(docs, OpenAIEmbeddings())
retriever = vectorstore.as_retriever()

# 2. 构建 QA Chain
qa_chain = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(), retriever=retriever
)

qa_chain.run("文档中提到了 LangChain 是做什么的?")

你可以替换向量库为 Pinecone、Weaviate、Chroma 等,支持亿级数据检索

8. Agents:智能体的工作方式

  • LangChain Agent 是"具备思考 + 工具调用能力"的智能体。你只需告诉它目标,它会自动选择工具(搜索、计算器、数据库等)执行任务。

示例:使用 ReAct Agent

python 复制代码
from langchain.agents import load_tools, initialize_agent
from langchain.agents import AgentType
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI()
tools = load_tools(["serpapi", "llm-math"], llm=llm)

agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

agent.run("北京明天的天气是多少摄氏度,加上今天的日期总和是多少?")

它将自动调用搜索工具查询天气,再调用计算工具完成计算。

9. 总结

  • LangChain 的出现标志着从"调用 LLM 接口"进入"构建 LLM 应用框架"的新阶段。
  • 它就像 TensorFlow 之于 AI,Spring 之于 Java,提供了 模块化、组合式、可拓展的 AI 应用开发能力。
  • 如果你有意向进入 AI 工程、AI 产品开发领域,LangChain 是必备技能。
相关推荐
JohnYan7 分钟前
Bun技术评估 - 22 Stream
javascript·后端·bun
Mr_chiu7 分钟前
AI加持的交互革新:手把手教你用Vue3打造智能模板输入框
前端
精神状态良好9 分钟前
告别聊天式编程:引入 OpenSpec,构建结构化的 AI 开发工作流
前端
WangHappy12 分钟前
出海不愁!用Vue3 + Node.js + Stripe实现全球支付
前端·node.js
林希_Rachel_傻希希16 分钟前
手写Promise最终版本
前端·javascript·面试
visnix18 分钟前
AI大模型-LLM原理剖析到训练微调实战(第二部分:大模型核心原理与Transformer架构)
前端·llm
okseekw19 分钟前
Maven从入门到实战:核心概念+配置详解+避坑指南
java·后端
老妪力虽衰20 分钟前
零基础的小白也能通过AI搭建自己的网页应用
前端
该用户已不存在20 分钟前
Node.js后端开发必不可少的7个核心库
javascript·后端·node.js
踏浪无痕21 分钟前
计算机算钱为什么会算错?怎么解决?
后端·算法·面试