SamGPT / app.py
samwell's picture
Upload app.py with huggingface_hub
50859d6 verified
raw
history blame
1.28 kB
import gradio as gr
import torch
import tiktoken
from supplementary import GPTModel, generate_text_simple
# Load model configuration
GPT_CONFIG_124M = {
"vocab_size": 50257,
"context_length": 1024,
"emb_dim": 768,
"n_heads": 12,
"n_layers": 12,
"drop_rate": 0.1,
"qkv_bias": False
}
# Initialize model
model = GPTModel(GPT_CONFIG_124M)
# Load the trained weights
model.load_state_dict(torch.load("my_gpt_model.pth", map_location=torch.device('cpu')))
model.eval()
tokenizer = tiktoken.get_encoding("gpt2")
def generate(prompt, max_new_tokens):
token_ids = tokenizer.encode(prompt)
input_ids = torch.tensor(token_ids).unsqueeze(0)
output_ids = generate_text_simple(
model=model,
idx=input_ids,
max_new_tokens=max_new_tokens,
context_size=GPT_CONFIG_124M["context_length"]
)
return tokenizer.decode(output_ids.squeeze(0).tolist())
iface = gr.Interface(
fn=generate,
inputs=[
gr.Textbox(label="Prompt"),
gr.Slider(minimum=1, maximum=100, value=20, step=1, label="Max New Tokens")
],
outputs=gr.Textbox(label="Generated Text"),
title="SamGPT Text Generation",
description="Enter a prompt to generate text with the custom language model."
)
iface.launch()