prepare to enable local mode

main
Gustav von Zitzewitz 1 year ago
parent b7b3477d35
commit 91d3e54248

2
.gitignore vendored

@ -1,5 +1,7 @@
data data
models
__pycache__ __pycache__
.env .env
.ipynb_checkpoints .ipynb_checkpoints
.DS_Store
testing.ipynb testing.ipynb

@ -161,6 +161,7 @@ def advanced_options_form() -> None:
# Sidebar with Authentication and Advanced Options # Sidebar with Authentication and Advanced Options
with st.sidebar: with st.sidebar:
mode = st.selectbox("Mode", MODES.all(), key="mode", help=MODE_HELP) mode = st.selectbox("Mode", MODES.all(), key="mode", help=MODE_HELP)
st.session_state["model"] = MODELS.for_mode(mode)[0]
if mode == MODES.LOCAL and not ENABLE_LOCAL_MODE: if mode == MODES.LOCAL and not ENABLE_LOCAL_MODE:
st.error(LOCAL_MODE_DISABLED_HELP, icon=PAGE_ICON) st.error(LOCAL_MODE_DISABLED_HELP, icon=PAGE_ICON)
st.stop() st.stop()

@ -41,11 +41,10 @@ def update_chain() -> None:
try: try:
st.session_state["chain"] = get_chain() st.session_state["chain"] = get_chain()
st.session_state["chat_history"] = [] st.session_state["chat_history"] = []
msg = f"Data source '{st.session_state['data_source']}' is ready to go!" msg = f"Data source '{st.session_state['data_source']}' is ready to go with model '{st.session_state['model']}'!"
logger.info(msg)
st.info(msg, icon=PAGE_ICON) st.info(msg, icon=PAGE_ICON)
except Exception as e: except Exception as e:
msg = f"Failed to build chain for data source '{st.session_state['data_source']}' with error: {e}" msg = f"Failed to build chain for data source '{st.session_state['data_source']}' with model '{st.session_state['model']}': {e}"
logger.error(msg) logger.error(msg)
st.error(msg, icon=PAGE_ICON) st.error(msg, icon=PAGE_ICON)

@ -14,9 +14,10 @@ MAX_TOKENS = 3357
MODEL_N_CTX = 1000 MODEL_N_CTX = 1000
ENABLE_ADVANCED_OPTIONS = True ENABLE_ADVANCED_OPTIONS = True
ENABLE_LOCAL_MODE = False ENABLE_LOCAL_MODE = True
GPT4ALL_MODEL_PATH = "models/ggml-gpt4all-j-v1.3-groovy.bin" MODEL_PATH = Path.cwd() / "models"
GPT4ALL_BINARY = "ggml-gpt4all-j-v1.3-groovy.bin"
DATA_PATH = Path.cwd() / "data" DATA_PATH = Path.cwd() / "data"
DEFAULT_DATA_SOURCE = "https://github.com/gustavz/DataChad.git" DEFAULT_DATA_SOURCE = "https://github.com/gustavz/DataChad.git"

@ -5,9 +5,9 @@ from langchain.base_language import BaseLanguageModel
from langchain.chat_models import ChatOpenAI from langchain.chat_models import ChatOpenAI
from langchain.embeddings import HuggingFaceEmbeddings from langchain.embeddings import HuggingFaceEmbeddings
from langchain.embeddings.openai import Embeddings, OpenAIEmbeddings from langchain.embeddings.openai import Embeddings, OpenAIEmbeddings
from langchain.llms import GPT4All, LlamaCpp from langchain.llms import GPT4All
from datachad.constants import GPT4ALL_MODEL_PATH from datachad.constants import GPT4ALL_BINARY, MODEL_PATH
from datachad.utils import logger from datachad.utils import logger
@ -50,7 +50,7 @@ class MODELS(Enum):
name="GPT4All", name="GPT4All",
mode=MODES.LOCAL, mode=MODES.LOCAL,
embedding=EMBEDDINGS.HUGGINGFACE, embedding=EMBEDDINGS.HUGGINGFACE,
path=GPT4ALL_MODEL_PATH, path=str(MODEL_PATH / GPT4ALL_BINARY),
) )
@classmethod @classmethod
@ -96,7 +96,9 @@ def get_embeddings() -> Embeddings:
disallowed_special=(), openai_api_key=st.session_state["openai_api_key"] disallowed_special=(), openai_api_key=st.session_state["openai_api_key"]
) )
case EMBEDDINGS.HUGGINGFACE: case EMBEDDINGS.HUGGINGFACE:
embeddings = HuggingFaceEmbeddings(model_name=EMBEDDINGS.HUGGINGFACE) embeddings = HuggingFaceEmbeddings(
model_name=EMBEDDINGS.HUGGINGFACE, cache_folder=str(MODEL_PATH)
)
# Added embeddings need to be cased here # Added embeddings need to be cased here
case _default: case _default:
msg = f"Embeddings {st.session_state['embeddings']} not supported!" msg = f"Embeddings {st.session_state['embeddings']} not supported!"

@ -9,4 +9,6 @@ pdf2image==1.16.3
pytesseract==0.3.10 pytesseract==0.3.10
beautifulsoup4==4.12.2 beautifulsoup4==4.12.2
bs4==0.0.1 bs4==0.0.1
python-dotenv==1.0.0 python-dotenv==1.0.0
sentence-transformers==2.2.2
pygpt4all==1.1.0
Loading…
Cancel
Save