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)