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...

 

posted @   王竹笙  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示