Skip to content

Releases: marqo-ai/marqo

Release 2.5.1

11 May 07:01
0cb013a
Compare
Choose a tag to compare

2.5.1

Bug fixes and minor changes

  • More stable recommend endpoint (#825).
  • Change error code when using IN filter operator on an unstructured index (#823).
  • New index settings validation endpoint for Cloud use (#809).

Release 2.5.0

02 May 05:33
6e40f6c
Compare
Choose a tag to compare

2.5.0

New features

  • New ‘embed’ endpoint (POST /indexes/{index_name}/embed) (#803). Marqo can now perform inference and return the embeddings for a single piece or list of content, where content can be either a string or weighted dictionary of strings. See usage here.
  • New ‘recommend’ endpoint (POST /indexes/{index_name}/recommend) (#816). Given a list of existing document IDs, Marqo can now recommend similar documents by performing a search on interpolated vectors from the documents. See usage here.
  • Add Inference Cache to speed up frequent search and embed requests (#802). Marqo now caches embeddings generated during inference. The cache size and type can be configured with MARQO_INFERENCE_CACHE_SIZE and MARQO_INFERENCE_CACHE_TYPE. See configuration instructions here.
  • Add configurable search timeout (#813). Backend timeout now defaults to 1s, but can be configured with the environment variable VESPA_SEARCH_TIMEOUT_MS. See configuration instructions here.
  • More informative get_cuda_info response (#811). New keys: utilization memory_used_percent have been added for easier tracking of cuda device status. See here for more information.

Bug fixes and minor changes

  • Upgraded open_clip_torch, timm, and safetensors for access to new models (#810)

Contributor shout-outs

  • Shoutout to all our 4.1k stargazers! Thanks for continuing to use our product and helping Marqo grow.
  • Keep on sharing your questions and feedback on our forum and Slack channel! If you have any more inquiries or thoughts, please don’t hesitate to reach out.

Release 2.4.3

11 May 06:52
d1ef149
Compare
Choose a tag to compare

2.4.3

Bug fixes and minor changes

  • Fix incorrect Marqo version number (#805). Version number updated from 2.4.1 to 2.4.3

2.4.2

Bug fixes and minor changes

  • Better response for truncated images in add_documents (#797). Truncated images no longer cause a 500 error. The individual document will fail and return a 400 error in add docs response (full response will be a 200).

2.4.1

Bug fixes and minor changes

  • Improve telemetry memory management (#800).

Release 2.2.2

11 May 06:44
aa6572d
Compare
Choose a tag to compare

2.2.2

Bug fixes and minor changes

  • Improve telemetry memory management (#804).

Release 2.4.0

03 Apr 06:49
4ae77fd
Compare
Choose a tag to compare

2.4.0

New features

  • Add IN operator to the query filter string DSL (#790, #793, & #795).
    For structured indexes, you can now use the IN keyword to restrict text and integer fields to be within a list of values. See usage here.

  • Add no_model option for index creation (#789). This allows for indexes that do no vectorisation,
    providing easy use of custom vectors with no risk of accidentally mixing them up with Marqo-generated vectors. See usage here.

  • Optional q parameter for the search endpoint if context vectors are provided. (#789).
    This is particularly useful when using context vectors to search across your documents that have custom vector fields. See usage here.

Bug fixes and minor changes

  • Improve error message for defining tensorFields when adding documents to a structured index (#788).

Contributor shout-outs

  • A huge thank you to all our 4.1k stargazers! We appreciate all of you continuing to use our product and helping Marqo grow.
  • Thanks for sharing your questions and feedback on our forum and
    Slack channel!
    If you have any more inquiries or thoughts, please don’t hesitate to reach out.

Release 2.3.0

12 Mar 06:54
2043eda
Compare
Choose a tag to compare

2.3.0

New features

  • New update_documents API (#773). Structured indexes now support high throughput partial updates to non-tensor fields. Unstructured indexes do not support partial updates. See usages here
  • The custom vectors feature is now supported again for both structured and unstructured indexes (#777). You can now add externally generated vectors to Marqo documents. See usages here

Bug fixes and minor changes

  • Fix an issue where non-default distance metrics are not configured correctly with unstructured indexes (#772).
  • Introduce a guide for running Marqo open source in production environments, offering insights and best practices (#775).
  • Remove outdated examples from the README to improve clarity and relevance (#766).

Contributor shout-outs

  • A huge thank you to all our 4k stargazers! This is a new milestone for Marqo!
  • Stay connected and share your thoughts on our forum and Slack channel! Your insights, questions, and feedback are always welcome and highly appreciated.

Release 2.2.1

20 Feb 22:43
3bd949c
Compare
Choose a tag to compare

2.2.1

Bug fixes and minor changes

  • Fix response code for vector store timeout, change it from 429 to 504 (#763)

Release 2.2.0

12 Feb 02:23
b2125a8
Compare
Choose a tag to compare

2.2.0

New features

  • Support filtering on document ID with structured indexes. This was already supported with unstructured indexes (#749)
  • New structured index data types: long, double, array<long> and array<double> for a higher precision and range of values Available for indexes created with Marqo 2.2+ (#722)
  • Higher precision numeric fields for unstructured indexes. Unstructured indexes created with Marqo 2.2+ will use double precision floats and longs for a higher precision and wider range of values (#722)
  • Numeric value range validation. Values that are out of range for the field type will now receive a 400 validation error when adding documents. (#722)

Bug fixes and minor changes

  • Fix unstructured index bug where filtering for boolean-like strings (e.g., "true") would not work as expected (#709)
  • Better handling of vector store timeouts. Marqo will now return a 429 (throttled) error message when the backend vector store is receiving more traffic than it can handle(#758)
  • Improved error logging. Stack trace will now always be logged (#745)
  • Better API 500 error message. Marqo will no longer return verbose error messages in the API response (#751)
  • Default index model is now hf/e5-base-v2 (#710)
  • Improve error messages (#746, #747)
  • Improve error handling at startup when vector store is not ready. Marqo will now start and wait for vector store to become available (#752)

Contributor shout-outs

  • A huge thank you to all our 3.9k stargazers!
  • Thank you @Dmitri for helping us identify the issue with running Marqo on older AMD64 processors!

Release 2.1.0

31 Jan 05:02
5439133
Compare
Choose a tag to compare

2.1.0

New features

  • Search result maximum limit and offset greatly increased. Maximum limit parameter increased from 400 to 1,000, offset increased from 1,000 to 10,000. Maximum value for MARQO_MAX_RETRIEVABLE_DOCS configuration is now 10,000 (#735​​, #737​​). See search limit and offset usage here

Bug fixes and minor changes

  • Improved the Marqo bootstrapping process to address unexpected API behaviour when no index has been created yet (#730).
  • Improved validation for create_index settings (#717, #734). Using dependent_fields as a request body parameter will now raise a 400 validation error.
  • Improved data parsing for documents in unstructured indexes (#732).
  • Made vector store layer config upgrades and rollbacks easier (#735​​, #736​​).
  • Readme improvements (#729).

2.0.1

Also included in this release

Bug fixes and minor changes

  • Improved stability of use_existing_tensors feature in add_documents (#725).
  • Improved readability of Marqo start-up logs (#719).
  • Removed obsolete examples (#721, #723).

Release 2.0.0

16 Jan 06:42
6bd548e
Compare
Choose a tag to compare

2.0.0

New features

  • Significant queries-per-second (QPS) and latency improvements in addition to reduced memory and storage requirements. Get a higher QPS and a lower latency for the same infrastructure cost, or get the same performance for much cheaper! In our large-scale experiments, we have achieved 2x QPS improvement, 2x speed-up in P50 search latency and 2.3x speed-up in P99 search latency, compared to previous Marqo versions.
  • Significantly improved recall. You can now get up to 99% recall (depending on your dataset and configuration) without sacrificing performance.
  • Support for bfloat16 numeric type. Index 2x more vectors with the same amount of memory for a minimal reduction in recall and performance.
  • Structured index. You can now create structured indexes, which provide better data validation, higher performance, better recall and better memory efficiency.
  • New API search parameter efSearch. Search API now accepts an optional efSearch parameter which allows you to fine-tune the underlying HNSW search. Increase efSearch to improve recall at a minor cost of QPS and latency. See here for usage.
  • Exact nearest neighbour search. Set "approximate": false in the Search API body to perform an exact nearest neighbour search. This is useful for calculating recall and finding the best efSearch for your dataset. See here for usage.
  • New approximate nearest neighbour space types. Marqo now supports euclidean, angular, dotproduct, prenormalized-angular, and hamming distance metrics. L1, L2 and Linf distance metrics are no longer supported. The distance metric determines how Marqo calculates the closeness between indexed documents and search queries.
  • Easier local runs. Simply run docker run -p 8882:8882 marqoai/marqo:2.0.0 to start Marqo locally on both ARM64 (M-series Macs) and AMD64 machines.

Breaking changes

  • Create index API no longer accept the index_defaults parameter. Attributes previously defined in this object, like textPreprocessing, are now moved out to the top level settings object. See here for details.
  • Create index API's filterStringMaxLength parameter determines the maximum length of strings that are indexed for filtering (default value 20 characters). This limitation does not apply to structured indexes. See here for details.
  • Most APIs now require camel case request bodies and return camel case responses. See create index, search and add documents for a few examples.
  • New Marqo configuration parameters See here for usage.
  • Search response _highlights attribute is now a list of dictionaries. See here for new usage.
  • Add documents multimodal fields are defined as normal fields and not dictionaries. Furthermore, the mappings object is optional for structured indexes. See here for usage.
  • Add documents does not accept the refresh parameter anymore.
  • The following features are available in Marqo 1.5, but are not supported by Marqo 2.0 and will be added in future releases:
    • Separate models for search and add documents
    • Prefixes for text chunks and queries
    • Configurable document count limit for add documents. There is a non-configurable limit of 128 in Marqo 2.0.
    • Custom (externally generated) vectors and no_model option for index creation.
    • Optional Search API q parameter when searching with context vectors.

Contributor shout-outs

  • Thank you to the community for your invaluable feedback, which drove the prioritisation for this major release.
  • A warm thank you to all our 3.9k stargazers.