Skip to content

v4.3.0 - reliability!!!

Compare
Choose a tag to compare
@BBC-Esq BBC-Esq released this 25 Mar 19:42
· 477 commits to main since this release
04919f6

BREAKING CHANGE

  • This version is the first to use TileDB instead of ChromaDB. Therefore, any databases previously created with ChromaDB will no longer work with Version 4.3.0+ of this program.
  • TileDB is much more robust, faster, will not give errors when trying to ingest massive amounts of documents, and is overall "better." ChromaDB has been used since the beginning of this repository so it's a major change. However, it was necessary due to ChromaDB not being able to handle massive amounts of documents reliably. It simply couldn't insert, for example, 200k+ vectors reliably. This was tested extensively with older versions that use duckdb + clickhouse as well as the current version that uses sqlite3. ALL HAIL TILEDB!

IMPROVEMENTS:

  • WhisperSpeech was added as an alternative to Bark when doing text-to-speech. WhisperSpeech is a very promising library managed by Collabora. It rivals Bark in terms of quality, VRAM/compute requirements, and speed - even outperforms it in certain metrics. As newer models from WhisperSpeech come out this will only improve further.
  • As part of the sentence-transformers library vector models were loaded with a batch size of 32. It became apparent after extensive testing that this caused slower performance and higher compute/memory requirements in EVERY SINGLE MODEL. database_interactions.py now sets the batch size based on the size of the vector model being used when creating the database with a GPU. When using a CPU, the batch size is always 2. This reduces memory requirements by over 50% in most cases with the larger models, and improves speed for GPU and CPU.
  • Updated some of the dependency versions with further updates based on further testing in the near future.
  • Started using the pickle library to save representations of image files and audio transcriptions within a given database. When a user doubleclicks on a image or audio file within an existing database, it will read the pickle file and route the call to where the file is located on your computer. Obviously, if you move the actual file (i.e. the image or audio file) it'll give an error.
  • Multiple scripts were refactored and/or renamed.

BUG FIXES:

  • Changes made after Version 4.1 resulted in "Port," "Temperature," and "Max_tokens" not being updated properly. This was fixed by reverting the specific script managing this to a prior version.
  • The Models Tab was revamped to correct alignment, a longstanding bug.