import gradio as gr import torch from transformers import AutoTokenizer, AutoModelForCausalLM from peft import PeftModel import os # Hole den API-Token aus den Umgebungsvariablen hf_token = os.getenv("HF_TOKEN") if hf_token is None: raise ValueError("HF_TOKEN ist nicht gesetzt. Bitte überprüfe deine Secrets.") # Basismodell- und LoRA-Modellnamen base_model_name = "mistralai/Mistral-7B-Instruct-v0.2" lora_model_name = "TooKeen/neo-blockchain-assistant" # Lade den Tokenizer und das Modell mit dem API-Token tokenizer = AutoTokenizer.from_pretrained(base_model_name, use_auth_token=hf_token) base_model = AutoModelForCausalLM.from_pretrained(base_model_name, use_auth_token=hf_token, device_map="auto") model = PeftModel.from_pretrained(base_model, lora_model_name) # Definiere eine Funktion zur Textgenerierung def generate_text(prompt): inputs = tokenizer(prompt, return_tensors="pt").to("cuda" if torch.cuda.is_available() else "cpu") outputs = model.generate(**inputs, max_length=100) return tokenizer.decode(outputs[0], skip_special_tokens=True) # Erstelle die Gradio-Oberfläche interface = gr.Interface( fn=generate_text, inputs=gr.Textbox(lines=2, placeholder="Geben Sie Ihren Text hier ein..."), outputs="text", title="Blockchain Assistant", description="Geben Sie einen Text ein, und das Modell generiert eine Antwort." ) # Starte die Gradio-App if __name__ == "__main__": interface.launch()