llama_index icon indicating copy to clipboard operation
llama_index copied to clipboard

[Feature Request]: Update llama-index-vector-stores-weaviate to weaviate-client version 4.x

Open tos-wdp opened this issue 1 year ago • 7 comments

Feature Description

Update llama-index-vector-stores-weaviate from weaviate-client version 3. 26.2 to 4.x

Reason

Methods are deprecated in weaviate-client > 4.0. New features are introduced. A collection upserted with weaviate-client 3.x can not be querried with weaviate-client 4.x

Value of Feature

Adapting to current Weaviate Cloud Service standard gRPC. Avoid deprecation. Use new features of Weaviate.

tos-wdp avatar Mar 07 '24 12:03 tos-wdp

Thank you for your feature request. I understand the need to update the weaviate-client from version 3.26.2 to version 4.x in the llama-index-vector-stores-weaviate module of the LlamaIndex repository. This update would indeed allow the LlamaIndex to adapt to the current Weaviate Cloud Service standard gRPC, avoid deprecated methods, and utilize new features.

However, as a technical support representative, I don't have the ability to make changes to the repository directly. I recommend you to create a new issue in the LlamaIndex repository detailing your feature request. This way, the maintainers of the repository can review your request and consider implementing the changes.

In the meantime, you can update the weaviate-client dependency in your local copy of the LlamaIndex repository. Here's how you can do it:

  1. Navigate to the pyproject.toml file in the llama-index-vector-stores-weaviate module.
  2. Update the weaviate-client version in the [tool.poetry.dependencies] section from ^3.26.2 to ^4.0.0.

Your pyproject.toml should look like this after the update:

[tool.poetry.dependencies]
python = ">=3.8.1,<4.0"
llama-index-core = "^0.10.1"
weaviate-client = "^4.0.0"

Please note that updating the weaviate-client version might require changes in the code where the weaviate-client is used, as the deprecated methods in version 3.x might have been replaced or removed in version 4.x. You can refer to the Weaviate Python client documentation for more information on the changes in version 4.x.

I hope this helps! If you have any other questions or need further clarification, feel free to ask.

Source

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

dosubot[bot] avatar Mar 07 '24 12:03 dosubot[bot]

@tos-wdp agreed this would be a worthwhile update. Would welcome a PR for this update, if you'd be interested in taking it on.

nerdai avatar Mar 07 '24 15:03 nerdai

On it. Batch insertion and class/collection-handling is working already, but the query-builder logic has to change completely.

tos-wdp avatar Mar 08 '24 08:03 tos-wdp

Any news on this, please?

marcelosz avatar Apr 17 '24 03:04 marcelosz

Can we add the multi tenant logic Weaviate offers also?

typefox09 avatar Apr 22 '24 05:04 typefox09

Can we also add the auto_limit (auto_cut) and rerank feature, eg:

openAiReranked = weaviate.query.hybrid(
    query=query,
    alpha=0.9,
    fusion_type=HybridFusion.RELATIVE_SCORE,
    filters=query_filter,
    auto_limit=2,
    rerank=wvc.query.Rerank(
        prop="content",
        query=query
    )
)

typefox09 avatar Apr 23 '24 00:04 typefox09

i want it 😀

hsm207 avatar Apr 25 '24 21:04 hsm207

@typefox09

Can we add the multi tenant logic Weaviate offers also?

I opened #13307 to discuss the design

Let's open a separate issue for each feature we'd like see added so it is easier to track progress.

hsm207 avatar May 08 '24 23:05 hsm207