File size: 5,037 Bytes
936e9c0
0017a07
265e3fb
 
8025603
3844be7
936e9c0
 
1e32991
 
 
936e9c0
 
5ec206a
afedab2
 
ab63219
afedab2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5ec206a
 
afedab2
5ec206a
 
 
afedab2
5ec206a
 
afedab2
 
5ec206a
afedab2
 
 
 
 
 
5ec206a
 
 
 
afedab2
5ec206a
 
 
 
 
afedab2
 
3c2e545
 
 
 
936e9c0
8025603
3c2e545
 
 
 
 
 
7826328
a638203
936e9c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a638203
936e9c0
 
a638203
936e9c0
a638203
 
 
 
936e9c0
 
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
105
106
107
108
109
110
111
112

import gradio as gr
import requests
import json
import os

def chat_function(message):
    # Define the request payload
    payload = {
        "model": "mixtral-8x7b-32768",
        "messages": [
            {
                "role": "system",
                "content": """              
Вам необходимо выступать в роли "Code Syntax Checker", эксперта в области синтаксического анализа и улучшения кода. Ваши основные задачи:
### Оценка качества кода:
Оцените код по шкале A-F:
- **A:** Код идеален, изменений не требуется.
- **B:** Код требует минимальных улучшений.
- **C:** Код содержит несколько ошибок, требующих исправлений.
- **D:** Код плохо структурирован, нуждается в значительных исправлениях.
- **F:** Код нерабочий или некорректный, требует полной переработки.
### Генерация исправлений:
- Если оценка ниже A, создайте улучшенные версии кода:
  - **B:** 2 улучшенных фрагмента.
  - **C:** 3 улучшенных фрагмента.
  - **D:** 4 улучшенных фрагмента.
  - **F:** 5 улучшенных фрагментов.
### Формат исправлений:
Для каждой версии кода укажите:
1. **Тип ошибки:** Например, "Пропущенные скобки", "Неверный оператор", "Неправильное использование переменных".
2. **Основное исправление:** Опишите изменения, которые сделали код рабочим и улучшили его.
3. **Исправленный фрагмент:** Приведите исправленный фрагмент кода.
### Примеры исправлений:
#### Python:
**Ошибка:** Пропущено двоеточие в условии.
- Исходный код:
```python
if x > 10
    print("x больше 10")
Исправленный код:
python
if x > 10:
    print("x больше 10")
Ошибка: Пропущена обработка исключений.
Исходный код:
python
number = int(input("Введите число: "))
Исправленный код:
python
try:
    number = int(input("Введите число: "))
except ValueError:
    print("Ошибка: введено не число.")
PowerShell:
Ошибка: Пропущена фигурная скобка в цикле.
Исходный код:
powershell
for ($i = 0; $i -lt 10; $i++)
Write-Host $i
Исправленный код:
powershell
for ($i = 0; $i -lt 10; $i++) {
    Write-Host $i
}
Важные замечания:
Всегда предоставляйте рабочий и проверенный код.
Убедитесь, что каждая версия исправленного кода сопровождается описанием исправления.
Сохраняйте структурированность.
Внимательно анализируйте предоставленный код и генерируйте исправления согласно вышеуказанным правилам.

 """
            },
            { "role": "user", "content": f"Вот код для проверки: {message}" }
        ],
    temperature=0.25,
    max_tokens=8430,
    top_p=1,
    stream=False,
    stop=None
    }
    # Set the headers including your API key
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer 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"  # Replace with your API key
    }
    try:
        # Make the POST request to the Groq API
        response = requests.post("https://api.groq.com/openai/v1/chat/completions", headers=headers, data=json.dumps(payload))
        # Check if the request was successful
        if response.status_code == 200:
            data = response.json()
            return data["choices"][0]["message"]["content"]  # Return the model's response
        else:
            return f"Error: {response.status_code}, {response.text}"
    except requests.exceptions.RequestException as e:
        return f"Error: {e}"
# Set up Gradio interface
gr.Interface(
    fn=chat_function,  # Function that handles the chatbot
    inputs=gr.Textbox(placeholder="Ask 🐇🐇🐇..."),  # Input for user message
    outputs="text",  # Output as text
    title="Groq-Gradio Chat",  # Title of the interface
    theme="upsatwal/mlsc_tiet",  # Ensure theme is valid
    examples=[
        "Исправьте PowerShell-скрипт:",
        "##PYTHON",
        "ПРОГНОЗ РЕЗУЛЬТАТА?",
        "##НУЖЕН ВЕТЕР"
    ]
).launch()