import streamlit as st from transformers import pipeline import warnings # Title for the web app st.title("Test Large Language Models from Hugging Face") # Dropdown for model selection models = [ "meta-llama/Llama-3.2-3B-Instruct", "mistralai/Mistral-7B-Instruct-v0.3", "ibm-granite/granite-3.0-8b-instruct", "bartowski/Meta-Llama-3.1-8B-Claude-GGUF" ] selected_model = st.selectbox("Select a model to test:", models) # Text input for user prompt user_input = st.text_area("Enter your text prompt:", "Type something here...") # Load the selected model using the pipeline @st.cache_resource def load_model(model_name): return pipeline("text-generation", model=model_name, framework="tf") with warnings.catch_warnings(): warnings.simplefilter("ignore") access_token = os.getenv("HF_ACCESS_TOKEN") # Use an environment variable for the access token return pipeline("text-generation", model=model_name, framework="tf", use_auth_token=access_token) # Use TensorFlow framework # Button to run the model if st.button("Generate Response"): if user_input: try: # Load the selected model generator = load_model(selected_model) # Generate text based on the input with truncation enabled with st.spinner("Generating response..."): result = generator(user_input, max_length=100, num_return_sequences=1, truncation=True) # Display the result st.subheader("Generated Response:") st.write(result[0]['generated_text']) except Exception as e: st.error(f"An error occurred: {e}") else: st.warning("Please enter a text prompt.")