import streamlit as st import requests import logging import os logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') hf_api_key = st.secrets["api_key"] def get_hf_ai_response(user_message): import requests API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3.1-8B" # API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3.1-8B" headers = {"Authorization": f"Bearer {hf_api_key}"} response = requests.post(API_URL, headers=headers, json={"inputs": str(user_message)}) print("================") print(response) print("================") return response # Function to send a message to the assistant def send_message(msg_thread): try: response = get_hf_ai_response(msg_thread) print(f"Sending Message Response: {response}") print(response.content) return response.content except requests.exceptions.RequestException as e: logging.error(f"Failed to send message: {e}") return "Error processing your request, please try again." # Sidebar for user input with st.sidebar: # user_id = st.text_input("User ID", key="user_id", type="default") # new_user_id = st.text_input("New User ID", key="new_user_id", type="default") st.caption("🚀 Powered by Zumlo") # if st.button("Create New User ID"): # new_user_message = "Hi there!" # st.session_state.messages.append({"role": "user", "content": new_user_message}) # response = create_new_conversation(new_user_message, new_user_id, working_base_url) # st.session_state.messages.append({"role": "assistant", "content": response}) # st.rerun() st.title("Zumlo Chatbot") st.caption("🚀 Powered by Zumlo") # Display conversation history if "messages" not in st.session_state: st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}] for msg in st.session_state.messages: st.chat_message(msg["role"]).write(msg["content"]) # Handle user input for ongoing conversation if prompt := st.chat_input(): st.session_state.messages.append({"role": "user", "content": prompt}) response = send_message(st.session_state.messages) st.session_state.messages.append({"role": "assistant", "content": response}) st.rerun() # Refresh the app every 5 seconds (adjust as needed) # st_autorefresh(interval=5000, key="refresh") # Display the data or results st.write("To refresh press R")