-
Notifications
You must be signed in to change notification settings - Fork 6.5k
feat(vector-stores): add ZeusDB integration #20177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
| ) | ||
|
|
||
| # Try to import the real base, else provide a minimal stub | ||
| try: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are there so many try/except imports? Generally all these should be covered assuming the pyproject.toml is setup correctly
| else: | ||
| if dim is None: | ||
| raise ValueError("dim is required when not providing zeusdb_index") | ||
| # Defer zeusdb import to runtime |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why?
| ids.append(_id) | ||
| sims.append(_similarity_from_distance(dist, self._space)) | ||
|
|
||
| from llama_index.core.vector_stores.types import ( # type: ignore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please avoid nested imports
| # Try real llama_index.core first | ||
| # ---------------------------------------- | ||
| try: | ||
| import llama_index.core.vector_stores.types # type: ignore # noqa: F401 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
core is a dependency in the toml. Why wouldn't it be installed?
Description
This pull request adds the ZeusDB vector store integration to LlamaIndex.
ZeusDB is a high-performance, Rust-powered vector database that provides enterprise-grade retrieval capabilities, product quantization (PQ), and persistent storage.
This integration allows users to leverage ZeusDB within LlamaIndex for scalable and efficient vector storage, retrieval, and querying in RAG pipelines.
Changes
Main package integration files
llama-index-integrations/vector_stores/llama-index-vector-stores-zeusdb→ Includes all required integration files generated from the official LlamaIndex CLI scaffold.
Added new files
docs/examples/vector_stores/ZeusDBIndexDemo.ipynb→ Demonstrates ZeusDB integration and usage through Jupyter Notebook examples.
Modified existing files
docs/src/content/docs/framework/module_guides/storing/vector_stores.mddocs/src/content/docs/framework/community/integrations/vector_stores.md→ Added ZeusDB to the vector store documentation and integration listings.
PyPI Package Alignment
The package is already published on PyPI as
llama-index-vector-stores-zeusdb.The integration code and PyPI package code are fully synchronized with this pull request.
Could you please confirm the PyPI username or organization name associated with the official LlamaIndex account so the package can be transferred to your ownership?
Fixes # (issue): N/A
New Package?
Did I fill in the
tool.llamahubsection in thepyproject.tomland provide a detailed README.md for my new integration or package?Version Bump?
Did I bump the version in the
pyproject.tomlfile of the package I am updating? (Except for thellama-index-corepackage)Type of Change
Please delete options that are not relevant.
How Has This Been Tested?
Your pull-request will likely not be merged unless it is covered by some form of impactful unit testing.
Suggested Checklist:
uv run make format; uv run make lintto appease the lint gods