| import gradio as gr | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| # Charger le modèle GPTQ depuis Hugging Face | |
| model_name_or_path = "microsoft/DialoGPT-medium" | |
| model = AutoModelForCausalLM.from_pretrained(model_name_or_path) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) | |
| # Fonction de génération de texte | |
| def generate_text(input_text): | |
| input_ids = tokenizer(input_text, return_tensors='pt').input_ids | |
| output = model.generate(input_ids, max_length=50, num_return_sequences=1, temperature=0.7, do_sample=True) | |
| response_text = tokenizer.decode(output[0], skip_special_tokens=True) | |
| return response_text | |
| # Interface Gradio avec gestion de la file d'attente | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# GPTQ Chatbot") | |
| # Entrée utilisateur | |
| input_text = gr.Textbox(label="Votre message") | |
| # Sortie du chatbot | |
| output_text = gr.Textbox(label="Réponse du chatbot") | |
| # Bouton pour générer la réponse avec limite de concurrence | |
| generate_btn = gr.Button("Générer une réponse") | |
| generate_btn.click(fn=generate_text, inputs=input_text, outputs=output_text, concurrency_limit=5) | |
| # Lancer l'application Gradio avec la configuration des threads | |
| demo.launch(max_threads=10) # Ajuste max_threads selon tes besoins | |