Как получить содержимое строки внутри ответа на запрос?
Я кодировал веб-приложение на основе 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 }