HKUDS / LightRAG

"LightRAG: Simple and Fast Retrieval-Augmented Generation"
https://arxiv.org/abs/2410.05779
MIT License
9.26k stars 1.14k forks source link

Add Oracle database as all type of storage (KV/vector/graph) #257

Closed jin38324 closed 1 week ago

jin38324 commented 1 week ago

This PR introduces Oracle Database support to the LightRAG project, covering key-value (KV), vector, and graph storage.

The integration leverages Oracle's powerful multi-model query capabilities, allowing users to work seamlessly with relational, JSON, and graph data types. In particular, Oracle 23c's vector support and enhanced JSON and graph querying bring significant flexibility and performance improvements to LightRAG, making it easier to integrate in enterprise environments that rely on Oracle infrastructure.

Contributor

@jin38324 @tmuife

Key Features

Importance of This Change

Integrating Oracle Database aligns with LightRAG's objective of expanding RAG systems to handle complex data structures and interdependencies. Oracle's robust data management features ensure that LightRAG maintains high performance, flexibility, and security, even at scale.

Additional Information

Backward Compatibility: This enhancement is fully compatible with existing storage setups, allowing Oracle to be added as an optional backend without impacting current configurations.

Testing: Extensive tests have been implemented to validate Oracle’s performance and functionality as a KV, vector, and graph storage backend across diverse retrieval scenarios.

Example: Sample code demonstrating the use of Oracle Database as a storage solution is provided in the examples.

LarFii commented 1 week ago

Thanks for your excellent contribution, but there are some linting errors. Please make sure to run pre-commit run --all-files before submitting to ensure all linting checks pass.

jin38324 commented 1 week ago

Thanks for your excellent contribution, but there are some linting errors. Please make sure to run pre-commit run --all-files before submitting to ensure all linting checks pass.

pre commit have fixed.

LarFii commented 1 week ago

Thanks. I have merged it.