从零学会LangChain调用大模型!统一接口+代码实战
·
在实现类对象上,常用invoke和stream两种调用方法。invoke 会让大模型一次性返回完整响应对象,stream则逐Token输出内容片段。

下面通过代码实战,带你彻底搞懂。首先打开命令行窗口,使用 pip 命令安装 LangChain和langchain-openai开发库。
pip install langchain langchain-openai
通过dotenv库的load_dotenv()方法,自动读取项目里的.env配置文件,把文件中所有键值对自动载入系统环境变量os.environ,后续可直接读取模型地址、密钥等配置,避免硬编码。
import os from dotenv import load_dotenv load_dotenv()
使用 LangChain 内置的init_chat_model初始化大模型,通过两个核心参数配置:model指定模型名称,model_provider指定模型对接厂商。
import os from dotenv import load_dotenv load_dotenv() llm = init_chat_model(model="qwen3.6-plus", model_provider="openai") print(type(llm))
当厂商参数设为openai时,底层会自动调用ChatOpenAI实现类,并从环境变量自动读取API密钥和接口地址。这里打印模型实例类型和请求基准地址,方便查看底层配置。

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
load_dotenv()
llm = init_chat_model(model="qwen3.6-plus", model_provider="openai")
print(type(llm))
print("base_url:", llm.root_client.base_url)

可以省略model_provider参数,直接在模型名称前加上厂商前缀,格式为厂商:模型名,一行代码即可完成大模型初始化,写法更简洁。

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
load_dotenv()
llm = init_chat_model(model="openai:qwen3.6-plus")
print(type(llm))
print("base_url:", llm.root_client.base_url)

大模型初始化完成后,使用invoke()方法发起对话请求。该方式会等待模型生成完整内容后,一次性返回全部结果。

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
load_dotenv()
llm = init_chat_model(model=os.getenv("MODEL"))
result = llm.invoke("你是谁呀?")
print(result)

想要实现打字机实时输出效果,改用stream()方法循环遍历模型返回内容。end=""保证文字连续不换行,flush=True强制即时打印,实现流畅的流式对话效果。

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
load_dotenv()
llm = init_chat_model(model=os.getenv("MODEL"))
for chunk in llm.stream("详细介绍AI大模型的应用"):
if chunk.content:
print(chunk.content, end="", flush=True)

更多推荐


所有评论(0)