LangChain 1.0 核心用法速查:创建模型、创建 Agent、调用

一、创建模型(init_chat_model)

通用格式

python

python 复制代码
from langchain.chat_models import init_chat_model

model = init_chat_model(
    model="模型名",
    model_provider="供应商",
    base_url="API端点",
    api_key="密钥"
)

参数说明

参数 是否必填 说明
model 必填 模型名称,如 "deepseek-chat"
model_provider 视情况 供应商名称,官方支持的供应商可自动推断
base_url 视情况 API 端点地址,官方供应商可自动配置
api_key 视情况 密钥,官方供应商可从环境变量自动读取

官方供应商(可省略 base_url 和 api_key)

python

python 复制代码
# 模型名以 deepseek 开头,自动推断为 deepseek 供应商
model = init_chat_model("deepseek:deepseek-chat")

第三方兼容平台(必须手动指定)

以阿里云百炼为例:

python

python 复制代码
import os

model = init_chat_model(
    model="deepseek-v4-pro",
    model_provider="openai",   # 百炼兼容 OpenAI 格式
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

二、创建 Agent(create_agent)

通用格式

python

python 复制代码
from langchain.agents import create_agent

agent = create_agent(
    model=model,
    tools=[],
    system_prompt="系统提示词"
)

参数说明

参数 是否必填 说明
model 必填 传入已初始化好的模型对象,不是裸字符串
tools 可选 Agent 可调用的工具列表
system_prompt 可选 系统提示词,设定 Agent 角色和行为
middleware 可选 中间件,用于扩展 Agent 逻辑
response_format 可选 结构化输出格式
checkpointer 可选 持久化组件,用于保存对话历史

关键点

create_agent 没有 base_url 和 api_key 参数。所有连接信息都在上一步创建模型时配置好。


三、调用 Agent(invoke)

通用格式

python

python 复制代码
response = agent.invoke({
    "messages": [
        {"role": "user", "content": "你的问题"}
    ]
})

输入参数说明

第一个参数是一个字典 ,包含 messages 键。messages 的值是一个消息列表,每条消息至少包含:

字段 说明
role 角色,如 "user"、"assistant"、"system"
content 消息内容,可以是字符串或多模态列表

也可以传入 LangChain 消息对象

python

python 复制代码
from langchain_core.messages import HumanMessage

response = agent.invoke({
    "messages": [HumanMessage(content="你的问题")]
})

流式调用

python

python 复制代码
for token, metadata in agent.stream(
    {"messages": [{"role": "user", "content": "你的问题"}]},
    stream_mode="messages"
):
    if token.content:
        print(token.content, end="", flush=True)

四、完整示例

python

python 复制代码
import os
from langchain.chat_models import init_chat_model
from langchain.agents import create_agent

# 1. 创建模型
model = init_chat_model(
    model="deepseek-v4-pro",
    model_provider="openai",
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

# 2. 创建 Agent
agent = create_agent(
    model=model,
    tools=[],
    system_prompt="你是一个 helpful assistant"
)

# 3. 调用 Agent
response = agent.invoke({
    "messages": [{"role": "user", "content": "你好"}]
})

print(response)
相关推荐
临床数据科学和人工智能兴趣组1 小时前
正则表达式的基础语法的常用字符类
数据库·r语言·r语言-4.2.1·临床研究·临床试验
鱼很腾apoc1 小时前
【MySQL】 第2期 查询与函数系统详解:从基础 CRUD 到复合多表查询
linux·数据库·学习·mysql·dml
前端 贾公子1 小时前
LangGraph == 图的状态(State)管理 (下)
运维·服务器·数据库
zlwool1 小时前
机械行业ERP与进销存的合规选型边界
数据库·erp
梦想的颜色2 小时前
【AI速览】RAG 向量数据库选型:Milvus、Chroma、Qdrant、PGVector 全维度横向对比
数据库·milvus·chroma·rag·pgvector·向量库·qdrant
小溪学编程2 小时前
向量数据库 Milvus 基础实践:从入门到上手
数据库·milvus
数据最前线2 小时前
雪上加霜,Oracle向蓝色巨人最后的阵地发起挑战
数据库·oracle
于眠牧北2 小时前
Charles配置指定域名抓取和雷电模拟器中抓取APP接口配置
数据库·redis·缓存
福娃筱欢3 小时前
57014 canceling statement due to user request(金仓 KingbaseES)
数据库·kingbase·金仓数据库