Commit e1fbafe
authored
Python: feat(oracle): add new Oracle connector for Semantic Kernel (#13229)
…ync support
### Motivation and Context
<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
1. Why is this change required?
2. What problem does it solve?
3. What scenario does it contribute to?
4. If it fixes an open issue, please link to the issue here.
-->
This change is required to enable Semantic Kernel users to store and
retrieve embeddings using Oracle databases. Currently, Semantic Kernel
supports vector storage for several backends, but Oracle was missing.
This connector solves that gap by providing full async support, native
VECTOR type handling, and vector index management.
### Description
<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
This PR introduces a new Oracle connector for Semantic Kernel with the
following features:
- Asynchronous upsert, get, delete and search operations for memory
records.
- Native Oracle VECTOR type support for storing embeddings efficiently.
- Support for HNSW and IVFFLAT vector indexes for similarity search.
- Integration with Semantic Kernel collections, enabling semantic search
and memory operations.
- Comprehensive unit tests to ensure correctness and stability.
The connector is designed to work seamlessly with existing Semantic
Kernel memory abstractions and follows the same async patterns as other
vector stores.
Integration tests have also been implemented and verified locally;
however, they are not included in this PR because the current CI
environment setup for Oracle Database support is unknown.
Once guidance is provided on Oracle DB availability in the CI pipeline,
integration tests can be enabled and added in a follow-up PR.
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄1 parent 9cb9aba commit e1fbafe
File tree
4 files changed
+1692
-1
lines changed- python
- semantic_kernel
- connectors
- data
- tests/unit/connectors/memory
4 files changed
+1692
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
128 | 131 | | |
129 | 132 | | |
130 | 133 | | |
| |||
0 commit comments