chatGPT接口开发经验

10/30/2023 9:59:41 AM
531
0

简介

OpenAI API 可以应用于几乎所有涉及生成自然语言、代码或图像的任务。我们提供了一系列不同能力级别的 模型,适用于不同任务的,并且能够 微调(Fine-tune) 您自己的自定义模型。这些模型可以用于从内容生成到语义搜索和分类的所有领域。

接口

Caption
  MODEL FAMILIES API ENDPOINT
Newer models (2023–) gpt-4, gpt-3.5-turbo https://api.openai.com/v1/chat/completions
Updated base models (2023) babbage-002, davinci-002 https://api.openai.com/v1/completions
Legacy models (2020–2022) text-davinci-003, text-davinci-002, davinci, curie, babbage, ada https://api.openai.com/v1/completions

You can experiment with GPTs in the playground. If you’re not sure which model to use, then use gpt-3.5-turbo or gpt-4.

如果你不确定使用哪个模型对象,你可以在 playground 中尝试

请求 

在 Header 添加参数

  • Authorization,其值为在 Bearer 之后拼接 Token
  • Content-Type 必须, 例:application/json
  • Accept 必须 , 例:application/json

请求body

{
  "model": "gpt-3.5-turbo",
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "stream": true
}
  • model , string  要使用的模型的 ID。有关哪些模型适用于聊天 API 的详细信息,请参阅模型端点兼容性表。 messages, array [object {2}]  必须 temperature 
  • top_p
  • stream,boolean 可选。以流的方式返回相应。可以做成雷士ChatGPT中的打字机效果
  • stop,string ,可选,API 将停止生成更多令牌的最多 4 个序列。
  • max_tokens,integer ,可选,聊天完成时生成的最大令牌数。 输入标记和生成标记的总长度受模型上下文长度的限制。
  • presence_penalty,number ,可选,-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。 查看有关频率和存在惩罚的更多信息。
  • frequency_penalty,number ,可选,-2.0 和 2.0 之间的数字。正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。 查看有关频率和存在惩罚的更多信息。
  • logit_bias,null ,可选,修改指定标记出现在完成中的可能性。 接受一个 json 对象,该对象将标记(由标记器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差会在采样之前添加到模型生成的 logits 中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。
  • user,string ,可选,代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多

响应

响应完成对象
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-3.5-turbo-0613",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "\n\nHello there, how may I assist you today?",
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
 
流式响应对象
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

....

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":" today"},"finish_reason":null}]}

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"?"},"finish_reason":null}]}

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
流式响应对象(单个)
{
	"id": "chatcmpl-123",
	"object": "chat.completion.chunk",
	"created": 1694268190,
	"model": "gpt-3.5-turbo-0613",
	"choices": [{
		"index": 0,
		"delta": {
			"role": "assistant",
			"content": ""
		},
		"finish_reason": null
	}]
}

全部评论



提问