GueuleDange commited on
Commit
395baf7
·
verified ·
1 Parent(s): 44f4f82

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -33
app.py CHANGED
@@ -1,48 +1,59 @@
1
  import gradio as gr
2
- import torch
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
4
 
5
- # Nom de ton modèle sur Hugging Face
6
- MODEL_NAME = "GueuleDange/UnloTeach" # Remplace par ton modèle
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
- # Charger le tokenizer et le modèle
9
- tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
10
- model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, torch_dtype=torch.float32)
 
 
 
 
 
11
 
12
- # Fonction de génération de texte
13
- def chat_with_model(prompt, max_length=200, temperature=0.7):
14
- inputs = tokenizer(prompt, return_tensors="pt")
15
- with torch.no_grad():
16
- outputs = model.generate(
17
- inputs.input_ids,
18
- max_length=max_length,
19
- temperature=temperature
20
- )
21
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
22
  return response
23
 
24
- # Interface Gradio
25
  with gr.Blocks() as demo:
26
- gr.Markdown("# 🚀 Chatbot basé sur ton modèle Hugging Face")
27
 
28
  with gr.Row():
29
- input_text = gr.Textbox(label="💬 Entrée", placeholder="Écris ton message ici...")
30
-
31
- with gr.Row():
32
- output_text = gr.Textbox(label="🤖 Réponse du modèle")
33
-
34
- with gr.Row():
35
- max_length = gr.Slider(50, 500, value=200, step=10, label="Max Tokens")
36
- temperature = gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="Température")
37
-
38
- submit_button = gr.Button("Envoyer")
39
-
40
  submit_button.click(
41
- chat_with_model,
42
- inputs=[input_text, max_length, temperature],
43
- outputs=output_text
44
  )
45
 
46
  # Lancer l'application
47
- if __name__ == "__main__":
48
- demo.launch()
 
1
  import gradio as gr
 
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
 
5
+ # Charger le modèle et le tokenizer depuis Hugging Face
6
+ model_name = "GueuleDange/UnloTeach" # Remplacez par le nom de votre modèle
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+
10
+ # Définir une fonction pour interagir avec le modèle
11
+ def generate_text(prompt, max_tokens=100, temperature=0.7, top_p=0.95):
12
+ """
13
+ Génère une réponse à partir du modèle.
14
+ :param prompt: Le texte d'entrée.
15
+ :param max_tokens: Le nombre maximum de tokens à générer.
16
+ :param temperature: Le paramètre de température pour la génération.
17
+ :param top_p: Le paramètre de top-p (nucleus sampling).
18
+ :return: La réponse générée par le modèle.
19
+ """
20
+ # Encoder l'entrée
21
+ inputs = tokenizer(prompt, return_tensors="pt")
22
 
23
+ # Générer la réponse
24
+ outputs = model.generate(
25
+ inputs.input_ids,
26
+ max_length=max_tokens,
27
+ temperature=temperature,
28
+ top_p=top_p,
29
+ do_sample=True,
30
+ )
31
 
32
+ # Décoder la réponse
 
 
 
 
 
 
 
 
33
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
34
  return response
35
 
36
+ # Créer l'interface Gradio
37
  with gr.Blocks() as demo:
38
+ gr.Markdown("# Interface pour interagir avec votre modèle")
39
 
40
  with gr.Row():
41
+ with gr.Column():
42
+ input_text = gr.Textbox(label="Entrez votre message", placeholder="Posez une question ou écrivez quelque chose...")
43
+ max_tokens = gr.Slider(minimum=10, maximum=500, value=100, step=10, label="Nombre maximum de tokens")
44
+ temperature = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Température")
45
+ top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)")
46
+ submit_button = gr.Button("Générer")
47
+
48
+ with gr.Column():
49
+ output_text = gr.Textbox(label="Réponse du modèle", interactive=False)
50
+
51
+ # Lier la fonction à l'interface
52
  submit_button.click(
53
+ fn=generate_text,
54
+ inputs=[input_text, max_tokens, temperature, top_p],
55
+ outputs=output_text,
56
  )
57
 
58
  # Lancer l'application
59
+ demo.launch()