File size: 1,916 Bytes
abed4cc
d9c17f2
abed4cc
d9c17f2
 
a0a4e09
55f0cda
a0a4e09
d9c17f2
 
38033f0
54d7e71
f8f2c0f
 
 
660b1fd
f8f2c0f
660b1fd
3d37214
 
660b1fd
 
0cbae74
 
 
 
660b1fd
0cbae74
660b1fd
b77a0d2
a6f9ea4
b605570
 
b77a0d2
 
b605570
b77a0d2
 
 
 
0cbae74
660b1fd
 
54d7e71
38033f0
a0a4e09
d9c17f2
 
 
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
const express = require('express');
const axios = require('axios');
const app = express();
const PORT = process.env.PORT || 7860;
const apiToken = process.env.API_KEY;

app.use(express.json());

app.post('/chat', async (req, res) => {
    const { messages, temperature, max_tokens } = req.body;

    try {
        // Преобразуем массив сообщений в одну строку
        const inputText = messages.map(msg => msg.content).join('\n');

        const response = await axios.post('https://api-inference.huggingface.co/models/codellama/CodeLlama-34b-Instruct-hf', {
            inputs: inputText,
            parameters: {
                temperature: parseFloat(temperature) || 0.7,
                max_new_tokens: parseInt(max_tokens) || 100
            }
        }, {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${apiToken}`
            }
        });

        const data = response.data;
        console.log("Response data:", data); // Логируем весь ответ

        // Извлекаем сгенерированный текст
        const generatedText = data.generated_text;

        if (generatedText) {
            res.send(generatedText);
        } else {
            console.error("No generated text found in response:", data);
            res.status(500).json({ error: 'Не удалось получить сгенерированный текст из ответа API' });
        }
    } catch (error) {
        console.error("Error during text generation:", error.response ? error.response.data : error.message);
        res.status(500).json({ error: `Произошла ошибка при генерации текста: ${error.response ? error.response.data : error.message}` });
    }
});

app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});