Spaces:
Sleeping
Sleeping
| import os | |
| from huggingface_hub import InferenceClient | |
| import streamlit as st | |
| # Access your Hugging Face API token from the environment variable | |
| api_token = os.getenv("HUGGINGFACEHUB_API_TOKEN") | |
| if api_token is None: | |
| st.error("Hugging Face API token is not set.") | |
| else: | |
| st.title("Tanya Gizi!") | |
| # Initialize chat history if not already present | |
| if 'messages' not in st.session_state: | |
| st.session_state.messages = [] | |
| # Display chat history | |
| for message in st.session_state.messages: | |
| st.chat_message(message['role']).markdown(message['content']) | |
| # Input area for the user | |
| prompt = st.chat_input('Masukan pertanyaanmu di sini!') | |
| # Process user input | |
| if prompt: | |
| st.chat_message('user').markdown(prompt) | |
| st.session_state.messages.append({'role': 'user', 'content': prompt}) | |
| # Generate a response using InferenceClient | |
| client = InferenceClient( | |
| model="mistralai/Mistral-Large-Instruct-2407", | |
| token=api_token | |
| ) | |
| # Generating response | |
| response = client.chat_completion( | |
| messages=[{"role": "user", "content": prompt}], | |
| max_tokens=100, | |
| stream=False # Disable streaming as it's not supported | |
| ) | |
| response_text = response['choices'][0]['message']['content'] | |
| # Display and store the assistant's response | |
| st.chat_message('assistant').markdown(response_text) | |
| st.session_state.messages.append({'role': 'assistant', 'content': response_text}) | |