- Refactored the CLI and LLM classes to improve code organization and readability.
- Added a function to create an LLM instance based on the config.
- Moved the function to the and classes.
- Added a function to handle loading an existing vector store.
- Added a function to estimate the cost of creating a vector store for OpenAI models.
- Updated the function to prompt for the model type and path or API key depending on the type.
- Updated the function to use the function and method of the LLM instance.
- Updated the default config to include default values for and .
- Added a constant to store the default config values.
- Added a constant to store the default model path.
- Update to use instead of for splitting documents.
- This change was made to improve document splitting and increase the number of documents available for processing.
- Refactored the file loading logic in function to use instead of which should improve performance
- Removed unnecessary checks for empty directories and ignored files
- Simplified the logic for checking allowed and excluded files
- Added functionality to check for an existing vector store and prompt the user to use it
- If the user approves, the function returns the existing vector store instead of creating a new one
- Also added saving of the vector store to local storage
- Add Halo spinner when creating vector store to provide visual feedback to the user.
- Also update success message to reflect the number of documents in the vector store.
- Add function to calculate the cost of creating a vector store for given documents
- Prompt user to approve the cost before creating the vector store
- Exit if user does not approve the cost
- Simplify the chat loop by moving it to a separate function called 'loop'.
- This improves code readability and makes it easier to test the chat function without needing to mock user input.
- Refactored the text loader in utils.py to improve readability and maintainability.
- Added a new function called in utils.py to check if the current directory is a git repository.
- Modified the function in utils.py to ignore files and directories ignored by git.
- Added error handling to function in utils.py to return if the current directory is not a git repository.
- Added a spinner using the Halo package to indicate when files are being loaded.
- The spinner appears while the load_files function is running and disappears once the function has completed.
- This should improve the user experience by providing feedback that the program is actively doing something.
- Add CLI functionality for chatting with OpenAI model
- Implement function to allow users to input OpenAI API key and model name
- Implement function to allow users to chat with OpenAI model using retrieved documents
- Add module to handle sending questions to OpenAI model
- Add module to load and split text documents, create retriever, and define StreamStdOut callback class