Spaces:
Sleeping
Sleeping
| import os | |
| import streamlit as st | |
| from transformers import pipeline | |
| import warnings | |
| from huggingface_hub import login | |
| import torch | |
| # 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" | |
| ] | |
| st.write( | |
| #"Has environment variables been set:", | |
| os.environ["HF_ACCESS_TOKEN"] == st.secrets["HF_ACCESS_TOKEN"]) | |
| hf_api_token = st.secrets["HF_ACCESS_TOKEN"] | |
| login(token=hf_api_token) | |
| 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 | |
| #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 | |
| def load_model(model_name): | |
| 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, 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.") |