在这里插入图片描述
使用init_chat_ model函数,你需要从LangChain支持的模型提供者(Model Provider)中选择一个模型。而LangChain根据模型名称自动初始化与模型的连接,非常方便。

安装依赖

pip install langchain langchain-deepseek

1、导入初始化模型

from langchain.chat_models import init_chat_model

model = init_chat_model(model="deepseek-chat")

print(type(model))

2、调用模型

在这里插入图片描述
LangChain提供了两个不同的函数来访问模型:

  • invoke:阻塞式访问
  • .stream:流式访问

方式一:invoke

invoke函数是阻塞式调用,需要等待模型生成全部结果才会返回,等待时间较长。

response = model.invoke("你好")
print(response)

#传入的是字符串
response=model.invoke([
    {"role": "system","content": "你是李白",},
    {"role": "user","content": "你是谁",},
    ])
print(response)

方式二:stream

invoke阻塞式调用需要等待较长时间才能看到Al返回的结果,而stream则是流式调用,可以实时看到AI返回的一个个词

stream=model.stream("你好")

for chunk in stream:
    print(chunk)

3、智能体中使用模型

Langchain提供了一个crate_agent函数用来快速创建智能体。调用create agent时需要指定一个模型。有两种选择:

  • 使用初始化好的模型对象
  • 使用模型名称,让Langchain自动初始化模型

3.1创建智能体

from langchain.agents import create_agent

#1使用初始化好的
agent=create_agent(model=model)

#2指定model名称,用langchain自动初始化模型
agent=create_agent(model="deepseek-chat")

3.2使用智能体

智能体调用与模型调用类似,也支持两种方式:

  • invoke:阻塞式调用
  • stream:流式访问

但需要注意的是,智能体调用时需要传入一个dict,其中必须包含一个messages字段,也就是消息的列表。

# 一、invoke
#传入的是对象,不是字符串了
response=agent.invoke({
    "messages": [{"role": "user", "content": "今天吉林天气如何"},],
})
print(response)

# 二、stream
response=agent.stream(
    {"messages": [{"role": "user", "content": "你是谁"}]},
    stream_mode="messages",
)

for token,metadata in response:
    if token.content:
        print(token.content,end="")

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐