import sys import os from openai import OpenAI import streamlit as st import inspect # Diretório onde os pacotes Python são instalados package_dir = '/usr/local/lib/python3.10/site-packages' # Caminho absoluto para o diretório neurocognitiveagent neurocognitiveagent_dir = os.path.join(package_dir, 'neurocognitiveagent') # Adiciona o diretório com os arquivos compilados ao sys.path sys.path.insert(0, neurocognitiveagent_dir) # Agora você pode importar seus módulos compilados from neurocognitiveagent.SynapseControl import Initial_Memory, Synapses_Active import keys as key st.title("Neurocognitive Structures") def CienciaComputacao_chat(): st.session_state.clear() st.session_state["knowleadge_base"] = 'KB_geral.txt' st.session_state["persona"] = 'Como um Medico americano' st.session_state["language"] = "Inglês" st.session_state["human_contact"] = " no telefone do consultório disponivel no site www.drLecun.com.br " st.session_state["model"] = "gpt-4o-mini" # gpt-4o-mini or sabia-3 gpt-3.5-turbo st.session_state["company"] = "OpenAI" # OpenAI OR MARITACA st.session_state["max_token"] = 500 st.session_state["api_key"] = key.OPEN_API_KEY # Colocar os botões na barra lateral with st.sidebar: #st.image('IME.png', caption='Programa de Pós-graduação - IME') st.write("Escolha o tipo de chat:") if st.button("Ciência da Computação", on_click=CienciaComputacao_chat): st.write("O chat do Programa de Pós-graduação de Ciência da Computação iniciado.") if st.button("Resetar sessão"): st.session_state.clear() st.write("Sessão resetada.") if "knowleadge_base" not in st.session_state: st.session_state["knowleadge_base"] = "" if st.session_state["knowleadge_base"] != "": # Inicialize st.session_state.messages se ainda não estiver definido if 'messages' not in st.session_state: st.session_state.messages = [] st.session_state.messages = Initial_Memory(st.session_state.messages, st.session_state["knowleadge_base"], st.session_state["persona"], st.session_state["language"], st.session_state["human_contact"]) # Função para exibir mensagens ao usuário def display_messages(messages): ava= '' for message in messages: if message["role"] != "system": # Exibe apenas mensagens não-sistêmicas if message["role"]=="user": ava=new_avatar else: ava=new_user with st.chat_message(message["role"]): st.markdown((message["content"])) # Exibir mensagens ao usuário display_messages(st.session_state.messages) #st.write(st.session_state.messages) # Capturar entrada do usuário if prompt := st.chat_input("Como posso te ajudar?"): acao = Synapses_Active(prompt, st.session_state.messages) st.session_state.messages = acao #st.markdown(acao) #retirar depois with st.chat_message("user"): st.markdown(prompt) # Simular a resposta do assistente with st.chat_message("assistant"): stream = ExecuteModel(st.session_state["model"], st.session_state["company"], st.session_state["max_token"], st.session_state["api_key"], st.session_state.messages ) response = st.write_stream(stream) st.session_state.messages.append({"role": "assistant", "content": response}) if "END" in response: st.session_state.clear()