Sacha-0 / app.py
Nac31's picture
Update app
fc05217
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
import torch
import os
from dotenv import load_dotenv
from huggingface_hub import login
load_dotenv()
# Login to Hugging Face
hf_token = os.getenv('HF_TOKEN')
login(hf_token)
# Configuration du modèle
model_path = "Nac31/Sacha-Mistral-0"
dtype = torch.bfloat16 if torch.cuda.get_device_capability()[0] == 8 else torch.float16
# Initialisation du modèle
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="auto",
torch_dtype=dtype
)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
def generate_response(message, temperature=0.7, max_new_tokens=500):
try:
response = pipe(
message,
temperature=temperature,
max_new_tokens=max_new_tokens,
do_sample=True
)
return response[0]['generated_text']
except Exception as e:
return f"Une erreur s'est produite : {str(e)}"
# Interface Gradio
demo = gr.Interface(
fn=generate_response,
inputs=[
gr.Textbox(label="Votre message", placeholder="Entrez votre message ici..."),
gr.Slider(minimum=0.1, maximum=1.0, value=0.7, label="Température"),
gr.Slider(minimum=10, maximum=2000, value=500, step=10, label="Nombre de tokens")
],
outputs=gr.Textbox(label="Réponse"),
title="Chat avec Sacha-Mistral",
description="Un assistant conversationnel en français basé sur le modèle Sacha-Mistral"
)
if __name__ == "__main__":
demo.launch(share=True)