您现在的位置是:首页 >其他 >chatgpt新版gpt-3.5-turbo模型API教程网站首页其他

chatgpt新版gpt-3.5-turbo模型API教程

taiyangyukeji 2023-06-03 08:00:03
简介chatgpt新版gpt-3.5-turbo模型API教程

形式:输入一个问题,模型会生成一个结果,一问一答形式

功能:创建一个聊天接口地址:POST https://api.openai.com/v1/chat/completions (Beta)
请求参数(Request body):
model: string 必须
使用的模型,只有 gpt-3.5-turbo 和 gpt-3.5-turbo-0301 两个取值
messages:array 必须
需要传入的内容,里面包括role,centent两个字段,举例:
PowerShell
"messages": [{"role": "user", "content": "Hello!"}]
temperature:number 可选 默认 1

数字0~2之间
数字越大,答案越随机,开放,比如1.8
数字越小,答案越固定,聚焦,比如0.2
建议不要同时和top_p修改
top_p:可选 默认 1
和temperature差不多,数字越大,答案越随机,开放
数字越小,答案越固定
建议不要同时和top_p修改
n:number 可选 默认 1
产生的结果个数
stream:boolean 可选 默认 false
设置为true,则结果为数据流,和官网chatgpt一样,产生一个字符返回一个字符,服务端需要支持server-sent events
stop:string or array 可选 默认 null
最多4个序列,API将停止生成更多tokens
max_tokens:integer 可选 默认值 inf
结果最大能产生的tokens数,默认可以返回 4096-输入tokens
presence_penalty number 可选 默认 0
数字介于-2.0和2.0之间。正值根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。
frequency_penaley:number 可选 默认 0
数字介于-2.0和2.0之间。正值根据文本中的现有频率惩罚新标记,从而降低模型逐字重复同一行的可能性。
logit_bias:map 可选 默认 null

修改完成时出现指定标记的可能性。
接受一个json对象,该对象将token(由令牌ID指定)映射到-100到100之间的相关偏差值。在数学上,在采样之前,将偏差添加到模型生成的逻辑中。每个模型的确切效果会有所不同,但介于-1和1之间的值应该会降低或增加选择的可能性;像-100或100这样的值应该会导致相关token的禁止或独占选择。
user:string 可选
唯一终端用户身份,可以帮助openai监测滥用

调用官方API接口需要获取APIkey,获取地址:chat.xingtupai.com

请求示例:
curl:

curl https://api.openai.com/v1/chat/completions 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer YOUR_API_KEY' 
  -d '{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Hello!"}]
}'


python:
部署源码:https://github.com/openai/openai-python
调用示例:
Python

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Hello!"}
  ]
)

print(completion.choices[0].message)


node.js:
部署源码:https://github.com/openai/openai-node
调用示例:
JavaScript

import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Hello!"}
  ]
)

print(completion.choices[0].message)


参数示例:

{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Hello!"}]
}


返回结果:

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "

Hello there, how may I assist you today?",
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}

错误结果:

{
 "error": {
  "message": "'doctor' is not one of ['system', 'assistant', 'user'] - 'messages.0.role'",
  "type": "invalid_request_error",
  "param": null,
  "code": null
 }
}
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。