diff --git a/constants.py b/constants.py index ca3b8a1..366a48a 100644 --- a/constants.py +++ b/constants.py @@ -6,6 +6,8 @@ load_dotenv() # Define the folder for storing database PERSIST_DIRECTORY = os.environ.get('PERSIST_DIRECTORY') +if PERSIST_DIRECTORY is None: + raise Exception("Please set the PERSIST_DIRECTORY environment variable") # Define the Chroma settings CHROMA_SETTINGS = Settings( diff --git a/ingest.py b/ingest.py index 0ca8074..825d732 100755 --- a/ingest.py +++ b/ingest.py @@ -24,12 +24,13 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.vectorstores import Chroma from langchain.embeddings import HuggingFaceEmbeddings from langchain.docstore.document import Document + +if not load_dotenv(): + print("Could not load .env file or it is empty. Please check if it exists and is readable.") + exit(1) + from constants import CHROMA_SETTINGS - -load_dotenv() - - # Load environment variables persist_directory = os.environ.get('PERSIST_DIRECTORY') source_directory = os.environ.get('SOURCE_DIRECTORY', 'source_documents') diff --git a/privateGPT.py b/privateGPT.py index 0e3b9d0..74b3ca6 100755 --- a/privateGPT.py +++ b/privateGPT.py @@ -9,7 +9,9 @@ import os import argparse import time -load_dotenv() +if not load_dotenv(): + print("Could not load .env file or it is empty. Please check if it exists and is readable.") + exit(1) embeddings_model_name = os.environ.get("EMBEDDINGS_MODEL_NAME") persist_directory = os.environ.get('PERSIST_DIRECTORY') @@ -39,7 +41,7 @@ def main(): case _default: # raise exception if model_type is not supported raise Exception(f"Model type {model_type} is not supported. Please choose one of the following: LlamaCpp, GPT4All") - + qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever, return_source_documents= not args.hide_source) # Interactive questions and answers while True: