LangChain入门----初始化、使用模型
·

使用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="")
更多推荐

所有评论(0)