File size: 1,452 Bytes
f47494b
91eb608
 
 
e242228
 
 
 
 
7f53e1c
f47494b
c6b4792
 
91eb608
b13755c
7f53e1c
 
 
91eb608
2997994
7f53e1c
91eb608
 
 
 
 
7f53e1c
2997994
91eb608
2997994
 
 
7f53e1c
2997994
 
91eb608
2997994
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()