meilisearch/integration-guides

Changes related to Meilisearch v1.6.0

curquiza opened this issue ยท 11 comments

This issue gathers the changes related to the v1.6.0 of Meilisearch that will impact the integrations scope.

๐Ÿ“… Release date: 15/01/2024

TODO

Before pre-release

  • Define (with the help of PMs) which integrations should be updated to include the new features in the latest version of Meilisaearch. Most of the time, it will be tier #1 integrations.
    Integration to update:
    • JS
    • PHP

Pre-release

  • With the help of this CI running on rc0, define in which SDKs we have to update the tests
  • Create a branch by running Octopus script: only open branches for the integrations we choose to update + Kubernetes repository + Cloud provider repository (changing the version) + SDKs/integrations where we must update the test suite.
  • Update integrations according to the new Meilisearch features (cf below which feature and how ๐Ÿ‘‡)
    โš ๏ธ If possible, this step is done before pre-release, once the feature is ready thanks to the prototype released by the engine team
    • JS
    • PHP
  • Update integrations having failing test suites with the new RC of Meilisearch (refer to this CI)
    • JS
    • PHP
    • Python
    • Go
    • Dart
  • Add code samples for the chosen up-to-date integrations with the new version of Meilisearch
  • Update the library version of the related integrations and prepare the changelogs

Release day

  • โš ๏ธ for one of these SDKs (Dart, Python, Go) that don't have integrated the new vector search, create appropriate communication in issues and release notes!
  • Release the integrations
    • JS
    • PHP
  • Merge PR related to vector search communication for
    • Python
    • Go
    • Dart
  • Merge the related PR in K8s repository
  • Publish DevOps tools:
    • create the git tag
    • publish images (steps are in CONTRIBUTING.md)
  • Open issues in the repositories that are not up-to-date with the latest version of Meilisearch (including code samples)

Features to implement

proximityPrecision settings

Issue: meilisearch/meilisearch#4187
Usage: https://www.notion.so/meilisearch/Customize-proximity-precision-usage-aa69c2bab2c3402bab9340ae4def4577

Should be implemented for

  • JS
  • PHP

Vector search v2

Usage: https://www.notion.so/meilisearch/v1-6-Hybrid-Search-Embedders-ea42c82f90cc4bc0be1eeb917c1118c8

By Meili developers

  • JS
  • PHP

By community if available

  • Python
  • Go
  • Dart

-> โš ๏ธ If not implemented by community, we will have to be clear (release notes + issues) the experimental vector search feature is broken in the SDK until someone implements it.

(?) Python for vector search v2

I verified that at a minimum the python tests will need updating for vector search.

test_vector_search result:

meilisearch.errors.MeilisearchApiError: MeilisearchApiError. Error code: missing_search_hybrid. Error message: Invalid request: missing `hybrid` parameter when both `q` and `vector` are present.. Hint: It might not be working because you're not up to date with the Meilisearch version that search call requires. Error documentation: https://docs.meilisearch.com/errors#missing_search_hybrid Error type: invalid_request

Issues opened for proximityPrecision โœ…

Are k8s and cloud providers released @brunoocasali?

Also missing this PR to be merged on the dart side. Having an issue with linter ๐Ÿ˜ข

Discussed with @brunoocasali, k8s and cloud providers are done

Closing this issue then

is this error fixed now? I'm still getting this erro?

is this error fixed now? I'm still getting this erro?

Which SDK are you using? Which version of Meiliesarch? What is the error message?

is this error fixed now? I'm still getting this erro?

Which SDK are you using? Which version of Meiliesarch? What is the error message?

I've got the same error when I do vector search using python sdk 0.30.0 and the version of Meilisearch is 1.6.2:
meilisearch.errors.MeilisearchApiError: MeilisearchApiError. Error code: missing_search_hybrid. Error message: Invalid request: missing hybridparameter when bothqandvector are present.. Hint: It might not be working because you're not up to date with the Meilisearch version that search call requires. Error documentation: https://docs.meilisearch.com/errors#missing_search_hybrid Error type: invalid_request

I've got the same error when I do vector search using python sdk 0.30.0 and the version of Meilisearch is 1.6.2

Did you include the hybrid parameter with your search?

@sanders41 I'm following this tutorial and I'm get the same error and there is nothing about the error code in the docs.

https://blog.meilisearch.com/langchain-semantic-search-tutorial/

image

@sanders41 I'm following this tutorial and I'm get the same error and there is nothing about the error code in the docs.

There were breaking changes to vector search in 1.6. I have not used LangChain and don't know much about it, but looking at the example provided it doesn't look like LangChain is compatible with Meilisearch 1.6+ vector search.

@Strift I'm not sure if LangChain needs to be updated, if the tutorial needs updating to mention it works with Meilisearch >=1.3 <1.6, or if it is possible somehow to make it work with Meilisearch 1.6+?

I tried to add an embedder to my meilisearch instance but I got the error bellow. When we add an embedded to meili, it will generate vectors for all documents or only use to embedding queries?

  "message": "The `_vectors` field in the document with id: `\"0c297f065a8c46cab12857ca5999c371\"` is not an object. Was expecting an object with a key for each embedder with manually provided vectors, but instead got `[-0......."

Hello @kauly,

If you want to use LangChain, please use a previous Meilisearch version, like v1.5.

Our current LangChain integration is intended for v1.3, v1.4, and v1.5. @CaroFG is currently updating our LangChain integration. After this, we'll update the tutorial too. ๐Ÿ™

Thanks @sanders41 for the heads up.