Запит до OpenAI
Крок 1. Створення запиту у середовищі Node Red.
У середовищі Node Red створюємо endpoint, який зробить запит до OpenAI API та поверне нам посилання на зображення.
Знадобляться вузли:
- http in( метод POST);
- function. У тілі функції вказуємо всі необхіні дані для того, щоб зробити запит до openAI. Спершу необхідно зареєструватися на сайті openAI. Після цього зайдіть в свій акаутн та створіть власний ключ.
Обов'язково ознайомтеся з документацією!
Замість YOUR_API_KEY у функції вставте власний ключ. Решта налаштувань залишається без зміни.
msg.token = `Bearer YOUR_API_KEY`
msg.oldpayload=msg.payload;
msg.url=`https://api.openai.com/v1/images/generations`;
msg.method="POST";
msg.headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
msg.payload={
"prompt": msg.oldpayload.content,
"n": msg.oldpayload.count,
"size":"512x512"
}
return msg;
- http request. Method -set by msg.method-. URL - не пишемо. Вказуємо, що повернути треба parsed JSON object.
- function. Перевіряємо, який status code отримали. Якщо 200, то зберагіємо час, коли отримали дані(date), записуємо час, коли посилання буде недійсне(expireTime). До кожного об'єкта додаємо: текст, на основі якого ми отримали дані зображення (msg.oldpayload.content), дату створення та час, коли посилання буде недійсне. Якщо status code інший - повертаємо помилку.
if (msg.statusCode==200){ var date = new Date(); var expireTime = new Date(Date.now() + (1 * 60 * 60 * 1000)); msg.payload=msg.payload.data.map((el)=>{return{ img: el.url, text: msg.oldpayload.content, date: date, expireTime: expireTime, }}) } else{ msg.payload = msg.payload.error.message; } return msg;
- http response
Ось такий вигляд має весь endpoint:
Крок 2. UI частина
Створюємо API, яка викликає створeний нами endpoint.
Шлях до флову містить:
У тілі передаємо значення з віджетів input та slider.
API викликається при кліці на кнопку.
Дані, які API повертає має відображати віджет carousel. Значення віджету visibleSlides впишіть на ваш розсуд (на прикладі 4).
Важливо: віджет каруселі відображає ті зображення, які записані під ключем "img".
Очікуваний результат:
No Comments