Development
LangChain for Beginners: Build Your First AI Agent
LangChain is the framework that powers most production AI applications. This step-by-step guide shows you how to build a real AI agent using LangChain.
2026-06-2518 min readLearnGeni AI Academy
LangChain初学者指南:构建你的第一个AI智能体
LangChain是构建生产环境AI应用最流行的框架。如果你已经直接使用OpenAI API,LangChain将把你带到下一个级别:能够搜索互联网、读取文档、执行复杂任务的智能体。
什么是LangChain?
LangChain是一个开源Python(和JavaScript)框架,简化了使用LLM构建应用程序的过程。
解决的问题:
- 给AI在对话之间提供记忆
- 将AI连接到你自己的文档和数据库
- 构建带工具的智能体(网络搜索、计算器、API)
- 将多个AI调用链接成流水线
安装
pip install langchain langchain-openai langchain-community chromadb python-dotenv
第一条链
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
model = ChatOpenAI(model="gpt-4o-mini", temperature=0)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个有用的AI助手。给出准确简洁的回答。"),
("user", "{question}")
])
chain = prompt | model | StrOutputParser()
result = chain.invoke({"question": "什么是LangChain?"})
print(result)
添加记忆
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.messages import HumanMessage, AIMessage
model = ChatOpenAI(model="gpt-4o-mini")
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个有用的助手。"),
MessagesPlaceholder(variable_name="history"),
("user", "{input}")
])
chain = prompt | model
history = []
def chat(message: str) -> str:
response = chain.invoke({"history": history, "input": message})
history.append(HumanMessage(content=message))
history.append(AIMessage(content=response.content))
return response.content
print(chat("你好,我叫小明"))
print(chat("我叫什么名字?")) # 记得!
RAG系统:从文档回答
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
documents = [
Document(page_content="LearnGeni提供30本AI指南,每本5美元。"),
Document(page_content="购买后用户享有终身访问权限。"),
]
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(documents, embeddings)
retriever = vectorstore.as_retriever()
prompt = ChatPromptTemplate.from_template("""
根据上下文回答:
上下文:{context}
问题:{question}
""")
model = ChatOpenAI(model="gpt-4o-mini")
chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt | model
)
result = chain.invoke("LearnGeni的指南价格是多少?")
print(result.content)
第一个带工具的智能体
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.tools import tool
@tool
def get_weather(city: str) -> str:
"""获取城市天气。"""
return f"{city}天气:25°C,晴天"
@tool
def calculate(expression: str) -> str:
"""计算数学表达式。"""
try:
return str(eval(expression))
except:
return "计算错误"
tools = [get_weather, calculate]
model = ChatOpenAI(model="gpt-4o", temperature=0)
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个可以使用工具的有用助手。"),
("user", "{input}"),
MessagesPlaceholder(variable_name="agent_scratchpad"),
])
agent = create_tool_calling_agent(model, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
result = executor.invoke({"input": "北京天气怎么样?15×23等于多少?"})
print(result["output"])
想从零到高级学习LangChain? LearnGeni完整指南包含真实项目和2026年最佳模式。查看所有指南。
G
Earn Your International AI Certificate
This article is part of the LearnGeni AI Mastery Program — 30 comprehensive guides in 50+ languages. Complete all 30 and earn a certificate backed by WhatsGeni (Official Meta AI Partner), recognized in 50+ countries.
🌍
50+ Languages
Learn in your native language
🏆
Official Certificate
Backed by Meta AI Partner
💡
30 Guides
$5 each or $50 for the full bundle