OpenApi 下达指令
Completions模型将字符串作为输入,模型将返回一个或多个预测的完成项。大多数开发者应该使用的 chatCompletions API 来使用OpenAI最好和最新的模型。大部分支持传统Completions端点的模型将在2024年1月4日停止服务
Chat Completions APl
Chat Completions服务是一种特定的Completion服务,它专门为对话和聊天类应用设计。这种服务模式使得A!模型更擅长于处理对话流程,能够更自然地进行问答、对话或模拟聊天场景。
在Chat Completions模式下,AI模型会根据上下文来生成回复,这通常涉及到以下特性:
- 对话历史管理:模型能够记住之前的对话内容,以便生成连贯的回答。
- 适应性回复:模型会根据对话的上下文来调整其回答的风格和内容。
- 更加自然的交流:生成的文本更符合人类的聊天习惯,包括非正式的语言、俚语等。
Chat Completions機型将消息列表作为输入,并返回模型生成的消息作为输出。尽管 Chat Completions格式旨在使多轮对话变得简单,但它对于单轮对话也是有效的,也就是Completions的场景。
如果在其他地方看到 聊天补全接口 或 聊天完成接口 都是指的这个。
POST https://api.openai.com/v1/chat/completions
请求体
messages
- 类型: 数组
- 必填: 是
- 描述: 消息列表
model
- 类型: 字符串
- 必填: 是
- 描述: 使用的模型名称
max tokens
- 类型: 整数或null
- 可选: 是
- 描述: 聊天完成中可以生成的最大词数
stream
- 类型:布尔值或nul
- 可选: 是
- 默认值: false
- 描述:如果设置,将发送部分消息增量
temperature
- 类型: 数字或nul
- 可选: 是
- 默认值:1
- 描述: 使用的采样多样性
请求示例
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type:application/json" \
-H "Authorization:Bearer $OPENAI API KEY " \
-d '{
"model": "gpt-3.5-turbo"
"
"messages": [{
"role": "user"
"content": "Say this is a test"
}]
}'
响应
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created ": 1677652288,
"model": "gpt-3.5-turbo-0613",
"system fingerprint": "fp_44709d6fcb",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "n\nThis is a test."
},
"logprobs": null,
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 12,
"completion tokens ": 5,
"total tokens": 17
}
}
聊天完成对象
- id: 唯一标识符
- choices:聊天完成选项列表
- created:创建时间的Unix时间戳
- model: 使用的模型
- system_fingerprint: 后端配置的指纹
- object:对象类型,始终是chat.completion
- usage:完成请求的使用统计
python sdk
安装openai-python
pip install openai
openai-python在23年11月6日升级到了V1版本,代码进行了重构,不在兼容之前的写法了,目前在网络上,基本都是老版本的写法,需要注意。大家注意下,如果自己的openai-python版本是V0.xx.xx,如v0.27.9,那么就是老版本,新版本是V1.xx.xx,如v1.6.1。
#检查openai-python版本
pip show openai
#升级openai-python
pip install --upgrade openai
使用openai-python
使用openapi-python
# penA api base地址:"https://api.openai.com/v1"
# 老版本(v1以下的版本)0PENAI API BASE
# 新版本(V1及以上的版本)0PENAI BASE URL
import os
from openai import OpenAI
client = OpenAI(
# This is the default and can be omitted
api_key=os.environ.get("OPENAI API KEY"),
base_url=os.environ.get("OPENAI API BASE"))
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Say this is a test"
}
],
model="gpt-3.5-turbo",
)
print(chat_completion.choices[0].message.content)
封装成函数
import os
from openai import OpenAI
client = OpenAI(
# This is the default and can be omitted
api_key=os.environ.get("OPENAI API KEY"),
base_url=os.environ.get("OPENAI API BASE"))
# 封装成函数
def chat(prompt, model="gpt-3.5-turbo"):
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Say this is a test"
},
],
model="gpt-3.5-turbo")
return chat_completion.choices[0].message.content
end...
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/18619252
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤