Changelog

Superlinked through time.

2024-11-06

  • Framework: v12.2.0 - v12.23.0

  • Server: v12.2.0 - v12.23.0

  • Batch: v1.13.1 - v1.15.2

Added

  • Simplified Superlinked Imports: Users can now import Superlinked using a single import statement import superlinked as sl, eliminating the need to remember the import path of each object.

  • Support for OpenCLIP Models: Added support for OpenCLIP models in image embeddings, extending the supported models to include OpenCLIP and sentence-transformers supported vision encoders.

Fixed

  • File Discovery Issues: Resolved file discovery issues experienced by Yassine.

  • Dynamic Cache Directory for Sentence-Transformers: Made the sentence-transformers cache directory dynamic to ensure compatibility with batch operations.

  • Zero Division in Events: Fixed an issue where events with virtually no age resulted in a division by zero error.

  • Storing Unreferenced Fields: Corrected the storage of fields that were not referenced in the index.

  • Default Similarity Weights: Adjusted similarity weights to default to one when a parameter is not provided.

  • StringLists Support in NLQ: Added support for StringLists to be filled by NLQ.

  • Categorical Similarity Node Bug: Fixed a bug affecting events in the categorical similarity node.

  • Error on Unknown ID: Now throws an error if an unknown ID is used, instead of returning similarities for the given scenario.

Misc

  • NLQ Feature Improvements: Made further improvements to the NLQ feature.

  • New NLQ Examples: Added new NLQ examples showcasing product search instead of product reviews.

  • Enhanced Logging: Added further logging for the external message bus.

  • Test Performance Improvement: Improved test performance, reducing execution time from 4.6 seconds to 0.6 seconds.

2024-10-23

  • Framework: v10.1.0 - v12.2.0

  • Server: v10.1.0 - v12.2.0

  • Batch: v1.11.1 - v1.13.1

Added

  • Stack Trace in JSON Logging: Enhanced JSON logging by adding stack traces to facilitate debugging.

Fixed

  • Support SchemaA and SchemaB both affecting SchemaC: Added support for scenarios where both SchemaA and SchemaB can affect SchemaC, such as users being influenced by paragraphs they read and comments they like.

  • Registry Bug: Resolved an internal registry bug.

2024-10-9

  • Framework: v9.43.0 - v10.1.0

  • Server: v9.42.1 - 10.1.0 (running with framework/v10.1.0)

  • Batch: v1.8.0 - v1.11.1

Added

  • Optional Params in Query: Params in Query are now optional. If not filled during a query, the clause will not affect the query results.

  • Support for VDBs in Notebooks: Introduced the InteractiveExecutor to support connecting to different VDBs from a notebook environment.

  • Simplified Query Definition: Users can now provide the space as a parameter when only one field is suitable, e.g., .similar(number_space, 3) instead of .similar(number_space.number, 3).

  • Stacktrace in JSON Logs: Added stacktrace to JSON logs for improved debugging.

Fixed

  • Plot Rendering in Notebooks: Added support to render notebooks properly across different environments.

  • Redis Incorrect Results: Fixed a naming issue that caused Redis to return incorrect results. Continuous testing of VDB integrations is planned to prevent such issues.

  • Constrain Category Choices in NLQ: NLQ can no longer "hallucinate" categories that do not exist for a given query.

2024-09-25

  • Framework: v9.33.0 - v9.43.0

  • Server: v9.33.0 - v9.42.1 (running with framework/v9.42.1)

  • Batch: v1.4.0 - v1.8.0

Added

  • NLQ support for IN and NOT_IN operators: Added support for NLQ to translate natural language to IN and NOT_IN operators.

  • Logging for superlinked components: Logging was added for unified debugging and observability, led by Krisztian.

  • Basic caching for text-embeddings: Implemented caching for 10k items to handle repeating inputs efficiently.

Fixed

  • Chunking with hard-filters: Fixed an issue where chunking was breaking hard-filters.

  • Limit NLQ to respect given categories: Ensured NLQ does not "hallucinate" categories not present in the application.

Changed

  • Image embedding model update: Replaced the image embedding model in the use-case notebook with the latest model.

Misc

  • Batch infrastructure risk mitigation: Verified that the GCP hosted solution works as intended.

  • Hard-filter compatibility with batch: Ensured compatibility of IN, NOT_IN, LT, LTE, GT, GTE operators with batch-encoded datasets.

2024-09-11

  • Framework: v9.22.1 - v9.33.0

  • Server: v9.33.0 - v9.33.0 (running with framework/v9.33.0)

  • Batch: v1.1.2 - v1.4.0

Added

  • Separated the user code into multiple files: We have separated the previous app.py into dedicated index.py/query.py/api.py, which promotes reusability and explainability of the system behavior.

  • Added “or” and “contains” to the notebooks: Added further examples to notebooks based on user feedback.

Fixed

  • Fixed skewed vectors, when recency was 0: A known limitation of the system is that, if full zero vectors make it to the index or query as an output of a space, then the weighting logic.

  • Added NLQ support for in and not_in operators: Newly introduced hard-filters were not properly handled by NLQ before.

  • Fixed hard-filters with chunking: Hard-filters were not tested with chunking, this is now fixed.

Changed

  • Improved the system message at server startup: Users were experiencing confusing when starting up server as the messages were not clear on the status.

2024-08-28

  • Framework: v9.12.1 - v9.22.1

  • Server: v9.12.1 - v9.22.0 (running with framework/v9.12.1)

  • Batch: v1.1.0 - v1.1.2

Added

  • Event support in batch: Users can now batch calculate with events as well, rendering the online and batch systems in feature parity.

  • Support for more hard filter operations: Added support for LT, LTE, GT, GTE, AND, OR, CONTAINS, NOT_CONTAINS, IN, NOT_IN, unlocking more tabular data heavy use-cases.

  • Optimized GPU usage: Optimized GPU utilization for best performance, which below a certain size (~10k embeddings) is more optimal with CPU.

  • Integration tests of online executor with GPU: Added tests to measure if the frameworks correctly recognize the underlying GPU, if any.

  • Added scores to example notebooks: Expanded all notebooks to show how scores work, allowing users to better understand the underlying vector similarity scores.

  • Further NLQ support: Extended NLQ features with filter support and temperature tuning based on feedback.

Fixed

  • Results were not ordered by score with Redis: Fixed issue where results were not properly ordered by their scores in ascending order.

  • Long categorical embeddings were dominating the results: Fixed an issue that resulted in all 0 vectors that skewed the results by breaking the normalization.

  • Source.put was behaving differently with different inputs: Fixed to work as expected with arrays and data frames alike.

  • Index temperature was not accepting integers: Fixed the index to accept integer temperatures.

Changed

  • Added better formatted logs in tests: Improved logging support for easier issue identification during development.

  • (breaking) Removed status endpoints for initial data loader: Necessary step to allow the executor to be stateless, preparing it for high availability hosting.

2024-08-14

  • Framework: v9.7.0 - v9.12.1

  • Server: v9.6.0 - v9.7.0 (running with v9.2.0)

  • Batch: v1.0.2 - v1.1.0

Added

  • Return similarity scores: Now returning similarity scores along with results, allowing clients to better understand the distribution.

  • Improved feature notebooks: Extended with examples containing similarity scores, querying of recency space, and event parameters (max_count, max_age, temperature).

  • Code quality checks for server: Added automations to ensure server testing and unified code format.

Fixed

  • Recency was not always using the same NOW from the context: Fixed to use the correct reference point.

2024-08-07

  • Framework: v9.7.0

  • Server: v9.6.0

  • Batch: v1.0.2

Added

  • Bumped sentence-transformers to 3.0.1: Allows experimentation with highest scoring models from mteb leaderboard.

  • Support for empty list embedding: Enables ingestion of data with lists where not all rows have an item.

  • Default limits to vector database connectors: Set default return of 10 items for both Redis and Mongo.

  • Natural Language Queries: Users can describe parameters for prompting the underlying model.

  • Support logarithmic number embeddings: Captures non-linear preferences with large values.

Fixed

  • Negative weights boosting recommendations: Fixed issues within the event handling system.

  • Negative weight now applied even for the first received event: Addressed bug where negative weights only worked after a positively weighted event.

Last updated