Spaces:
Runtime error
Runtime error
| from h2o_wave import main, app, Q, ui, copy_expando | |
| from transformers import pipeline | |
| async def init(q: Q): | |
| if not q.client.app_initialized: | |
| q.app.model = pipeline("text-generation") | |
| q.client.app_initialized = True | |
| q.page.drop() | |
| q.page["title"] = ui.header_card( | |
| box="1 1 8 1", | |
| title="Text Generation", | |
| subtitle="Generate text using Huggingface pipelines", | |
| icon="AddNotes", | |
| icon_color="Blue", | |
| ) | |
| async def get_inputs(q: Q): | |
| q.page['main'] = ui.form_card(box="1 2 8 5", items=[ | |
| ui.text_xl('Enter your text input for generation:'), | |
| ui.textbox(name="input_text", | |
| label='', | |
| value=q.app.input_text, | |
| multiline=True), | |
| ui.separator(), | |
| ui.slider(name="num_words_to_generate", | |
| label="Maximum number of words to generate (including input text)", | |
| min=5, | |
| max=50, | |
| step=1, | |
| value=q.app.num_words_to_generate if q.app.num_words_to_generate else 12, | |
| ), | |
| ui.separator(), | |
| ui.buttons([ui.button(name="generate_text", label='Generate', primary=True), | |
| ]) | |
| ]) | |
| async def show_results(q: Q): | |
| q.page['main'] = ui.form_card(box="1 2 4 5", items=[ | |
| ui.text_xl("Input Text:"), | |
| ui.separator(), | |
| ui.text(q.app.input_text), | |
| ui.separator(), | |
| ui.buttons([ui.button(name="get_inputs", label='Try Again!', primary=True), | |
| ]) | |
| ]) | |
| result = q.app.model(q.app.input_text, max_length=q.app.num_words_to_generate, do_sample=False)[0] | |
| q.app.generated_text = result["generated_text"] | |
| q.page['visualization'] = ui.form_card(box="5 2 4 5", items=[ | |
| ui.text_xl("Generated Text:"), | |
| ui.separator(''), | |
| ui.text(q.app.generated_text) | |
| ]) | |
| async def serve(q: Q): | |
| await init(q) | |
| if q.args.generate_text: | |
| copy_expando(q.args, q.app) | |
| await show_results(q) | |
| else: | |
| await get_inputs(q) | |
| await q.page.save() |