当前位置: 首页 > news >正文

from langchain_openai import ChatOpenAI

from langchain_openai import ChatOpenAI 完整讲解

一、作用说明

ChatOpenAI是 LangChain 官方拆分独立包langchain-openai提供的对话模型封装类,专门对接 OpenAI 系列对话接口(GPT-4.1、GPT-4o、GPT-3.5-turbo 等),替代旧版langchain.chat_models.ChatOpenAI

新旧版本区别

  • 旧版(LangChain 0.0.x):from langchain.chat_models import ChatOpenAI
  • 新版(LangChain 0.1+):拆分为独立包,必须用langchain_openai,导入语句为你写的这行。

二、前置安装依赖

你的虚拟环境需要安装对应包,终端执行:

bash

运行

pip install langchain-openai openai python-dotenv

三、完整基础使用示例(适配你现有 OpenAI 环境变量逻辑)

1. 标准写法(读取 .env 环境变量,和你原生 openai 代码统一)

python

运行

import os from dotenv import load_dotenv # 加载.env文件密钥 load_dotenv() # 导入LangChain封装的OpenAI对话模型 from langchain_openai import ChatOpenAI # 实例化模型 llm = ChatOpenAI( model="gpt-4.1-mini", # 你代码里使用的模型名称 api_key=os.getenv("OPENAI_API_KEY"), base_url=os.getenv("OPENAI_API_BASE"), temperature=0.7, # 创造性 0=严谨确定,1=天马行空 max_tokens=1024 # 限制单次输出token上限,控制费用 ) # 简单调用 response = llm.invoke("What is Python in one sentence?") # 提取AI回答文本 print(response.content)

2. 和原生 openai 客户端对比

  1. 原生 openai.OpenAI:底层裸请求,需要手动处理messages、手动提取choices[0].message.content、手动统计 token;
  2. langchain_openai.ChatOpenAI:上层封装,自带统一调用接口、记忆链、工具调用、输出解析器、token 统计,适合开发 Agent / 工作流。

四、常见核心参数(开发高频)

python

运行

llm = ChatOpenAI( # 鉴权相关 api_key="sk-xxx", base_url="https://api.openai.com/v1", # 模型基础 model="gpt-4.1-mini", temperature=0, # 业务/代码场景建议0,减少幻觉 max_tokens=512, # 省钱&用量控制 max_retries=2, # 请求失败重试次数 timeout=30, # 请求超时时间 # 缓存/用量统计 cache=True # 开启prompt缓存,降低重复输入费用 )

五、解决你刚才的密钥报错(关键)

ChatOpenAI底层同样依赖OPENAI_API_KEY环境变量,如果你没配置环境变量,会和原生openai.OpenAI报完全一样的Missing credentials错误,两种解决方式:

  1. 项目根目录新建.env+load_dotenv()(推荐)
  2. 实例化时手动传入api_key=xxx

六、链式调用示例(LangChain 特色)

搭配提示词模板,快速构建标准化提问:

python

运行

from langchain_core.prompts import ChatPromptTemplate prompt = ChatPromptTemplate.from_messages([ ("system", "你是简洁翻译助手,只用一句话回答"), ("human", "{question}") ]) # 构建链:提示词 → 模型 chain = prompt | llm # 执行 res = chain.invoke({"question": "什么是HBM显存"}) print(res.content)

七、避坑要点

  1. 包名不要写错:新版是langchain_openai,不是langchain
  2. 模型名称必须和 OpenAI 平台支持名称一致,如openai/gpt-4.1-mini是中转网关格式,原生直连写gpt-4.1-mini
  3. 如果你用代理中转,base_url必须和原生 client 保持一致,否则请求不通;
  4. 密钥缺失报错排查逻辑和上一条回答完全通用,打印os.getenv("OPENAI_API_KEY")即可验证变量是否读取成功。
http://www.gsyq.cn/news/1595296.html

相关文章:

  • 内景 展馆博物馆模型
  • 单目标跟踪算法Transformer 之VitTrack
  • 高频PCB干扰产生机理与三要素底层拆解
  • 郑州金水区代账
  • Kali Linux实战:用SEToolkit克隆Pikachu靶场,模拟钓鱼攻击与防御
  • 油田厂区防爆照明工程 LED 灯管选型适配规范参考
  • 国内高校毕业生高频使用的AI论文平台是哪款?
  • 2026年党建展厅设计趋势与标杆案例:当红色文化遇见数字科技
  • 错分样本到超平面距离作为损失函数的感知器准则函数 误差反馈学习机制的感知器神经元模型
  • 庆阳国考课程深度测评:3家靠谱机构横向对比,选课避坑必看!
  • 抖音批量下载器:5分钟掌握专业级素材收集方案
  • 5分钟终极指南:用DLSS Swapper轻松升级游戏画质与性能
  • AlienFX-Tools:开源Alienware设备控制与性能优化解决方案
  • RAG 中的 Embedding 到底是什么?
  • WatermarkRemover:三步实现智能视频水印批量清除的高效方案
  • 低成本入门无线电平台-【开元】Mini-SDR
  • 实测|一站式AI聚合平台,多场景需求全覆盖
  • 如何永久掌控你的微信记忆:WeChatMsg本地数据管理终极指南
  • 人工智能和计算机科学与技术哪个更值得报
  • ParsecVDisplay终极指南:如何快速创建和管理虚拟显示器
  • 从电脑到互联网:IPv4 地址在真实通信中如何工作
  • 2026商用AI快速开发工具对比:从低代码到Agent平台,企业该如何选型?
  • 用「继承来的祖传遗留系统」比喻,聊聊原生家庭的拧巴怎么消化
  • 什么是token?
  • 1.6 数据库相关面试题:
  • 一线观察:长期体验长春知名汽车贴膜,看到的行业真实情况
  • 3分钟终极指南:如何使用zteOnu快速获取光猫超级管理员权限
  • 硕博写论文怕过不了盲审?Gradpaper 深度学术模型,适配学位论文 / 顶刊投稿标准
  • 2026年品牌全案策划公司怎么选?广州瞳神文化传媒服务能力深度解析
  • 教培机构在线学习平台搭建