Skip to content

Conversation

@Sfurti-yb
Copy link
Contributor

Description

Hi, I am reaching out on behalf of YugabyteDB,a high-performance, PostgreSQL-compatible distributed database built for global, internet-scale applications.

This contribution adds support for YugabyteDB as a chat store in LlamaIndex. The implementation is based on the existing PostgreSQL chat store, with modifications and enhancements specific to YugabyteDB’s architecture including the usage of YugabyteDB smart driver.

We’d appreciate it if you could review the changes and guide us on the next steps to have YugabyteDB officially listed as a supported chat store in LlamaIndex

Looking forward to your feedback!

Fixes # (issue)

New Package?

Did I fill in the tool.llamahub section in the pyproject.toml and provide a detailed README.md for my new integration or package?

  • Yes
  • No

Version Bump?

Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

  • Yes
  • No

Type of Change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

Your pull-request will likely not be merged unless it is covered by some form of impactful unit testing.

  • I added new unit tests to cover this change
  • I believe this change is already covered by existing unit tests

Suggested Checklist:

  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Note: We implemented the entire code again instead of just extending from the PostgresChatStore because extending the PostgresChatStore currently introduces psycopg as a transitive dependency. This creates a conflict with psycopg2-yugabytedb, our smart driver, which provides features such as load balancing to better leverage YugabyteDB’s distributed architecture.
However, if it is important for your use case that we directly inherit the PostgresChatStore code, we can make the necessary changes—though this would require removing certain smart driver features like load balancing.

@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Aug 31, 2025
Copy link
Member

@AstraBert AstraBert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok, I left some comments for potential improvements

@AstraBert
Copy link
Member

Also linting and testing are not passing. We will need to make them pass before merging

@Sfurti-yb
Copy link
Contributor Author

@AstraBert I have made the changes, do take a look. Thanks

Copy link
Member

@AstraBert AstraBert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Sep 4, 2025
@AstraBert AstraBert merged commit 774053c into run-llama:main Sep 4, 2025
11 checks passed
@Sfurti-yb
Copy link
Contributor Author

Sfurti-yb commented Sep 8, 2025

Thank you, @AstraBert, for merging the changes.
Could you please let me know the process for getting our integration listed on this page as a supported chat store?

@logan-markewich
Copy link
Collaborator

@Sfurti-yb you can make a PR updating the docs for that page (the docs are in the repo here as well)

@Sfurti-yb
Copy link
Contributor Author

@logan-markewich @AstraBert I have created a PR for the docs update. Do take a look. Thanks.

frankiekim5 pushed a commit to frankiekim5/bedrock-agentcore-memory that referenced this pull request Sep 24, 2025
* Add YugabyteDB as a Chat Store

* Add yugabyte parameters to parse_uri function

* Made changes as per review comments + Added potential fix for linting and test errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants