Spaces:
Sleeping
Sleeping
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() |