El-Alberto67 commited on
Commit
261029f
·
verified ·
1 Parent(s): 109659f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -12
app.py CHANGED
@@ -1,31 +1,39 @@
1
- import os
2
  import gradio as gr
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
4
  import torch
 
5
 
6
- # Token Hugging Face stocké dans les secrets
7
- hf_token = os.getenv("HF_TOKEN")
8
 
9
- # Modèle réel et rapide
10
- model_name = "TheBloke/Guanaco-3B-Uncensored-v2-GPTQ"
11
 
12
- # Charger tokenizer et modèle avec le token
13
- tokenizer = AutoTokenizer.from_pretrained(model_name, token=hf_token)
14
  model = AutoModelForCausalLM.from_pretrained(
15
  model_name,
16
- torch_dtype=torch.float16,
17
- device_map="auto",
18
- token=hf_token
19
  )
20
 
21
  # Prompt système pour Aria
22
- system_prompt = """Tu es Aria, une IA bienveillante et concise."""
23
 
24
  def chat(message, history=[]):
 
25
  prompt = system_prompt + "\n" + "\n".join([f"Utilisateur: {m[0]}\nAria: {m[1]}" for m in history]) + f"\nUtilisateur: {message}\nAria:"
 
26
  inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
27
- outputs = model.generate(**inputs, max_new_tokens=150)
 
 
 
 
 
28
  reply = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
29
  reply = reply.split("Aria:")[-1].strip()
30
  history.append((message, reply))
31
  return reply, history
 
 
1
  import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
  import torch
4
+ import os
5
 
6
+ # Récupérer le token Hugging Face (secret)
7
+ hf_token = os.environ.get("HF_TOKEN")
8
 
9
+ # Nom du modèle léger et rapide
10
+ model_name = "tiiuae/gemma-2b"
11
 
12
+ # Charger le tokenizer et le modèle
13
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=hf_token)
14
  model = AutoModelForCausalLM.from_pretrained(
15
  model_name,
16
+ torch_dtype=torch.float16, # moins lourd
17
+ device_map="auto", # utilise GPU si dispo sinon CPU
18
+ use_auth_token=hf_token
19
  )
20
 
21
  # Prompt système pour Aria
22
+ system_prompt = """Tu es Aria, une IA bienveillante et polie qui répond de façon concise et claire."""
23
 
24
  def chat(message, history=[]):
25
+ # Construire le prompt complet avec historique
26
  prompt = system_prompt + "\n" + "\n".join([f"Utilisateur: {m[0]}\nAria: {m[1]}" for m in history]) + f"\nUtilisateur: {message}\nAria:"
27
+
28
  inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
29
+ outputs = model.generate(
30
+ **inputs,
31
+ max_new_tokens=200,
32
+ do_sample=True, # rend les réponses plus naturelles
33
+ temperature=0.7
34
+ )
35
  reply = tokenizer.decode(outputs[0], skip_special_tokens=True)
36
+ # Récupérer uniquement la réponse d'Aria
37
  reply = reply.split("Aria:")[-1].strip()
38
  history.append((message, reply))
39
  return reply, history