Spaces:
Runtime error
Runtime error
import os | |
import io | |
import json | |
import random | |
import requests | |
import gradio as gr | |
class TextGenerator: | |
def __init__(self, token, model_id): | |
self.token = token | |
self.model_id = model_id | |
def generate_text(self, prompt, hf_model=None, hf_token=None, parameters=None): | |
if hf_token is None: | |
hf_token = self.token | |
if hf_model is None: | |
hf_model = self.model_id | |
if parameters is None: | |
parameters = {'max_new_tokens': 512, 'do_sample': True, 'return_full_text': False, 'temperature': 1.0, 'top_k': 50, 'repetition_penalty': 1.2} | |
url = f'https://api-inference.huggingface.co/models/{hf_model}' | |
headers = {'Authorization': f'Bearer {hf_token}', 'Content-type': 'application/json'} | |
data = {'inputs': prompt, 'stream': False, 'options': {'use_cache': False}, 'parameters': parameters} | |
r = requests.post(url, headers=headers, data=json.dumps(data)) | |
return json.loads(r.content.decode("utf-8"))[0]['generated_text'] | |
class GradioUI: | |
def __init__(self, text_generator): | |
self.text_generator = text_generator | |
self.styles = """...""" # Add CSS styles here | |
self.title_placeholders = ['Pokemon training story'] | |
def random_title(self): | |
return random.choice(self.title_placeholders) | |
def generate_interface(self): | |
with gr.Blocks(css=self.styles) as demo: | |
# Gradio UI setup goes here | |
random_title_btn.click(fn=None, inputs=None, outputs=[title], _js=f"return ['{self.random_title()}'];") | |
# Additional Gradio configurations go here... | |
demo.queue(concurrency_count=5, max_size=256) | |
demo.launch() | |
token = os.getenv('HF_TOKEN') | |
model_id = 'meta-llama/Llama-2-70b-chat-hf' | |
text_gen = TextGenerator(token, model_id) | |
ui = GradioUI(text_gen) | |
ui.generate_interface() | |