使用langchain来调用AI大模型

使用langchain调用LLM

安装对应的依赖

  • langchain-openai、langchain-deepseek二选一即可,取决于你需要调用的模型是什么
  • 如果使用deepseek等langchain支持的模型,安装对应的依赖包即可 langchain-xxx
  • 如果是langchain不支持的模型,可以伪装成 openai下载langchain-openai包即可
plaintext 复制代码
  uv add langchain langchain-openai langchain-deepseek

使用langchain支持的模型

python 复制代码
import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model

# 加载环境变量
load_dotenv()

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

使用langchain不支持的模型,比如阿里云百炼

python 复制代码
""" 
  创建langchain模型实例
  安装对应的依赖
  uv add langchain langchain-openai
"""

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model

# 加载环境变量
load_dotenv()

"""
  一般来说只需要 model  就可以创建一个模型实例
  但是有时候遇到langchain不支持的模型 需要指定其他参数,比如 api_key, base_url, model_provider=openai 等
"""
model = init_chat_model(
  model="qwen3-max", # 不支持 阿里云百炼 所以才伪装成openai模型  如果支持的模型  直接指定 model 就可以
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
  model_provider='openai'
)

调用模型一般有两种方式 invoke 和 stream

  • invoke和stream两个方法的参数 可以是字符串 也可以是列表
  • 如果参数是字符串 则会被直接发送给模型
  • 如果参数是列表 则会被转换为json字符串 发送给给模型
python 复制代码
[
  {"role": "system", "content": "你是一个ai助手,不说废话,回答用户的问题,保持回答的简洁"},
  {"role": "user", "content": "你好, 请介绍一下你自己"},
  {"role": "assistant", "content": "你好是一个ai助手,我会回答用户的问题"},
]

使用invoke调用模型,可以直接输出模型的结果

python 复制代码
""" 直接输出结果 """
result =model.invoke("你好, 请介绍一下你自己")
print(result.content)

使用stream调用模型,可以像打字机一样的效果输出模型的结果

python 复制代码
""" 流式输出结果 """
response= model.stream("你好, 请介绍一下你自己")

for chunk in response:
  print(chunk.content, end="", flush=True)

最终模型会输出结果。

相关推荐
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
1点东西5 天前
做了近两年的Agent开发,其实真正要学的就是这五件事
llm·agent·ai编程
七牛云行业应用5 天前
Qwen-Image-2.1 开源部署完整指南:Diffusers、ComfyUI 与推理服务
ai编程
福如意如我心意5 天前
TencentDB Agent Memory和其他开源memory
ai编程
小虎AI生活5 天前
腾讯开源了一个项目,让 AI 直接用你已经登录好的浏览器
aigc·ai编程
瑶山5 天前
开源编程Agent-OpenCode完整使用教程
开源·agent·ai编程·opencode
技术民工之路5 天前
文生视频 vs 传统视频制作:核心优势
ai编程
plainGeekDev5 天前
Harness 实战:用 Android 登录模块搭一套可靠的 Agent 开发环境
aigc·ai编程·claude
黄昏回响5 天前
从标准化到智能化:信息化的一场“地基革命”——兼论AI如何重新定义“标准化”
ai编程