Solution_2 / playground /chatbot_streamlit_runner.py
voldemortuk's picture
Upload 113 files
5cc1949 verified
"""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)