使用 openai 调用 openai.Completion.create 响应比 chatgpt 返回的更短

问题描述 投票:0回答:1

我有一个 chatgpt 的付费帐户并使用最新的 4 版本,当我要求它回答问题时,它会发回类似于 4k 字符的响应。当我对同一个问题使用 api 时,我得到一个更短的响应,大约 1k 个字符。我决定询问 chatgpt 在 api 调用中使用什么参数来返回相同的响应,并将其粘贴在下面。它使用的最大令牌数为 30,所以我将其提高到 4k,但响应仍然太短。然后,我修改了引擎以使用 002 中的 davinci003,但没有成功。 关于我可以改变什么的任何想法,我花了大约 2 个小时进行研究,但仍然无法让它发挥作用。

def generate_completion(prompt):
    response = openai.Completion.create(
      engine="text-davinci-003",
      prompt=prompt,
      max_tokens=4000,
      n=1,
      stop=None,
      temperature=0.8,
      top_p=1,
      frequency_penalty=0,
      presence_penalty=0,
    )
    generated_text = response.choices[0].text.strip()
    return generated_text
api response openai-api short
1个回答
0
投票

您需要使用Chat而不是Completion

对于Python,示例代码如下:

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

如果您可以访问 GPT-4 API,则可以将模型更改为

gpt-4
。请注意,拥有付费帐户并不能保证可以访问 GPT-4 API。否则,您可以使用模型
gpt-3.5-turbo
gpt-3.5-turbo-0301
,这是所有人都可以使用的,但不如 gpt-4 模型强大。

© www.soinside.com 2019 - 2024. All rights reserved.