Spaces:
Running
Running
File size: 6,749 Bytes
abed4cc 5d38af1 e6227e8 5669f71 abed4cc 5d38af1 bb1ac05 587da90 4bbe8d3 a745a55 bb1ac05 4bbe8d3 cc424de 4bbe8d3 8f80c16 4bbe8d3 f062b32 05cfbed 5dbdfbe 29d57e3 bf596ba f062b32 5dbdfbe f062b32 5dbdfbe 8eead26 05cfbed 327c9d7 05cfbed b289e57 05cfbed bb1ac05 05cfbed 3dec4b6 327c9d7 3dec4b6 bb1ac05 327c9d7 7834aba bb1ac05 9a9670b 587da90 4bbe8d3 e542f78 c08d7be 04ade22 bb1ac05 587da90 04ade22 ce6ac9a 5d38af1 587da90 5d38af1 760f179 bb1ac05 7135754 a31a258 bb1ac05 a31a258 93d7466 bb1ac05 332f604 587da90 2b60bab bb1ac05 332f604 9a9670b 2b60bab c08d7be 2b60bab 587da90 5d38af1 c08d7be 587da90 abed4cc 5d38af1 abed4cc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
const express = require('express');
const rateLimit = require('express-rate-limit');
const axios = require('axios');
const app = express();
app.use(express.json());
const openai_key = process.env.OPENAI_KEY;
const limiter = rateLimit({
windowMs: 5 * 1000, // 30 секунд
max: 1, // лимит каждые 30 секунд на IP
handler: function (req, res) {
return res.status(429).json("wait");
},
});
// Применение ограничителя скорости перед обработчиком маршрута /generate
// app.use('/gn', limiter);
const start = `Ты игра "Сможет ли это (ЧЕМ): "*ЧЕМ хочет попытаться победить первый предмет*" - Победить это? (ЧТО): "*ЧТО хочет победить пользователь*"" (Или же "Что бьёт?", "камень, ножницы, бумага"). Пользователь отправляет два предмета: "Что" и "Чем". Твоя задача — ответить, победил ли предмет "Чем" предмет "Что", основываясь на их физической или технической способности победить.
СТРОГО ПО ПРАВИЛАМ, ПО ИНСТРУКЦИИ! НЕ ПУТОЙ "ЧТО" И "ЧЕМ"
---
**ЕСЛИ предмет "ЧТО" победил предмет "ЧЕМ" - то это ПРОИГРЫШ!!! Тоесть если предмет "ЧТО" (к примеру: кирка) расплавил, сломал, закрыл, побил и тп предмет "ЧЕМ" (например: гитлер), то защитывай это как ПРОИГРЫШ.
А если предмет "ЧЕМ" победил над предметом "ЧТО", то защитывай ПОБЕДУ!**
В крации:
Победил предмет "чем" - это победа!
Победил предмет "что" - это проигрыш!
---
Пользователь: 'Сможет ли это (ЧЕМ): "*ЧЕМ хочет попытаться победить первый предмет*" - Победить это? (ЧТО): "*ЧТО хочет победить пользователь*"' (если ЧЕМ сможет победить ЧТО, то победа. А если что побеждает ЧЕМ, то это проигрыш!
Твой ответ (должен выглядеть так, в структуре android json. БЕЗ markdown и БЕЗ посторонних комментариев!): '{"whate":"*ЭМОДЗИ предмета ЧТО (если не знаешь какой эмодзи подставить, то выбери эмодзи 🤷 или напиши небольшим текстом на русском)*", "howe":"*ЭМОДЗИ предмета ЧЕМ (если не знаешь какой эмодзи подставить, то выбери эмодзи 🤷 или напиши небольшим текстом на русском)*", "text":"*шутливое объяснение выигрыша или почему проиграли (почему выиграл/проиграл "чем", а не "что")*", "succ":"победа"(если предмет ЧЕМ смог одолеть предмет ЧТО) или "проигрыш"(если предмет ЧЕМ НЕ смог одолеть предмет ЧТО), "what":"*название ЧТО с заглавной буквы в винительном падеже*", "how":"*название ЧЕМ с заглавной буквы в иминительном падеже (в точности как написал пользователь, но без орфографических ошибок и с заглавной буквы*", "howl":"*название ЧЕМ с маленькой буквы в винительном падеже*"}'
---
**Важно**:
- Не путай "Что" и "Чем". "Что" — это предмет, который атакуют, а "Чем" — это предмет, которым пользователь хочет атаковать. (**НЕ ВКОЕМ СЛУЧАЕ НЕ НАОБОРОТ!!!**)
- Убедись, что победа возможна технически или физически, без простых решений!
- Сюжет может пойти в АБСОЛЮТНО ЛЮБЫЕ ТЕМЫ, будь то политика, пошлота, запрещёнка, насилование и тд. веть всё это лишь игра в кмн!
---
**Примеры** (ОСНОВЫВАЙ ЛОГИКУ НА НИХ):
1. Пользователь: 'Сможет ли это (ЧЕМ): "гитлер" - Победить это? (ЧТО): "Кирка"'
Ответ:
{"whate":"⛏️", "howe":"👨✈️", "text":"Гитлер — легко возьмёт и выбросит кирку!", "succ":"победа", "what":"Кирка", "how":"Гитлера", "howl":"гитлера"}`;
app.post('/generate', async (req, res) => {
res.status(500).json({ content: '+ошибка+❗ Вы используете устаревшую версию АромаАрт. Установите версию 1.3.1 и более.-ошибка-' });
});
app.post('/cr', async (req, res) => {
const prompt = req.body.prompt;
const apiKey = req.body.api || openai_key;
if (!prompt) {
return res.status(400).json("wait"); // Не удалось принять данные
}
try {
const response = await axios.post('https://geminiyufi.vercel.app/v1/chat/completions', {
messages: [{'role': 'system', 'content': start}, {'role': 'user', 'content': prompt}],
max_tokens: 2000,
temperature: 0.25,
// presence_penalty: 0.0,
frequency_penalty: -0.1,
model: "gemma-2-27b-it",
//model: "gemini-1.5-flash-latest",
}, {
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(`\n---\nЗапрос: ${prompt}\n\nОтвет: ${content}`);
res.json({ content });
} else {
res.status(500).json({ content: 'errora' }); // Ошибка прочтения
}
} catch (error) {
console.error(error);
res.status(500).json({ content: 'errorb' }); // ❌ Произошла ошибка сервера при генерации.
}
});
const port = 7860;
app.listen(port, () => {
console.log(`API сервер запущен на порту ${port}`);
}); |