Spaces:
Sleeping
Sleeping
| """Streamlit chatbot""" | |
| import streamlit as st | |
| from genai_voice.bots.chatbot import ChatBot | |
| from genai_voice.logger.log_utils import LogLevels, log | |
| # Initialize the chatbot | |
| chatbot = ChatBot(enable_speakers=True, threaded=True) | |
| history = [] | |
| def get_response_audio(audio): | |
| """Get text response from chatbot""" | |
| if not audio: | |
| raise ValueError("No audio file provided.") | |
| prompt = chatbot.get_prompt_from_gradio_audio(audio) | |
| log(f"Transcribed prompt: {prompt}", log_level=LogLevels.ON) | |
| response = chatbot.respond(prompt, history) | |
| history.append([prompt, response]) | |
| return response | |
| def get_response(user_prmpt): | |
| """Get text response from chatbot""" | |
| if not user_prmpt: | |
| return "Please enter your message." # Handle empty input | |
| prompt = user_prmpt | |
| log(f"User prompt: {prompt}", log_level=LogLevels.ON) | |
| bot_response = chatbot.respond(prompt, history) | |
| history.append([prompt, bot_response]) | |
| return bot_response | |
| # Streamlit app layout | |
| st.title("Wanderwise Travel Assistant") | |
| user_audio = chatbot.audio.get_streamlit_audio() | |
| if user_audio: # returns (sampling_rate, raw_audio_data) | |
| llm_response = get_response_audio(user_audio) | |
| if llm_response: | |
| st.write("Chatbot:", llm_response) | |