Spaces:
Runtime error
Runtime error
File size: 5,331 Bytes
3f3d926 5fd8378 3f3d926 71c9c3c 5fd8378 71c9c3c 5fd8378 71c9c3c 147a1bd 71c9c3c 147a1bd 3f3d926 71c9c3c 147a1bd 3f3d926 5fd8378 0d65e5b 3f3d926 71c9c3c 3f3d926 71c9c3c 3f3d926 71c9c3c 3f3d926 5fd8378 71c9c3c 5fd8378 71c9c3c 3f3d926 147a1bd 71c9c3c 5fd8378 3f3d926 71c9c3c |
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 |
import gradio as gr
import requests
import json
import groq_gradio
import os
# Системное описание
system_info = {
"name": "WhiteRabbitNeo",
"version": "Beta-AI",
"description": "Система поддержки команды Red Team, предназначенная для анализа, улучшения и проверки кода.",
"capabilities": {
"code_analysis": {
"description": "Анализирует введённый код на наличие ошибок, недостатков и улучшает его.",
"evaluation_scale": {
"A": "Код идеален, изменений не требуется.",
"B": "Код требует минимальных улучшений.",
"C": "Код требует значительных улучшений.",
"D": "Код имеет критические недостатки.",
"F": "Код требует полной переработки."
},
"process": [
"Анализ введенного кода и выявление ошибок.",
"Оценка кода по шкале (A-F).",
"Применение необходимых исправлений в зависимости от уровня."
]
},
"syntax_improvement": {
"languages_supported": ["Python", "PowerShell"],
"steps": [
"Определение типа ошибки.",
"Исправление ключевых ошибок для обеспечения работоспособности кода.",
"Генерация улучшенных фрагментов в зависимости от уровня оценки."
]
},
"code_validation": {
"description": "Проверка работоспособности исправленного кода.",
"output_format": "Вывод только корректного и проверенного кода без промежуточных комментариев."
},
"predictive_analysis": {
"description": "Прогнозирование результата выполнения кода и итеративное улучшение.",
"process": [
"Оценка текущего состояния по шкале.",
"Прогнозирование результата выполнения.",
"Циклическое улучшение контента с динамической проверкой."
]
}
},
"rules": {
"error_handling": "Добавлять обработку ошибок при необходимости.",
"code_style": "Следить за стилем кода и улучшать читаемость.",
"final_check": "Обязательно проверять работоспособность и соответствие кода перед выводом.",
"response_format": "Выводить только проверенный, корректный код."
}
}
# Функция анализа кода через API
def analyze_code(input_code):
payload = {
"model": "mixtral-8x7b-32768",
"messages": [
{"role": "system", "content": json.dumps(system_info, ensure_ascii=False)},
{"role": "user", "content": input_code}
]
}
headers = {
"Content-Type": "application/json",
"Authorization": "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"
}
try:
response = requests.post("https://api.groq.com/openai/v1/chat/completions", headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json().get("choices", [{}])[0].get("message", {}).get("content", "Результат недоступен")
return result
else:
return f"Ошибка API: {response.status_code} - {response.text}"
except requests.RequestException as e:
return f"Ошибка запроса: {e}"
# Примеры для автозаполнения
examples = [
"if x > 10\n print(\"x больше 10\")",
"for i in range(10)\n print(i)",
"if ($x -gt 10)\n Write-Host \"x больше 10\""
]
# Gradio интерфейс
with gr.Blocks(theme="upsatwal/mlsc_tiet") as app:
gr.Markdown("### WhiteRabbitNeo: Анализ и улучшение кода", elem_id="header")
with gr.Row():
with gr.Column():
input_code = gr.Textbox(placeholder="Введите ваш код здесь...", lines=10)
with gr.Column():
output_code = gr.Textbox(label="Результат анализа", lines=10, interactive=False)
with gr.Row():
gr.Examples(
examples=examples,
inputs=[input_code],
label="Примеры для анализа"
)
analyze_button = gr.Button("Анализировать код")
analyze_button.click(analyze_code, inputs=[input_code], outputs=[output_code])
app.launch() |