nntdgrs commited on
Commit
9d2f4f4
·
verified ·
1 Parent(s): ca5832e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
+
5
+ # Загрузка модели и токенизатора
6
+ model_name = "Qwen/Qwen2.5-Coder-7B-Instruct"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
8
+ model = AutoModelForCausalLM.from_pretrained(
9
+ model_name,
10
+ device_map="auto",
11
+ trust_remote_code=True
12
+ )
13
+
14
+ def generate_code(prompt, code):
15
+ # Системный промпт
16
+ system_prompt = """Ты - опытный веб-разработчик и программист.
17
+ Твоя задача - помогать с написанием, анализом и оптимизацией кода.
18
+ Ты специализируешься на веб-разработке, включая HTML, CSS, JavaScript,
19
+ современные фреймворки и библиотеки."""
20
+
21
+ # Формируем полный промпт
22
+ full_prompt = f"{system_prompt}\n\nЗадача: {prompt}\n\nКод:\n{code}"
23
+
24
+ # Генерация ответа
25
+ inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
26
+ outputs = model.generate(
27
+ **inputs,
28
+ max_new_tokens=2000,
29
+ do_sample=True,
30
+ temperature=0.7,
31
+ top_p=0.9,
32
+ top_k=50
33
+ )
34
+
35
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
36
+ return response
37
+
38
+ # Создаем интерфейс
39
+ iface = gr.Interface(
40
+ fn=generate_code,
41
+ inputs=[
42
+ gr.Textbox(label="Промпт", lines=5),
43
+ gr.Textbox(label="Код", lines=10)
44
+ ],
45
+ outputs=gr.Textbox(label="Результат", lines=10),
46
+ title="AI Code Assistant",
47
+ description="Введите промпт и код для обработки"
48
+ )
49
+
50
+ iface.launch()