Repository navigation
Oracle Database 26ai: one-call load of the prebuilt ONNX embedding model (in-database embeddings) - #370
Merged
Conversation
…s carry their own numbers OracleAgentMemoryManager defaults to oci/cohere.embed-v4.0 and oci/openai.gpt-4.1, but litellm's oci/ driver (which oracleagentmemory's Embedder and Llm wrap) does not read ~/.oci/config, so on any machine that authenticates with an OCI profile or `oci session authenticate` token the manager failed with "Missing required parameters: oci_user, oci_fingerprint, ...". For oci/... specs the manager now derives the litellm kwargs itself: a SecurityTokenSigner or API-key Signer from the profile named by OCI_SESSION_PROFILE / OCI_PROFILE (instance and resource principals via OCI_AUTH_TYPE), plus OCI_REGION and OCI_COMPARTMENT_ID. litellm's own OCI_USER / OCI_KEY_FILE variables, when set, are left in charge; `litellm_kwargs=` overrides everything; `oci_litellm_auth()` is public for callers that build the client directly. The manager passes MemoryExtractionConfig where oracleagentmemory provides it instead of the deprecated inline flag. Notebook 44 is OCI-only by default (LOCUS_OAM_EMBEDDER / LOCUS_OAM_LLM still switch providers), its diagnostic probe uses the same auth, and its docstring, banner, thread ids and table prefix carry its own number. Notebooks 36 to 43 still carried titles, banners, self-filenames and table names from an earlier numbering (02, 03, 04, 05, 06, 07, 09, 10, 12, 37, 80); they now say 36 to 43, and their cross-references point at the current numbers. Verified against a live Autonomous Database 26ai in eu-frankfurt-1 with a session-token profile and no OpenAI key: notebooks 37 to 44 pass (44 recalls Alice's preference in a new thread through Oracle agent memory); the Oracle RAG integration suite passes (6, 1 skip for the OpenAI-embedding variant); unit tests, mypy and ruff clean. Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
…us Database One DBMS_VECTOR.LOAD_ONNX_MODEL_CLOUD call against Oracle's prebuilt all-MiniLM-L12-v2 (pre-authenticated URL, no credential) puts a 384-dimension embedding model in the database; the Oracle Database 26ai page and notebook 41's prerequisites now say so, next to the on-premises directory-object path. Verified on an Autonomous Database 26ai in eu-frankfurt-1: the load took six seconds and notebook 41 then runs the fully in-database chunk, embed and search path. Signed-off-by: Federico Kamelhar <federico.kamelhar@oracle.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stacked on #369. The Oracle Database 26ai page and notebook 41's prerequisites now show the one-time model load that makes the fully in-database path work on Autonomous Database: a single
DBMS_VECTOR.LOAD_ONNX_MODEL_CLOUDcall against Oracle's prebuilt all-MiniLM-L12-v2 (pre-authenticated URL from the Oracle Machine Learning blog, no credential), giving a 384-dimension embedding model inside the database; the on-premises directory-object path stays documented next to it.Verification
Autonomous Database 26ai in eu-frankfurt-1: the load took six seconds (
user_mining_modelsshowsALL_MINILM_L12_V2 / EMBEDDING / ONNX,vector_embedding(...)returns 384 dimensions) and notebook 41 then runs the whole chunk, embed andVECTOR_DISTANCEsearch inside the database with no external embedding call.mkdocs build --strict, markdownlint and ruff clean.