AI菜鸟向前飞 — LangChain系列之三(OpenAI和ChatOpenAI的区别)

前言

在学习OpenAI和框架Langchain的过程中,当时有个疑问,为啥有时候出现OpenAI,而有时会出现它:ChatOpenAI,有什么区别呢?还有也多次遇到过Completions、Model等术语,这类资料比较少,后来经过一点点尝试和源代码的走读,慢慢了解了...

这里抽丝剥茧,分享给大家,跟大家共同学习共同进步:)

理论篇

ChatOpenAI

  • 基于消息而不是原始文本
  • 支持的消息类型:AIMessage、HumanMessage、SystemMessage、FunctionMessage和ChatMessage
  • ChatMessage接受任意角色参数 一般情况,只需处理HumanMessage、AIMessage和SystemMessage

OpenAI

  • 基于原始文本
  • 支持的消息类型很简单:就是文本

初步比较

OpenAI

程序

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
python 复制代码
from langchain_openai import OpenAI

openai = OpenAI(model_name="gpt-3.5-turbo-instruct", temperature=0)

# 使用模型'gpt-3.5-turbo-instruct'
response = openai.invoke("你好啊, AI小助手") 

print(response)

print("type", type(response))

输出结果

简单分析

  • 支持的Model:gpt-3.5-turbo-instruct, babbage-002, davinci-002
  • 输出结果为str(字符串)

ChatOpenAI

程序

python 复制代码
from langchain_openai import ChatOpenAI
from langchain.schema import HumanMessage

chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")

# using 'gpt-3.5-turbo' model
response = chat.invoke([HumanMessage(content="你好啊, AI小助手")])

print(response)
print("type", type(response))

输出结果

简单分析

  • 支持的Model:gpt-4 and dated model releases, gpt-4-turbo-preview and dated model releases, gpt-4-vision-preview, gpt-4-32k and dated model releases, gpt-3.5-turbo and dated model releases, gpt-3.5-turbo-16k and dated model releases, fine-tuned versions of gpt-3.5-turbo
  • 输出结果为AIMessage

进阶一点

官网介绍

先关注圈中的部分就行,其他看不懂的我后面再给大家一点点介绍,我们一起学: )

混用会咋样

  • OpenAI 用chat completions Model
  • ChatOpenAI 用 completions (Legacy)

不指定Model会怎样

  • OpenAI默认用gpt-3.5-turbo-instruct
  • ChatOpenAI默认gpt-3.5-turbo

看源码就知道为啥了:)

附加:Temperature释义

翻译过来的意思:Temperature取值范围为[0, 2]

  • 当值越小 会产生更一致的输出(例如 0.2)
  • 当值越大 产生更加多样化和创造性的结果

请看官自行试试就知道了:)

相关推荐
武子康20 小时前
调查研究-198 Agent 到底该记住什么?读懂《What Must Generalist Agents Remember?》
人工智能·openai·agent
kyriewen20 小时前
白宫前脚下了限制令,OpenAI 后脚就把 GPT-5.6 发了
前端·gpt·openai
kfaino1 天前
你好,我叫 Prompt——其实,你一直在给 AI 写程序
后端·openai·ai编程
kfaino1 天前
你好,我叫Token——AI世界里最忙的搬砖工
aigc·openai·ai编程
redreamSo2 天前
大模型是不是到顶了?瓶颈到底在哪
人工智能·openai
牛奶2 天前
连微软都用不起 AI 了
aigc·openai·ai编程
AI工程效率栈2 天前
AI 帮你补异常处理时,新人最容易犯的错:把失败悄悄变成成功
gpt·chatgpt
武子康2 天前
调查研究-195 从 AmEx 支付系统看 Cell-based Architecture:真正的高可用,不是无限重试,而是控制失败边界
人工智能·openai·agent
程序员辉哥3 天前
Skill精通系列之Spec-Kit-最适合团队的SDD 开发框架
openai·ai编程·claude
秦瑜华3 天前
前端页面添加AI自动翻译按钮
前端·openai·ai编程