import streamlit as st from transformers import pipeline @st.cache_resource def load_model(): return pipeline("text-generation", model="PeterBrendan/pbjs_gpt2") def main(): if "generated_widget_id" not in st.session_state: st.session_state["generated_widget_id"] = None st.title("Pbjs GPT2") st.write("Enter Prebid config text like **bidderTimeout** and get a generated Prebid config output from that setting onward. Using **{** will generate a Prebid config from the beginning.") st.write("**Intended uses:** This model is intended to assist publishers in understanding and exploring how other publishers configure their Prebid settings. The model was trained on 1100+ Prebid config files. It can serve as a reference to gain insights into common configurations, best practices, and different approaches used by publishers across various domains. To learn more about the model go to: [pbjs_gpt2](https://huggingface.co/PeterBrendan/pbjs_gpt2). [Link to official Prebid Documentation on pbjs.setConfig](https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html)") st.write("*Note:* The model does take some time to run") # Default prompts default_prompts = ["{", "bidderTimeout", "bidderSequence", "Usebidcache", "customPriceBucket"] # Create a selectbox for default prompts default_prompt = st.selectbox("Choose a default prompt:", default_prompts) # Create a text input field for custom prompt custom_prompt = st.text_input("Enter a custom prompt:", "") # Check if a default prompt is selected if default_prompt: user_input = default_prompt else: user_input = custom_prompt # Check if the user input is empty if user_input: # Load the Hugging Face model generator = load_model() # Display 'Generating Output' message output_placeholder = st.empty() with output_placeholder: st.write("Generating Output...") # Generate text based on user input generated_text = generator(user_input, max_length=700, num_return_sequences=1)[0]["generated_text"] # Clear 'Generating Output' message and display the generated text output_placeholder.empty() st.write("Generated Text:") st.write(generated_text) # Run the app if __name__ == "__main__": main()