|
import gradio as gr |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import torch |
|
|
|
|
|
MODEL_NAME = "BICORP/Lake-1-12B-spe" |
|
|
|
def load_model(): |
|
try: |
|
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) |
|
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME) |
|
return tokenizer, model |
|
except Exception as e: |
|
raise RuntimeError(f"Error loading model: {str(e)}") |
|
|
|
tokenizer, model = load_model() |
|
|
|
def generate_text(prompt, max_length=100, temperature=0.9): |
|
try: |
|
|
|
inputs = tokenizer.encode(prompt, return_tensors='pt') |
|
|
|
|
|
outputs = model.generate( |
|
inputs, |
|
max_length=max_length, |
|
temperature=temperature, |
|
pad_token_id=tokenizer.eos_token_id, |
|
do_sample=True |
|
) |
|
|
|
|
|
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
return generated_text |
|
except Exception as e: |
|
return f"Error generating text: {str(e)}" |
|
|
|
|
|
interface = gr.Interface( |
|
fn=generate_text, |
|
inputs=[ |
|
gr.Textbox(label="Input Prompt", lines=3), |
|
gr.Slider(50, 500, value=100, label="Max Length"), |
|
gr.Slider(0.1, 2.0, value=0.9, label="Temperature") |
|
], |
|
outputs=gr.Textbox(label="Generated Text", lines=5), |
|
title="Local Model Demo - Text Generation", |
|
description="A locally loaded GPT-2 model for text generation", |
|
examples=[ |
|
["Once upon a time, in a land far away,"], |
|
["The future of artificial intelligence", 150, 0.7], |
|
["In a world where robots rule,", 200, 1.2] |
|
] |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
interface.launch(server_name="0.0.0.0", server_port=7860) |