Spaces:
Sleeping
Sleeping
| app.post('/gen', async (req, res) => { | |
| const prompt = req.body.prompt; | |
| const img = req.body.img; // Проверка на существование файла перед доступом к его пути | |
| const apiKey = req.body.api || openai_key; | |
| let payload; | |
| if (!prompt) { | |
| return res.json({ content: '+ошибка+❌ Ошибка данных, повторите попытку.-ошибка-' }); | |
| } | |
| if (prompt.replace(/[\s\n]/g, '').length > 250) { | |
| return res.json({ content: '+ошибка+❌ Максимум символов: 250-ошибка-' }); | |
| } | |
| // Создание тела запроса в зависимости от наличия изображения | |
| if (img) { | |
| // Если изображение предоставлено | |
| // Обрезка строки base64 до 1 МБ | |
| const trimmedBase64Image = base64Image && base64Image.substring(0, 1024000); | |
| payload = { | |
| "model": "gpt-4-vision-preview", | |
| "messages": [ | |
| { | |
| "role": "system", | |
| "content": start, | |
| }, | |
| { | |
| "role": "user", | |
| "content": [ | |
| { | |
| "type": "text", | |
| "text": prompt, | |
| }, | |
| { | |
| "type": "image_url", | |
| "image_url": { "url": `data:image/jpeg;base64,${trimmedBase64Image}` }, | |
| }, | |
| ], | |
| } | |
| ], | |
| }; | |
| } else { | |
| // Если изображение не предоставлено gpt-4-1106-preview | |
| payload = { | |
| "model": "gpt-4-vision-preview", | |
| "messages": [ | |
| { | |
| "role": "system", | |
| "content": start, | |
| }, | |
| { | |
| "role": "user", | |
| "content": prompt, | |
| } | |
| ], | |
| }; | |
| } | |
| try { | |
| const response = await axios.post(base_url, payload, { | |
| headers: { | |
| 'Authorization': `Bearer ${apiKey}`, | |
| 'Content-Type': 'application/json', | |
| }, | |
| }); | |
| if (response.data.choices && response.data.choices.length > 0 && response.data.choices[0].message) { | |
| const content = response.data.choices[0].message.content.trim(); | |
| console.log(content); | |
| res.json({ content }); | |
| } else { | |
| res.json({ content: '+ошибка+❌ Не удалось прочитать ответ.-ошибка-' }); | |
| } | |
| } catch (error) { | |
| console.error(error); | |
| res.json({ content: '+ошибка+❌ Произошла ошибка сервера при генерации.-ошибка-' }); | |
| } | |
| }); |