Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from agents import travel_agent_executor | |
| from unidecode import unidecode | |
| DESTINOS = { | |
| "Natal": "natal", | |
| "Caicó": "caico", | |
| "Pipa": "pipa" | |
| } | |
| if __name__ == '__main__': | |
| st.title('Agente Turístico') | |
| st.sidebar.title('Escolha um destino') | |
| destino_selecionado = st.sidebar.selectbox('Destino', list(DESTINOS.keys())) | |
| if destino_selecionado: | |
| st.write(f"Você selecionou {destino_selecionado}") | |
| st.session_state.selected_destino = DESTINOS[destino_selecionado] | |
| if 'messages' not in st.session_state: | |
| st.session_state.messages = [] | |
| for message in st.session_state.messages: | |
| with st.chat_message(message['role']): | |
| st.markdown(message['content']) | |
| if prompt := st.chat_input('Digite a sua mensagem.'): | |
| st.session_state.messages.append({'role': 'user', 'content': prompt}) | |
| with st.chat_message('user', avatar='🧑💻'): | |
| st.markdown(prompt) | |
| with st.chat_message('ai', avatar='🤖'): | |
| # Passa o destino selecionado como contexto para o agente | |
| response = travel_agent_executor.invoke({ | |
| "input": prompt, | |
| "destino": unidecode(DESTINOS[destino_selecionado].lower()) | |
| }) | |
| agent_response = response['output'] | |
| st.markdown(agent_response) | |
| st.session_state.messages.append({'role': 'assistant', 'content': agent_response}) |