fix(vector-stores/oracledb): Fix accuracy bug (#6848)

This commit is contained in:
Elif Sema Balcioglu
2026-08-07 14:37:12 +02:00
committed by GitHub
parent b05dc2740f
commit 6fe6140dba
5 changed files with 19 additions and 3 deletions
@@ -3,6 +3,8 @@ title: "Oracle AI Vector Search"
description: "Use Oracle Database AI Vector Search as a vector store in Mem0 for semantic and relational queries."
---
<!-- Copyright (c) 2026, Oracle and/or its affiliates. -->
[Oracle AI Vector Search](https://www.oracle.com/database/ai-vector-search/) stores embeddings in an Oracle table using the native `VECTOR` data type, so you can combine semantic search over unstructured data with relational queries over business data in a single database.
### Requirements
+1 -1
View File
@@ -10,7 +10,7 @@ Mem0 includes built-in support for various popular databases. Memory can utilize
See the list of supported vector databases below.
<Note>
The following vector databases are supported in the Python implementation. The TypeScript implementation currently supports Qdrant, Redis, PGVector, Supabase, LangChain, Azure AI Search, Vectorize, Amazon S3 Vectors, Milvus, Neptune Analytics, and an in-memory store.
The following vector databases are supported in the Python implementation. The TypeScript implementation currently supports Qdrant, Redis, PGVector, Supabase, LangChain, Oracle AI Vector Search, Azure AI Search, Vectorize, Amazon S3 Vectors, Milvus, Neptune Analytics, and an in-memory store.
</Note>
<CardGroup cols={3}>
+4 -2
View File
@@ -1,3 +1,4 @@
# Copyright (c) 2026, Oracle and/or its affiliates.
"""Pydantic configuration for the Oracle AI Vector Search integration."""
import re
@@ -91,8 +92,9 @@ class OracleAIVectorSearchConfig(BaseModel):
exclude_none=True,
)
if self.index_accuracy and not (0 < self.index_accuracy <= 100):
raise ValueError("`index_accuracy` must be between 1 and 100")
if self.index_accuracy is not None:
if not (0 < self.index_accuracy <= 100):
raise ValueError("`index_accuracy` must be between 1 and 100")
if not (0 < self.embedding_model_dims):
raise ValueError("`embedding_model_dims` must be bigger than 0")
+1
View File
@@ -1,3 +1,4 @@
# Copyright (c) 2026, Oracle and/or its affiliates.
"""Oracle AI Vector Search vector store integration for mem0."""
import array
+11
View File
@@ -1,3 +1,4 @@
# Copyright (c) 2026, Oracle and/or its affiliates.
import os
import uuid
from contextlib import nullcontext
@@ -267,6 +268,16 @@ def test_index_parameters_reject_non_string_keys():
)
def test_index_accuracy_rejects_zero():
with pytest.raises(ValueError, match="index_accuracy.*between 1 and 100"):
OracleAIVectorSearchConfig(
collection_name=_unique_collection_name(),
embedding_model_dims=DIM,
client=object(),
index_accuracy=0,
)
def test_index_parameters_canonicalize_int_subclasses():
class FormattedInt(int):
def __format__(self, format_spec):