Spaces:
Sleeping
Sleeping
File size: 3,925 Bytes
9a39519 dcb405d 9a39519 dcb405d 9a39519 dcb405d 9a39519 fb979a6 9a39519 2c3e352 9a39519 2c3e352 9a39519 7610aa3 2c3e352 dcb405d a38ceac 149362e a38ceac 149362e a38ceac 149362e a38ceac 1a5524e 149362e a38ceac |
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
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, ExecuteModel, 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):
for message in messages:
if message["role"] != "system": # Exibe apenas mensagens não-sistêmicas
if message["role"]=="user":
else:
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() |