内容补全接口 /v1/completions
POST
/v1/completions这里只列出部分常用参数,完整参数说明参考 OpenAI 官方文档:https://platform.openai.com/docs/api-reference/completions/create
如果 n 和 best_of 同时设置,best_of 必须大于 n,这样才能生成足够的条数用于返回。
注意,如果同时开启 stream 和 moderation,一些额外的参数可能不会返回或者以不同形式返回。例如 logprobs,因为 moderation 必须先拿到所有内容再进行审核,所以无法像原始的流一样在每个 event 里附加对应的 logprobs。目前的做法是把完整的 logprobs 附加到每个 event,由调用者自行处理和对应回文本。
此外,n 和 best_of 同时设置的情况下,如果开启 stream,并不会按照一个字一个字返回,所有结果会在一个 event 里返回。这个并不是 API2D 的特殊处理,而是官方 API 就是这样返回。
如果你需要的参数因为 moderation 没有出现在返回值里,可以联系我们进行修改支持。
模型的价格和官方价格比例保持一致,具体来说:
text-davinci-003,text-davinci-002:相同 token 长度下是 GPT-3.5(非 16k)【输出部分】价格的十倍
text-curie-001:相同 token 长度下和 GPT-3.5(非 16k)【输出部分】价格一致
text-babbage-001:相同 token 长度下是 GPT-3.5(非 16k)【输出部分】价格的四分之一
text-ada-001:相同 token 长度下是 GPT-3.5(非 16k)【输出部分】价格的五分之一
所有价格都是官方价格的 1.5 倍换算为 P 数。
请求参数
默认为 false,为 true 时会调用文本安全接口对内容进行判定,并将审核结果添加到返回值中的 moderation 字段,开发者可以根据值自行判断如何处理。审核输出的详细解释:https://cloud.tencent.com/document/product/1124/51860 开启后每 9000 字符会增加 10P 的消耗
默认为 false,在 moderation 为 true 且自身也为 true 时,如果审核结果不是 Pass,将自动进行内容拦截,对流也生效
流方式返回,兼容官方参数,但因为有计费和审核逻辑,比官方流慢。
如果不指定,每次请求会预先冻结 模型支持的最大个数 Token,如果是 3.5 也就是 41P ,在请求完成后按 usage 字段多退少补。如果账户余额少于 41P 就会报错,此时可以指定 max_tokens,这样就会按 max_tokens 来冻结
要生成几条最好的结果
{
"model": "gpt-3.5-turbo",
"prompt": "以我是小明开头写一篇800字的文字",
}
示例代码
返回响应
{
"id": "cmpl-7KePwwECHYAXhqb4sEv4hIr6T1Ehi",
"object": "text_completion",
"created": 1685156280,
"model": "text-davinci-003",
"choices": [
{
"text": "\n\n我是小明,一个十六岁的高中生,来自一个普通的家庭。几年前,母亲不幸发病,父亲也因为在公司就职而抽不出空来照顾她,于是我从轻松的少年慢慢蜕变成了家庭的支柱。\n\n任务重大,但我义无反顾地履行着,不仅照顾母亲,还把自己的学习家庭的事情都做得很到位。为了省一些时间,我早出晚归,白天在学校学习,晚上到外面兼职也拿着这些零花钱帮助家庭负担一些生活开销。\n\n有一天,母亲病有所好转,他们终于可以出来走动了。母亲急切地想要重温我们一家的温馨瞬间,于是我便带着他们去公园漫步。阳光明媚,蝉鸣不绝,芳草萋萋,我们一家三口都倍感自在。走在公园的小路上,母亲攮着我的手,此刻,也许,这是我最幸福的时刻。\n\n这种幸福不是永久的,当我回到家时,脸上又是烦恼的表情,我知道不远的将来又会和母亲重上这场沉重的赛跑,我要以此扛起一家的重担,为自己实现未来的梦想继续奋斗。\n\n尽管精神压力很大,但我深知当前的一切只是暂时的,这段路是我必须经历的,只要我管理好自己的时间、调整好自己的心态,总会逆流而上。就像母亲说的,生活 就像一条流水,把每个烦恼随风而去,把每个快乐放心而",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 36,
"completion_tokens": 999,
"total_tokens": 1035,
"final_total": 104
}
}