ChatData / backend /construct /build_chat_bot.py
lqhl's picture
Synced repo using 'sync_with_huggingface' Github Action
e931b70 verified
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]["Wikipedia"],
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,
)