
随着大语言模型(LLM)的迅猛发展,构建“上下文感知”的智能应用成为AI开发者的核心需求。LangChain,作为连接大模型与现实世界的数据、工具和流程的桥梁,已成为打造复杂AI系统的首选框架。本文将手把手教你如何在2025年6月使用最新版LangChain,构建一个支持上下文记忆、多轮对话、知识检索的智能问答应用,并附完整可运行Python代码。
一、LangChain 能做什么?
LangChain 是一个用于构建语言模型驱动应用的开源框架,尤其适合以下场景:
- 记住用户上下文的聊天机器人
- 基于PDF、数据库、网页内容进行智能问答
- 自动化工具组合(如搜索、调用函数等)
- 和向量数据库(如FAISS、Chroma)集成的知识应用
二、项目目标与实现思路
我们将构建一个具备以下能力的AI应用:
- 使用 GPT-4 作为语言模型
- 支持多轮对话上下文记忆
- 加入自定义知识库(如文本或文档内容)
- 用户每次提问,AI参考历史内容并回答问题
三、环境准备
pip install langchain openai chromadb tiktoken
你还需要一个 OpenAI API Key(在 https://platform.openai.com 申请)。
四、完整代码示例(上下文感知对话)
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain.schema import HumanMessage, AIMessage
import os
# 设置 OpenAI API Key
os.environ["OPENAI_API_KEY"] = "你的API密钥"
# 初始化模型
llm = ChatOpenAI(model="gpt-4", temperature=0.5)
# 初始化上下文记忆(可替换为更高级的内存模块)
memory = ConversationBufferMemory(return_messages=True)
# 构建对话链
conversation = ConversationChain(
llm=llm,
memory=memory,
verbose=True
)
# 模拟聊天交互
if __name__ == "__main__":
print("欢迎使用LangChain对话AI,输入 'exit' 退出。")
while True:
user_input = input("你:")
if user_input.lower() in ['exit', '退出']:
break
response = conversation.predict(input=user_input)
print("AI:", response)
五、让AI具备“知识记忆”:集成知识库(RAG)
你可以扩展该应用,让它在回答问题时引用公司资料、PDF、网页等内容。示例:
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.document_loaders import TextLoader
from langchain.chains import RetrievalQA
# 加载本地知识文档
loader = TextLoader("faq.txt") # 假设存放常见问题
docs = loader.load()
# 文档向量化
embeddings = OpenAIEmbeddings()
db = Chroma.from_documents(docs, embedding=embeddings)
# 检索增强型问答链(RAG)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=db.as_retriever(),
return_source_documents=True
)
# 示例调用
query = "贵公司支持退款吗?"
result = qa_chain.run(query)
print("AI(基于知识库):", result)
六、进阶建议(2025年6月LangChain实用功能)
- ✅ 使用ConversationSummaryBufferMemory压缩长对话,减少token消耗
- ✅ 与LangGraph集成,打造多Agent协作系统
- ✅ 结合OpenAI Function Calling,调用实时工具(如天气、搜索、数据库查询)
- ✅ 前端可用
Streamlit
或Next.js
构建UI,与LangChain后端对接
七、总结
使用LangChain,你无需从零构建复杂逻辑,就能让语言模型具备**“记忆力”与“知识引用能力”**。无论是客服机器人、企业知识问答,还是自动化智能助手,LangChain都能大幅降低开发门槛。
在2025年这个AI工具生态极度成熟的时代,掌握LangChain+OpenAI的组合,就等于掌握了AI应用的未来。