Home/Blog/LangChain for Beginners: Build Your Firs...
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