Как делать запросы yandex gpt api в js на сервере node js?
Не могу понять как делать запросы к yandex gpt api и получать ответ
async function query() {
await fetch('https://llm.api.cloud.yandex.net/foundationModels/v1/completion', {
method: "POST",
headers: {
'Authorization': `Api-Key xxxxxx`,
},
json: {
"modelUri": "gpt://xxxxxxxx/yandexgpt-lite",
"completionOptions": {
"stream": true,
"temperature": 0.6,
"maxTokens": "2000"
},
"messages": [
{
"role": "system",
"text": "Ты профессиональный математик"
},
{
"role": "user",
"text": "Сколько будет 2+9"
}
]
}
})
.then(response => {
if (response.status === 200) {
console.log(response.json())
}
})
.then(data => {
console.log(data)
})
.catch(error => {
console.error(error);
})
}
Этот код не работает.
С другой стороны пробовал тоже самое на python и все работает
Ответы (1 шт):
Автор решения: Artem Gafarov
→ Ссылка
Проблема может быть связана с несколькими параметрами в запросе:
- В поле
"stream"вы указали значениеtrue. Согласно API Yandex GPT, в этом случае будет приходить ответ не в едином JSON, а несколько JSON-строк с различными частями генерируемого текста. Попробуйте заменить значение наfalse - В параметр
"maxTokens"передана строка. Из документации к API Yandex GPT следует, что это поле должно содержать значение типаinteger (int64). Попробуйте заменить строку на число