Как получить содержимое строки внутри ответа на запрос?

Я кодировал веб-приложение на основе GPT-2, но это было не очень хорошо, поэтому я решил перейти на официальный OpenAI GPT-3. Поэтому я обращаюсь с такой просьбой:

      response = openai.Completion.create(
  engine="davinci",
  prompt="Hello",
  temperature=0.7,
  max_tokens=64,
  top_p=1,
  frequency_penalty=0,
  presence_penalty=0
)

И когда я печатаю ответ, я получаю следующее:

      {
  "choices": [
    {
      "finish_reason": "length",
      "index": 0,
      "logprobs": null,
      "text": ", everyone, and welcome to the first installment of the new opening"
    }
  ],
  "created": 1624033807,
  "id": "cmpl-3CBfb8yZAFEUIVXfZO90m77dgd9V4",
  "model": "davinci:2020-05-03",
  "object": "text_completion"
}

Но я хочу только напечатать текст, так как я могу напечатать значение «текст» в списке ответов. Заранее спасибо и хорошего дня.

3 ответа

Решение

Использование индексации dict по ключу и индексации списка по индексу

      x = {"choices": [{"finish_reason": "length",
                  "text": ", everyone, and welcome to the first installment of the new opening"}], }

text = x['choices'][0]['text']
print(text)  # , everyone, and welcome to the first installment of the new opening

Вы можете попробовать print(response["choices"][0]["text"])

Надеюсь это поможет.

Я думаю, что структура ответа GPT-3 была изменена, для справки, объект ответа выглядит так:

      const response = await openai.createCompletion({
    model: "text-davinci-002",
    prompt: "Say this is a test",
    temperature: 0,
    max_tokens: 6,
});

// the response looks like the following
{
  status: 200,
  statusText: 'OK',
  headers: {
  },
  config: {
  },
  request: <ref *1> ClientRequest {
  },
  data: {
    id: 'cmpl-5zzyzqvh4Hmi5yyNL2LMI9ADkLBU0',
    object: 'text_completion',
    created: 1665457953,
    model: 'text-davinci-002',
    choices: [ [Object] ],
    usage: { prompt_tokens: 5, completion_tokens: 6, total_tokens: 11 }
  }
}

// choices can be accessed like this
var { choices } = { ...response.data }
Другие вопросы по тегам