|
from backend.chat_bot.private_knowledge_base import ChatBotKnowledgeTable |
|
from backend.constants.streamlit_keys import CHAT_KNOWLEDGE_TABLE, CHAT_SESSION, CHAT_SESSION_MANAGER |
|
import streamlit as st |
|
|
|
from backend.constants.variables import GLOBAL_CONFIG, TABLE_EMBEDDINGS_MAPPING |
|
from backend.constants.prompts import DEFAULT_SYSTEM_PROMPT |
|
from backend.chat_bot.session_manager import SessionManager |
|
|
|
|
|
def build_chat_knowledge_table(): |
|
if CHAT_KNOWLEDGE_TABLE not in st.session_state: |
|
st.session_state[CHAT_KNOWLEDGE_TABLE] = ChatBotKnowledgeTable( |
|
host=GLOBAL_CONFIG.myscale_host, |
|
port=GLOBAL_CONFIG.myscale_port, |
|
username=GLOBAL_CONFIG.myscale_user, |
|
password=GLOBAL_CONFIG.myscale_password, |
|
|
|
embedding=st.session_state[TABLE_EMBEDDINGS_MAPPING]["ArXiv Papers"], |
|
parser_api_key=GLOBAL_CONFIG.untrusted_api, |
|
) |
|
|
|
|
|
def initialize_session_manager(): |
|
if CHAT_SESSION not in st.session_state: |
|
st.session_state[CHAT_SESSION] = { |
|
"session_id": "default", |
|
"system_prompt": DEFAULT_SYSTEM_PROMPT, |
|
} |
|
if CHAT_SESSION_MANAGER not in st.session_state: |
|
st.session_state[CHAT_SESSION_MANAGER] = SessionManager( |
|
st.session_state, |
|
host=GLOBAL_CONFIG.myscale_host, |
|
port=GLOBAL_CONFIG.myscale_port, |
|
username=GLOBAL_CONFIG.myscale_user, |
|
password=GLOBAL_CONFIG.myscale_password, |
|
) |
|
|