Spaces:
Sleeping
Sleeping
| from huggingface_hub import login | |
| import os | |
| token = os.environ.get("hf") | |
| login(token) | |
| import streamlit as st | |
| from transformers import pipeline | |
| import torch | |
| # Model ID | |
| MODEL_ID = "meta-llama/Meta-Llama-3.1-8B-Instruct" | |
| def load_pipeline(): | |
| try: | |
| st.write("Loading the instruct pipeline...") | |
| instruct_pipeline = pipeline( | |
| "text-generation", | |
| model=MODEL_ID, | |
| model_kwargs={"torch_dtype": torch.bfloat16}, | |
| device_map="auto", | |
| ) | |
| st.write("Pipeline successfully loaded.") | |
| return instruct_pipeline | |
| except Exception as e: | |
| st.error(f"Error loading pipeline: {e}") | |
| return None | |
| # Load the pipeline | |
| instruct_pipeline = load_pipeline() | |
| # Streamlit UI | |
| st.title("Instruction Chatbot") | |
| st.write("Chat with the instruction-tuned model!") | |
| if instruct_pipeline is None: | |
| st.error("Pipeline failed to load. Please check the configuration.") | |
| else: | |
| # Message-based interaction | |
| system_message = st.text_area("System Message", value="You are a helpful assistant.", height=100) | |
| user_input = st.text_input("User:", placeholder="Ask a question or provide an instruction...") | |
| if st.button("Send"): | |
| if user_input.strip(): | |
| try: | |
| messages = [ | |
| {"role": "system", "content": system_message}, | |
| {"role": "user", "content": user_input}, | |
| ] | |
| # Generate response | |
| outputs = instruct_pipeline( | |
| messages, | |
| max_new_tokens=150, # Limit response length | |
| ) | |
| # Display the generated response | |
| response = outputs[0]["generated_text"] | |
| st.write(f"**Assistant:** {response}") | |
| except Exception as e: | |
| st.error(f"Error generating response: {e}") | |
| else: | |
| st.warning("Please enter a valid message.") | |