zoya23's picture
Update app.py
df16bec verified
raw
history blame
1.75 kB
import streamlit as st
from agents.api_agent import get_asia_tech_risk
from agents.scrapping_agent import get_earnings_news
from agents.analysis_agent import get_aum_change, earnings_summary
from agents.language_agent import generate_brief
from agents.voice_agent import speech_to_text, text_to_speech
st.title("🧠 Morning Market Brief - Voice Assistant")
st.markdown("### Choose input mode")
input_mode = st.radio("Select input type:", ("🎤 Voice", "⌨️ Text"))
user_query = ""
# INPUT
if input_mode == "🎤 Voice":
uploaded_audio = st.file_uploader("Upload your voice (WAV format)", type=["wav"])
if uploaded_audio is not None:
st.audio(uploaded_audio, format='audio/wav')
user_query = speech_to_text(uploaded_audio)
st.success(f"Transcribed Query: **{user_query}**")
elif input_mode == "⌨️ Text":
user_query = st.text_input("Ask your market question", "What’s our risk exposure in Asia tech stocks today, and highlight any earnings surprises?")
# LOGIC
if st.button("Get Market Brief"):
if user_query.strip() == "":
st.warning("Please provide a valid question.")
else:
# get data from agents
asia_risk = get_asia_tech_risk()
earnings = get_earnings_news()
aum = get_aum_change()
earnings_summary_text = earnings_summary()
# generate smart summary
final_summary = generate_brief(user_query, asia_risk, earnings, aum, earnings_summary_text)
# show
st.subheader("📊 Market Summary")
st.write(final_summary)
# speak
audio_path = text_to_speech(final_summary)
with open(audio_path, "rb") as audio_file:
st.audio(audio_file.read(), format="audio/mp3")