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 是必备技能。
相关推荐
何中应1 小时前
请求头设置没有生效
java·后端
NPE~1 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
五月君_1 小时前
炸裂!Claude Opus 4.6 与 GPT-5.3 同日发布:前端人的“自动驾驶“时刻到了?
前端·gpt
Mr Xu_1 小时前
前端开发中CSS代码的优化与复用:从公共样式提取到CSS变量的最佳实践
前端·css
宋小黑2 小时前
JDK 6到25 全版本网盘合集 (Windows + Mac + Linux)
java·后端
鹏北海-RemHusband2 小时前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
LYFlied2 小时前
AI大时代下前端跨端解决方案的现状与演进路径
前端·人工智能
念何架构之路2 小时前
Go进阶之panic
开发语言·后端·golang
光影少年2 小时前
AI 前端 / 高级前端
前端·人工智能·状态模式
一位搞嵌入式的 genius2 小时前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式