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 是必备技能。
相关推荐
韩振方几秒前
为什么 curl -I 显示 200,页面打开还是报错?
后端
小稀土1231 分钟前
9 类行业怎么用私有化部署研发管理工具:涉密、制造、金融、科研院所一次盘全
后端
懒洋洋不想起床1 分钟前
DEX 与未来交易市场:为什么去中心化金融正在进入新阶段
后端
东风微鸣4 分钟前
Rook-Ceph 数据修复实战
后端
imDwAaY5 分钟前
WebSocket 和 SSE 有什么区别?从实时通信到 AI 流式输出
后端·websocket
三千星5 分钟前
Java开发者转型AI工程化Week 7:从散落知识点到可上线的应用
后端
nyaomaru5 分钟前
将一个真实的 TypeScript OSS 库从 tsup 迁移到 tsdown
前端·typescript
胡写代码10 分钟前
雪花 ID 传到前端就变了个数?我用全局 Long 转 String 一次收口
前端·后端
SimonKing12 分钟前
一只离线鼠鼠,干翻了一堆在线格式转换网站
java·后端·程序员
武子康14 分钟前
两台 A6000,LingBot 应该先验哪条路径?
人工智能·后端·agent