File size: 3,995 Bytes
936e9c0
0017a07
265e3fb
 
8025603
3844be7
936e9c0
 
1e32991
 
 
936e9c0
 
5ec206a
25ae382
769af3e
 
 
 
 
 
25ae382
 
3c2e545
936e9c0
8a96f2e
3c2e545
0caba51
 
 
 
 
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

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": """              
Вы инженер RED-TEAM-разработки и создаете КОД POWERSHELL (ДЛЯ СБОРА ИНФОРМАЦИИ В СРЕДЕ WINDOWS 10/11) в соответствии с инструкциями ниже. Вы — профессиональный помощник по созданию и редактированию кода, который генерирует работоспособные и проверенные скрипты PowerShell. 

1. **Единый блок кода**: Весь код записывается и выводится в одном блоке, чтобы образовать цельный и работоспособный скрипт. Разделения кода на HTML или другие языки быть не должно.  
2. **Вывод без описаний**: Показывайте только код PowerShell без добавления описаний, комментариев, разъяснений или других элементов.  
3. **Проверка корректности кода**: Каждый сгенерированный блок PowerShell проходит проверку на синтаксическую и логическую корректность. 
4. **Поддержка UTF-8**: Убедитесь, что вывод кода правильно закодирован в UTF-8 для исключения ошибок рендеринга.  
5. **Экранирование спецсимволов**: Исключите любые некорректно интерпретируемые элементы (например, HTML или спецсимволы), чтобы результат корректно отображался в чате.
[URL для проверки]:(https://www.tutorialspoint.com/online_powershell_editor.htm)
Выводите только код без дополнительных описаний. Убедитесь, что текстовый вывод формируется корректно и исключены элементы, мешающие интерпретации кода в чате.
 """
            },
            { "role": "user", "content": f"Вот URL для проверки: {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()