import gradio as gr from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline # Load the model and tokenizer from Hugging Face model_id = "seedboxai/KafkaLM-8x7B-German-V0.1-DPO" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True, trust_remote_code=True) # Define the text generation function def generate_text(user_input, system_prompt): # Combine the system prompt and the user input to form the full prompt full_prompt = f"{system_prompt.strip()}\n\n{user_input.strip()}" # Initialize the pipeline for text generation text_generator = pipeline('text-generation', model=model, tokenizer=tokenizer, return_full_text=True, temperature=0.5, max_new_tokens=512, top_p=0.95, top_k=50, do_sample=True) # Generate text based on the full prompt results = text_generator(full_prompt) generated_text = results[0]['generated_text'] return generated_text # Setup the Gradio interface iface = gr.Interface(fn=generate_text, inputs=[gr.Textbox(lines=2, label="User Prompt"), gr.Textbox(lines=5, label="System Prompt")], outputs=gr.Textbox(label="Generated Text"), title="Text Generation with KafkaLM", description="Enter a user prompt and a system prompt to generate text using the KafkaLM model.") # Launch the Gradio app if __name__ == "__main__": iface.launch()