首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPENAI API完成不返回文本

OPENAI API完成不返回文本
EN

Stack Overflow用户
提问于 2022-01-28 11:52:10
回答 1查看 1.3K关注 0票数 3

我正在使用node.js,并且希望使用openai API。

我刚刚从openai操场复制了代码,它看起来像这样

代码语言:javascript
复制
export const askOpenAi = async () => {
const response = await openai.createCompletion("text-davinci-001", {
    prompt: "\ninput: What is human life expectancy in the United States?\n",
    temperature: 0,
    max_tokens: 100,
    top_p: 1,
    frequency_penalty: 0,
    presence_penalty: 0,
    stop: ["\n", "\ninput:"],
});
return response.data;
}

openai返回的数据如下所示

代码语言:javascript
复制
{
  id: '~~~',
  object: 'text_completion',
  created: ~~~,
  model: 'text-davinci:001',
  choices: [ { text: '', index: 0, logprobs: null, finish_reason: 'stop' } ]
}

在操场上,这段代码工作得很好。

我怎样才能得到正确的回应?

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 04:59:45

应该是这样的:

代码语言:javascript
复制
export const askOpenAi = async () => {
const prompt = `input: What is human life expectancy in the United States?
output:`
const response = await openai.createCompletion("text-davinci-001", {
    prompt: prompt,
    temperature: 0,
    max_tokens: 100,
    top_p: 1,
    frequency_penalty: 0,
    presence_penalty: 0,
    stop: ["input:"],
});
return response.data;
}

在这里,首先,从stop数组中删除\n,因为它将在每个换行符之后停止完成(任何答案都可以在多行中)。其次,不需要在输入前添加额外的\n:。其实并不重要。

最后,通过添加输出:在提示符的最后一个位置,记住给出一些关于预期完成的线索。

顺便说一句,这些类型的提问完成也可以通过openAI的新的指导模式来实现。

代码语言:javascript
复制
const prompt = `Answer the following question:
What is human life expectancy in the United States?
{}`
const response = await openai.createCompletion("text-davinci-001", {
    prompt: prompt,
    temperature: .7,
    max_tokens: 100,
    top_p: 1,
    frequency_penalty: 0,
    presence_penalty: 0,
    stop: ["{}"],
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70893330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档