igor04091968 commited on
Commit
c12de22
·
1 Parent(s): bb7be5b

Fix file structure

Browse files
home/rachkovii68/huggingface_ai_admin/README.md → README.md RENAMED
File without changes
home/rachkovii68/huggingface_ai_admin/Dockerfile DELETED
@@ -1,21 +0,0 @@
1
- # Используем официальный образ Python
2
- FROM python:3.10-slim
3
-
4
- # Устанавливаем рабочую директорию
5
- WORKDIR /app
6
-
7
- # Копируем файл с зависимостями
8
- COPY requirements.txt .
9
-
10
- # Устанавливаем зависимости
11
- RUN pip install --no-cache-dir -r requirements.txt
12
-
13
- # Копируем все файлы приложения
14
- COPY . .
15
-
16
- # Открываем порт, который использует Gradio
17
- EXPOSE 7860
18
-
19
- # Запускаем приложение. Флаг --share создает публичную ссылку (полезно для тестов).
20
- # Для Hugging Face Spaces он не обязателен, но не мешает.
21
- CMD ["gradio", "app.py", "--server_name", "0.0.0.0"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
home/rachkovii68/huggingface_ai_admin/app.py DELETED
@@ -1,98 +0,0 @@
1
- import gradio as gr
2
- from huggingface_hub import InferenceClient
3
- import os
4
-
5
- # Системный промпт для настройки поведения модели
6
- SYSTEM_PROMPT = """
7
- You are a world-class expert in Linux system administration.
8
- Your task is to convert a user's request in natural language into a SINGLE, executable shell command.
9
- - Do NOT provide any explanation.
10
- - Do NOT use markdown or any other formatting.
11
- - Do NOT suggest multiple options.
12
- - Just return the raw command, ready to be executed.
13
-
14
- Example:
15
- User: list all running docker containers
16
- You: docker ps
17
- """
18
-
19
- # Используем модель Meta Llama 3 70B - одна из лучших на данный момент
20
- MODEL = "meta-llama/Meta-Llama-3-70B-Instruct"
21
-
22
- def generate_command(user_request, hf_token):
23
- """
24
- Обращается к Hugging Face Inference API для генерации команды.
25
- """
26
- if not user_request:
27
- return "Ошибка: Запрос не может быть пустым."
28
- if not hf_token:
29
- return "Ошибка: Hugging Face Token не может быть пустым. Его можно получить в настройках вашего профиля Hugging Face."
30
-
31
- try:
32
- client = InferenceClient(model=MODEL, token=hf_token)
33
-
34
- # Формируем сообщения для модели
35
- messages = [
36
- {"role": "system", "content": SYSTEM_PROMPT},
37
- {"role": "user", "content": user_request},
38
- ]
39
-
40
- # Выполняем запрос к API
41
- response = client.chat_completion(
42
- messages=messages,
43
- max_tokens=200,
44
- temperature=0.1, # Низкая температура для более предсказуемых и точных команд
45
- )
46
-
47
- command = response.choices[0].message.content.strip()
48
-
49
- # Дополнительная очистка, чтобы убрать возможные артефакты
50
- if command.startswith("`") and command.endswith("`"):
51
- command = command[1:-1]
52
- if command.startswith("bash\n"):
53
- command = command.replace("bash\n", "", 1)
54
-
55
- return command
56
-
57
- except Exception as e:
58
- # Возвращаем более детальную ошибку для отладки
59
- return f"Произошла ошибка API: {str(e)}"
60
-
61
- # Создаем интерфейс Gradio
62
- with gr.Blocks() as demo:
63
- gr.Markdown(
64
- """
65
- # 🤖 AI System Administrator Assistant
66
- Введите ваш запрос на естественном языке, и ИИ преобразует его в готовую к выполнению shell-команду.
67
- **Внимание:** Этот инструмент — ваш помощник. Всегда проверяйте предложенные команды перед выполнением в реальной системе.
68
- """
69
- )
70
-
71
- hf_token_input = gr.Textbox(
72
- label="Hugging Face User Access Token",
73
- placeholder="Введите ваш токен HF (начинается с hf_...)",
74
- type="password",
75
- info="Нужен для доступа к API. Можно создать в Settings -> Access Tokens вашего профиля."
76
- )
77
-
78
- user_input = gr.Textbox(label="Ваш запрос", placeholder="Например: 'покажи все файлы в текущей папке, отсортированные по размеру'")
79
-
80
- generate_button = gr.Button("Сгенерировать команду")
81
-
82
- output_command = gr.Textbox(label="Предложенная команда", interactive=False, lines=3)
83
-
84
- generate_button.click(
85
- fn=generate_command,
86
- inputs=[user_input, hf_token_input],
87
- outputs=output_command
88
- )
89
-
90
- gr.Markdown(
91
- """
92
- ---
93
- *Модель, используемая для генерации: `meta-llama/Meta-Llama-3-70B-Instruct`.*
94
- """
95
- )
96
-
97
- if __name__ == "__main__":
98
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
home/rachkovii68/huggingface_ai_admin/requirements.txt DELETED
@@ -1,2 +0,0 @@
1
- gradio
2
- huggingface_hub