使用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)

最终模型会输出结果。

相关推荐
小虎AI生活18 分钟前
像资深短视频运营一样做事:从特斯拉发布会的「眼见为实」到可复用的提示词工作流
aigc·ai编程
JakeJiang2 小时前
别再给 AI 贴 HAR 了:我把抓包工具接成了 Agent 的证据源
ai编程
badhope2 小时前
Cursor转Codex大半个月实测:迁移成本、代码质量与那些没人说的隐性坑点
ai编程·cursor
天籁行者2 小时前
我是音乐人,不会写代码,用 4 个月搭了个几万行的 AI Agent 平台
ai编程
中科智旅x景游宝2 小时前
景区票务系统的消息队列架构演进:从订单到对账的异步化改造实录|中科智旅景游宝
人工智能·ai编程
Eric72592 小时前
职场人学 AI 的正确顺序:先学什么、后学什么
ai编程
张伽蓝ErosJane2 小时前
AI Agent 平台搭建必读:Anthropic 多智能体实验的三个工程警示
ai编程
blackappleD2 小时前
REA 30 万 Star 背后:让 AI Agent 无源码读懂软件的 MCP 逆向工具链
aigc·ai编程
猛犸象限2 小时前
【CJMP】用仓颉跨端做游戏(下):94 关能过、6 关卡住,问题最后出在我们自己这边
ai编程
柯南46683 小时前
【AI工程师精讲】13:微调排查:训练损失很好看,效果却不行
人工智能·ai编程