enotkrutoy's picture
Update app.py
3c2e545 verified
raw
history blame
5.04 kB
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()