Spaces:
Running
Running
File size: 1,268 Bytes
5cc1949 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
"""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)
|