import gradio as gr import os import random from functools import partial from huggingface_hub import InferenceClient import threading system_prompt = """ You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. """ code = """ '''python from huggingface_hub import InferenceClient SYSTEM_PROMPT = "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature." PROMPT = "{PROMPT}" message = [ {"role": "system", "content": system_prompt}, {"role":"user","content": prompt} ] client = InferenceClient(model=model, token=hf_token) tokens=f"**'{model_name}'**\n\n" for completion in client.chat_completion(messages, max_tokens=1000, stream=True): token = completion.choices[0].delta.content tokens += token yield tokens ''' """ def inference(prompt, hf_token, model, model_name): messages = [{"role": "system", "content": system_prompt},{"role":"user","content": prompt}] if hf_token is None or not hf_token.strip(): hf_token = os.getenv("HF_TOKEN") client = InferenceClient(model=model, token=hf_token) tokens=f"**'{model_name}'**\n\n" for completion in client.chat_completion(messages, max_tokens=2000, stream=True): token = completion.choices[0].delta.content tokens += token yield tokens def hide_textbox(): return gr.Textbox(visible=False) def random_prompt(): return random.choice([ "Rédigez une lettre officielle pour demander un rendez-vous à un responsable administratif.", "Expliquez comment créer un budget mensuel simple pour mieux gérer ses finances personnelles.", "Rédigez une recette détaillée pour préparer un plat équilibré et rapide, comme une salade de quinoa aux légumes grillés.", "Proposez une routine matinale de 30 minutes pour améliorer son bien-être physique et mental.", "Expliquez comment rédiger un CV attractif pour postuler à un emploi dans le domaine technologique.", "Créez un guide étape par étape pour apprendre à méditer et réduire le stress.", "Rédigez une lettre de motivation pour candidater à une formation professionnelle.", "Donnez les instructions pour fabriquer un meuble simple en bois recyclé pour débutants.", "Expliquez comment organiser un espace de travail à domicile ergonomique et propice à la concentration.", "Rédigez une recette simple pour faire du pain maison avec des ingrédients de base." ]) with gr.Blocks(theme='JohnSmith9982/small_and_pretty') as demo: gr.Markdown("