SunDay-s commited on
Commit
50eac17
·
verified ·
1 Parent(s): 516b2a7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -7
app.py CHANGED
@@ -2,11 +2,15 @@ import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
 
5
- # Загрузка модели и токенизатора с фиксированной ревизией
6
  model_name = "deepseek-ai/DeepSeek-V3"
7
- revision = "main" # Замените на конкретную ревизию
8
- tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True, revision=revision)
9
- model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, revision=revision)
 
 
 
 
10
 
11
  # Системное сообщение
12
  system_message = (
@@ -20,11 +24,18 @@ def chat_with_model(message, history):
20
  full_prompt = f"{system_message}\n\nПользователь: {message}\nАссистент:"
21
 
22
  # Подготовка входных данных для модели
23
- inputs = tokenizer(full_prompt, return_tensors="pt")
24
 
25
- # Генерация ответа
26
  with torch.no_grad():
27
- outputs = model.generate(**inputs, max_length=200, num_return_sequences=1)
 
 
 
 
 
 
 
28
 
29
  # Декодирование ответа
30
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
 
5
+ # Загрузка модели и токенизатора с учетом FP8 и пользовательского кода
6
  model_name = "deepseek-ai/DeepSeek-V3"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
8
+ model = AutoModelForCausalLM.from_pretrained(
9
+ model_name,
10
+ trust_remote_code=True,
11
+ torch_dtype=torch.float8_e4m3fn, # Используем FP8 для совместимости
12
+ device_map="auto" # Автоматическое распределение по доступным GPU
13
+ )
14
 
15
  # Системное сообщение
16
  system_message = (
 
24
  full_prompt = f"{system_message}\n\nПользователь: {message}\nАссистент:"
25
 
26
  # Подготовка входных данных для модели
27
+ inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
28
 
29
+ # Генерация ответа с использованием Multi-Token Prediction (MTP)
30
  with torch.no_grad():
31
+ outputs = model.generate(
32
+ **inputs,
33
+ max_length=200, # Максимальная длина ответа
34
+ num_return_sequences=1, # Один ответ
35
+ temperature=0.7, # Контроль креативности
36
+ top_p=0.9, # Контроль разнообразия
37
+ do_sample=True # Включение сэмплирования
38
+ )
39
 
40
  # Декодирование ответа
41
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)