import gradio as gr from transformers import pipeline # Initialize the o3 mini model (update the model identifier as needed) o3_mini = pipeline("text2text-generation", model="o3mini-template-generator") def generate_template(ref1, ref2, ref3, ref4, ref5): # Collect non-empty references references = [ref.strip() for ref in [ref1, ref2, ref3, ref4, ref5] if ref.strip()] if not references: return "Please provide at least one piece of reference copy." # Combine all references into one prompt text combined_references = "\n\n".join(references) # Create a prompt that instructs the model to analyze the provided references # and generate a structured template following the e-commerce copywriting guidelines. prompt = ( "Analyze the following reference copy examples and generate a structured e-commerce " "copywriting template that includes a header, template blocks, and control structures. " "Follow this guide document:\n\n" "E-commerce Copywriting Template Documentation (refer to internal guide for details)\n\n" "Reference Copy:\n" f"{combined_references}\n\n" "Generate the final structured template output." ) # Call the o3 mini model with the prompt result = o3_mini(prompt, max_length=512, truncation=True) # The model returns a list of dictionaries; extract the generated text. template_output = result[0]['generated_text'] return template_output iface = gr.Interface( fn=generate_template, inputs=[ gr.Textbox(label="Reference Copy 1", lines=3, placeholder="Paste your reference copy here"), gr.Textbox(label="Reference Copy 2 (optional)", lines=3, placeholder="Paste your reference copy here"), gr.Textbox(label="Reference Copy 3 (optional)", lines=3, placeholder="Paste your reference copy here"), gr.Textbox(label="Reference Copy 4 (optional)", lines=3, placeholder="Paste your reference copy here"), gr.Textbox(label="Reference Copy 5 (optional)", lines=3, placeholder="Paste your reference copy here") ], outputs=gr.Textbox(label="Structured Template"), title="E-commerce Template Generator using O3 Mini", description=( "Provide up to five pieces of reference copy. This app calls the o3 mini model " "to analyze your inputs and generate a structured template based on our e-commerce copywriting guidelines." ) ) iface.launch()