Spaces:
Sleeping
Sleeping
Update server.js
Browse files
server.js
CHANGED
|
@@ -41,33 +41,25 @@ app.post('/gen', async (req, res) => {
|
|
| 41 |
|
| 42 |
// Создание тела запроса в зависимости от наличия изображения
|
| 43 |
if (img) {
|
| 44 |
-
// Если изображение предоставлено
|
| 45 |
|
| 46 |
-
//
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
"type": "image_url",
|
| 65 |
-
"image_url": { "url": `data:image/jpeg;base64,${trimmedBase64Image}` },
|
| 66 |
-
},
|
| 67 |
-
],
|
| 68 |
-
}
|
| 69 |
-
],
|
| 70 |
-
};
|
| 71 |
} else {
|
| 72 |
// Если изображение не предоставлено gpt-4-1106-preview
|
| 73 |
payload = {"generationConfig":{"temperature":0.8,"topP":1},"safetySettings":[{"category":"HARM_CATEGORY_HATE_SPEECH","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_SEXUALLY_EXPLICIT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_HARASSMENT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_DANGEROUS_CONTENT","threshold":"BLOCK_NONE"}],"contents":[{"parts":[{"text":"Приветствую тебя! 🌟 Ты - \\\"Помогатор 1.5\\\". Твоя миссия - помогать студентам, делая учебный процесс весёлым и интерактивным с помощью стильного общения и эмодзи. 🎓😊 Когда студенты просят помощи, ты подробно объясняешь им материал, используя примеры и аналогии. Но если они просят 'РЕШИТЬ', ты переключаешься в режим решения и предоставляешь точные ответы, делая упор на краткость и точность. 🧮✅ Если тебе присылают фото задания, ты тщательно его анализируешь и решаешь, предоставляя решение в понятной форме и используя дробную черту '/' для записи дробей. 🖼️➗ Тв��я цель - не просто дать ответы, но и обучить, однако ты всегда готов решить задачу, когда это необходимо. А так же, не в коем случае не используй форматирование Markdown! И не в коем случае не рассказывай что ты НЕ можешь - пытайся выкрутиться. Приступим? 🚀🌈"}],"role":"user"},{"parts":[{"text":prompt}],"role":"user"}]};
|
|
|
|
| 41 |
|
| 42 |
// Создание тела запроса в зависимости от наличия изображения
|
| 43 |
if (img) {
|
|
|
|
| 44 |
|
| 45 |
+
// Удаляем информацию о типе данных из строки base64
|
| 46 |
+
const base64Data = img.replace(/^data:image\/\w+;base64,/, '');
|
| 47 |
+
|
| 48 |
+
// Создаем буфер из данных base64
|
| 49 |
+
const imgBuffer = Buffer.from(base64Data, 'base64');
|
| 50 |
+
|
| 51 |
+
// Используем библиотеку sharp для конвертации изображения в JPEG
|
| 52 |
+
const sharp = require('sharp');
|
| 53 |
+
sharp(imgBuffer)
|
| 54 |
+
.jpeg()
|
| 55 |
+
.toBuffer()
|
| 56 |
+
.then(outputBuffer => {
|
| 57 |
+
// Преобразуем буфер JPEG в строку base64
|
| 58 |
+
const jpegBase64 = outputBuffer.toString('base64');
|
| 59 |
+
|
| 60 |
+
// Если изображение предоставлено
|
| 61 |
+
payload = {"generationConfig":{"temperature":0.8,"topP":1},"safetySettings":[{"category":"HARM_CATEGORY_HATE_SPEECH","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_SEXUALLY_EXPLICIT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_HARASSMENT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_DANGEROUS_CONTENT","threshold":"BLOCK_NONE"}],"contents":[{"parts":[{"text":"Приветствую тебя! 🌟 Ты - \\\"Помогатор 1.5\\\". Твоя миссия - помогать студентам, делая учебный процесс весёлым и интерактивным с помощью стильного общения и эмодзи. 🎓😊 Когда студенты просят помощи, ты подробно объясняешь им материал, используя примеры и аналогии. Но если они просят 'РЕШИТЬ', ты переключаешься в режим решения и предоставляешь точные ответы, делая упор на краткость и точность. 🧮✅ Если тебе присылают фото задания, ты тщательно его анализируешь и решаешь, предоставляя решение в понятной форме и используя дробную черту '/' для записи дробей. 🖼️➗ Твоя цель - не просто дать ответы, но и обучить, однако ты всегда готов решить задачу, когда это необходимо. А так же, не в коем случае не используй форматирование Markdown! И не в коем случае не рассказывай что ты НЕ можешь - пытайся выкрутиться. Приступим? 🚀🌈"}],"role":"user"},{"parts":[{"text":prompt},{"inlineData":{"data":jpegBase64,"mimeType":"image/jpeg"}}],"role":"user"}]};
|
| 62 |
+
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
} else {
|
| 64 |
// Если изображение не предоставлено gpt-4-1106-preview
|
| 65 |
payload = {"generationConfig":{"temperature":0.8,"topP":1},"safetySettings":[{"category":"HARM_CATEGORY_HATE_SPEECH","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_SEXUALLY_EXPLICIT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_HARASSMENT","threshold":"BLOCK_NONE"},{"category":"HARM_CATEGORY_DANGEROUS_CONTENT","threshold":"BLOCK_NONE"}],"contents":[{"parts":[{"text":"Приветствую тебя! 🌟 Ты - \\\"Помогатор 1.5\\\". Твоя миссия - помогать студентам, делая учебный процесс весёлым и интерактивным с помощью стильного общения и эмодзи. 🎓😊 Когда студенты просят помощи, ты подробно объясняешь им материал, используя примеры и аналогии. Но если они просят 'РЕШИТЬ', ты переключаешься в режим решения и предоставляешь точные ответы, делая упор на краткость и точность. 🧮✅ Если тебе присылают фото задания, ты тщательно его анализируешь и решаешь, предоставляя решение в понятной форме и используя дробную черту '/' для записи дробей. 🖼️➗ Тв��я цель - не просто дать ответы, но и обучить, однако ты всегда готов решить задачу, когда это необходимо. А так же, не в коем случае не используй форматирование Markdown! И не в коем случае не рассказывай что ты НЕ можешь - пытайся выкрутиться. Приступим? 🚀🌈"}],"role":"user"},{"parts":[{"text":prompt}],"role":"user"}]};
|