Skip to content

Releases: neuml/txtai

v7.5.1

25 Oct 10:18
Compare
Choose a tag to compare

This release adds the following new features, improvements and bug fixes.

Bug Fixes

  • Update translation pipeline to use hf_hub_download for language detection (#803)

v7.5.0

14 Oct 11:58
Compare
Choose a tag to compare

This release adds Speech to Speech RAG, new TTS models and Generative Audio features

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add Speech to Speech example notebook (#789)
  • Add streaming speech generation (#784)
  • Add a microphone pipeline (#785)
  • Add an audio playback pipeline (#786)
  • Add Text to Audio pipeline (#792)
  • Add support for SpeechT5 ONNX exports with Text to Speech pipeline (#793)
  • Add audio signal processing and mixing methods (#795)
  • Add Generative Audio example notebook (#798)
  • Add example notebook covering open data access (#782)

Improvements

  • Issue with Language Specific Transcription Using txtai and Whisper (#593)
  • Update TextToSpeech pipeline to support speaker parameter (#787)
  • Update Text to Speech Generation Notebook (#790)
  • Update hf_hub_download methods to use cached_file (#794)
  • Require Python >= 3.9 (#796)
  • Upgrade pylint and black (#797)

v7.4.0

05 Sep 17:25
Compare
Choose a tag to compare

This release adds the SQLite ANN, new text extraction features and a programming language neutral embeddings index format

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add SQLite ANN (#780)
  • Enhance markdown support for Textractor (#758)
  • Update txtai index format to remove Python-specific serialization (#769)
  • Add new functionality to RAG application (#753)
  • Add bm25s library to benchmarks (#757) Thank you @a0346f102085fe9f!
  • Add serialization package for handling supported data serialization methods (#770)
  • Add MessagePack serialization as a top level dependency (#771)

Improvements

  • Support <pre> blocks with Textractor (#749)
  • Update HF LLM to reduce noisy warnings (#752)
  • Update NLTK model downloads (#760)
  • Refactor benchmarks script (#761)
  • Update documentation to use base imports (#765)
  • Update examples to use RAG pipeline instead of Extractor when paired with LLMs (#766)
  • Modify NumPy and Torch ANN components to use np.load/np.save (#772)
  • Persist Embeddings index ids (only used when content storage is disabled) with MessagePack (#773)
  • Persist Reducer component with skops library (#774)
  • Persist NetworkX graph component with MessagePack (#775)
  • Persist Scoring component metadata with MessagePack (#776)
  • Modify vector transforms to load/save data using np.load/np.save (#777)
  • Refactor embeddings configuration into separate component (#778)
  • Document txtai index format (#779)

Bug Fixes

  • Translation: AttributeError: 'ModelInfo' object has no attribute 'modelId' (#750)
  • Change RAGTask to RagTask (#763)
  • Notebook 42 error (#768)

v7.3.0

15 Jul 16:06
Compare
Choose a tag to compare

This release adds a new RAG front-end application template, streaming LLM and streaming RAG support along with significant text extraction improvements

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add support for streaming LLM generation (#680)
  • Add RAG API endpoint (#735)
  • Add RAG deepdive notebook (#737)
  • Add RAG example application (#743)

Improvements

  • Improve textractor pipeline (#748)
  • Can't specify embedding model via API? (#632)
  • Configuration documentation update request (#705)
  • RAG alias for Extractor (#732)
  • Rename Extractor pipeline to RAG (#736)
  • Support max_seq_length parameter with model pooling (#746)

Bug Fixes

  • Fix issue with max tokens for llama.cpp components (#733)
  • Fix issue with loading non-transformer LLM models in Extractor/RAG pipeline (#734)
  • Fix issue with setting quantize=False in HFTrainer pipeline (#747)

v7.2.0

31 May 14:34
Compare
Choose a tag to compare

This release adds Postgres integration for all components, LLM Chat Messages and vectorization with llama.cpp/LiteLLM

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add pgvector ANN backend (#698)
  • Add RDBMS Graph (#699)
  • Add notebook covering txtai integration with Postgres (#701)
  • Add Postgres Full Text Scoring (#713)
  • Add support for chat messages in LLM pipeline (#718)
  • Add support for LiteLLM vector backend (#725)
  • Add support for llama.cpp vector backend (#726)
  • Add notebook showing to run RAG with llama.cpp and LiteLLM (#728)

Improvements

  • Split similarity extras install (#696)
  • Ensure config.path = None and config.path missing mean the same thing (#704)
  • Add close methods to ANN and Graph (#711)
  • Update finalizers to check object attributes haven't already been cleared (#722)
  • Update LLM pipeline to support GPU parameter with llama.cpp backend (#724)
  • Refactor vector module to support additional backends (#727)

Bug Fixes

  • Fix issue with database.search and empty scores (#712)
  • Update HFOnnx pipeline to default to opset 14 (#719)
  • Fix incompatibility with ONNX models and transformers>=4.41.0 (#720)
  • Fix incompatibility between latest skl2onnx and txtai (#729)

v7.1.0

19 Apr 12:54
Compare
Choose a tag to compare

This release adds dynamic embeddings vector support along with semantic graph and RAG improvements

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add support for dynamic vector dimensions (#674)
  • Add batch node and edge creation for graphs (#693)
  • Add notebook on Retrieval Augmented and Guided Generation (#694)

Improvements

  • Pass options to underlying vector models (#675)
  • Move vector model caching from Embeddings to Vectors (#678)
  • Add indexids only search (#691)
  • Create temporary tables once per database session (#692)

Bug Fixes

  • Fix token storage auth error (#676)
  • TypeError: 'NoneType' object is not iterable (#683)
  • Fix issue with hardcoded autoawq version in example notebooks (#686)
  • API deps missing Pillow (#690)

v7.0.0

21 Feb 19:32
Compare
Choose a tag to compare

🎉 We're excited to announce the release of txtai 7.0 🎉

If you like txtai, please remember to give it a ⭐!

7.0 introduces the next generation of the semantic graph. This release adds support for graph search, advanced graph traversal and graph RAG. It also adds binary support to the API, index format improvements and training LoRA/QLoRA models. See below for more.

New Features

  • Add indexing of embeddings graph relationships (#525)
  • Expand the graph capabilities to enable advanced graph traversal (#534, #540)
  • Add feature to return embeddings search results as graph (#644)
  • Add RAG with Semantic Graphs notebook (#645)
  • Graph search results via API (#670)
  • Add knowledge graphs via LLM-driven entity extraction notebook (#671)
  • Add advanced RAG with graph path traversal notebook (#672)
  • Add support for binary content via API (#630)
  • Add MessagePack encoding to API (#658)
  • Add documentation for API security (#627)
  • Add notebook that covers API authorization and authentication (#628)
  • Add top level import for LLM (#648)
  • Add external vectorization notebook (#651)
  • Add configuration override to embeddings.load (#657)
  • Add what's new in txtai 7.0 notebook (#673)

Improvements

  • Benchmark script improvements (#641)
  • ImportError: Textractor pipeline is not available - install "pipeline" extra to enable (#646)
  • Resolve external vector transform functions (#650)
  • Change default embeddings config format to json (#652)
  • Store index ids outside of configuration when content is disabled (#653)
  • Update HFTrainer to add PEFT support (#654)
  • Update 40_Text_to_Speech_Generation.ipynb (#666)- thank you @babinux
  • Adding training dependencies to notebooks (#669)

Bug Fixes

  • Fix various issues with subindex reloading (#618)
  • Fix benchmarks script (#636)
  • Set tokenizer.pad_token when empty for all training paths (#649)
  • Fix documentation code filters (#656)
  • Issues with NetworkX when using graph subindex (#664)

A big thank you goes to Jordan Matelsky (@j6k4m8) for his help in integrating the GrandCypher library into txtai!

v6.3.0

02 Jan 14:54
Compare
Choose a tag to compare

This release adds new LLM inference methods, API Authorization and RAG improvements

📄 New LLM methods. llama.cpp and LiteLLM support added. LLM pipeline now supports Hugging Face models, GGUF files and LLM API inference all with one line of code.

🔒 API Authorization. Adds support for API keys and pluggable authentication methods when running through txtai API.

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add llama.cpp support to LLM (#611)
  • Integrate with Litellm (#554)
  • Add API route dependencies (#623)
  • Add API Authorization (#263, #624)
  • Add notebook on how to build RAG pipelines (#605)
  • Add notebook showing how to use llama.cpp, LiteLLM and custom generation models (#615)

Improvements

  • Enhance textractor to better support RAG use cases (#603)
  • Update text extraction notebook (#604)
  • Extractor (RAG) pipeline improvements (#613)
  • Refactor LLM pipeline to support multiple framework methods (#614)
  • Change API startup event to lifespan event (#625)

Bug Fixes

  • Handle None input properly in Tokenizer (#607)
  • Issue with subdirectories and ZIP compression (#609)
  • Error in 52_Build_RAG_pipelines_with_txtai.ipynb (#620)
  • Add missing skl2onnx dependency (#622)

v6.2.0

08 Nov 14:55
Compare
Choose a tag to compare

This release adds binary quantization, bind parameters for multimedia SQL queries and performance improvements

⚡ Scalar quantization. Supports 1 bit (binary) through 8 bit quantization. Can dramatically reduce vector storage requirements.

🚀 SQL bind parameters. Enables searching binary content with SQL statements, along with being a standard best practice.

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add scalar quantization support to vectors (#583)
  • Feature request: Bind variable support when searching with SQL using Content=True mode (#564)
  • Add cls pooling option (#565)
  • Add prefix parameter for object storage (#568)
  • Add parameter to RetrieveTask to disable directory flattening (#569)
  • Add support for binary indexes to Faiss ANN (#585)
  • Add support for scalar data to torch and numpy ANN backends (#587)
  • Add quantization notebook (#588)
  • Add API extensions notebook (#591)
  • Add env variable to disable macOS MPS devices (#592)

Improvements

  • Allow searching for images (#404)
  • Update LLM pipeline to support template parameter (#566)
  • Update recommended models (#573)
  • Is it possible to add chat history to extractor workflow? (#575)
  • Extractor pipeline improvements (#577)
  • Update documentation (#582)
  • Move vector normalization to vectors module (#584)
  • Update benchmarks to read configuration (#586)
  • Update torch version in Dockerfile (#589)
  • Update Faiss ANN to support IVF strings without number of cells (#594)
  • Update documentation to note SQL bind parameters (#596)

Bug Fixes

  • Inconsistency in Embeddings behavior in Applications (#571)

v6.1.0

26 Sep 19:49
Compare
Choose a tag to compare

This release adds metadata support for client-server databases and custom scoring implementations

🗃️ Client-server database integration. Store index metadata in Postgres, MariaDB/MySQL, MSSQL and more.

🖹 Custom scoring implementations. Store keyword index data in systems such as Elasticsearch. Similar to functionality already available in vector index component.

See below for full details on the new features, improvements and bug fixes.

New Features

  • Add metadata support for client-server databases (#532)
  • Add support for custom scoring instances (#544)
  • Add benchmark script (#522)
  • Add sparse keyword benchmark notebook (#523)
  • Add hybrid search notebook (#526)
  • Add way to load database connection URL via environment variable (#548)
  • Add external database integration notebook (#549)
  • Add weights and index to Application methods (#561)

Improvements

  • Refresh introducing txtai notebook (#520)
  • Calling .reindex() on Application instance (#547)
  • Document how to run API via HTTPS (#553)
  • Update reindex action to support new 6.x configuration (#557)

Bug Fixes

  • ValueError: dictionary update sequence element #0 has length X; 2 is required (#529)
  • Add build script workaround for DuckDB and Pandas 2.1.0 incompatibility (#542)
  • Align API parameter data type to translation pipeline (#550)
  • Summary pipeline error when gpu enabled on mps device (#551)
  • Remove deprecated option from quantize_dynamic (#562)
  • Dates fail in example (#563)