MicroAi / app.py
holytinz278's picture
Update app.py
169d3e0 verified
raw
history blame
1.88 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load the model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("WhiteRabbitNeo/WhiteRabbitNeo-13B-v1", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("WhiteRabbitNeo/WhiteRabbitNeo-13B-v1", trust_remote_code=True)
# Define a function to generate text with a system message
def generate_response(prompt, system_message, token):
# Combine system message and user prompt
full_prompt = f"{system_message}\n\n{prompt}"
# Tokenize input
inputs = tokenizer(full_prompt, return_tensors="pt", truncation=True)
# Generate a response
outputs = model.generate(
inputs["input_ids"],
max_length=300,
do_sample=True,
temperature=0.7,
top_k=50,
pad_token_id=tokenizer.eos_token_id # To prevent padding issues
)
# Decode the output text
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
# If a token is provided, add it to the response
if token:
response += f"\n\nToken Used: {token}"
return response
# Create a Gradio interface
interface = gr.Interface(
fn=generate_response,
inputs=[
gr.Textbox(lines=5, label="Prompt", placeholder="Type your prompt here..."),
gr.Textbox(lines=1, label="System Message", placeholder="System message (optional)"),
gr.Textbox(lines=1, label="Token", placeholder="Enter token (optional)"),
],
outputs=gr.Textbox(label="Generated Response"),
title="WhiteRabbitNeo Enhanced Model",
description=(
"This app uses the WhiteRabbitNeo-13B-v1 model to generate text responses. "
"You can provide a system message, a prompt, and optionally include a token for custom usage."
),
)
# Launch the app
if __name__ == "__main__":
interface.launch()