langchain-oracledb
An integration package connecting Oracle Database and LangChain
What it is and what it does
langchain-oracledb bridges LangChain and Oracle Database, providing components to store and retrieve vector embeddings, load documents from Oracle tables, split text using Oracle's native capabilities, and generate embeddings. It is designed for building RAG pipelines that leverage Oracle's AI Vector Search feature.
The package exposes OracleVS for vector storage with similarity search, OracleDocLoader for loading documents from Oracle tables or files, OracleTextSplitter for chunking text by characters, words, or sentences, and OracleEmbeddings for generating embeddings. It depends on oracledb for database connectivity, langchain-core for the integration framework, and standard data-science libraries (numpy, pydantic). Connection to an Oracle Database is required; the package supports both Thin mode (no Oracle Client needed) and Thick mode (with Oracle Client libraries).
Use it for:
- Build a RAG pipeline that stores document embeddings in Oracle and retrieves relevant chunks for LLM context
- Load large documents from Oracle tables, split them into chunks, and index them for semantic search
- Generate embeddings for text stored in Oracle Database and perform similarity searches within LangChain workflows
- Integrate Oracle Autonomous Database as a vector store backend for LangChain applications
- Process documents with Oracle's native text-splitting logic before ingesting into a vector store
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates Oracle Database with LangChain to enable vector search, document loading, text splitting, and embedding generation for building retrieval-augmented generation (RAG) pipelines.
Yes, if you are building a LangChain RAG application on Oracle Database. The package is actively maintained, has low install friction, and no known vulnerabilities. The UPL-1.0 license is permissive but less standard—verify it aligns with your project before committing. The integration is well-documented with examples and covers the full RAG workflow.
Install
langchain-oracledb on PyPI
pip
pip install langchain-oracledbuv
uv add langchain-oracledbpoetry
poetry add langchain-oracledbInstalling langchain-oracledb
Before you install
Low install friction with a pure-Python wheel. Actively maintained with recent releases; last commit 2026-08-14. Depends on langchain-core, langchain-text-splitters, numpy, oracledb, and pydantic—all standard ecosystem packages.
License in practice
Licensed under UPL-1.0 (Oracle Public License), which is permissive but less common than MIT or Apache 2.0. License treatment is marked unclear in metadata; verify compatibility with your project's license policy before adopting.
Quickstart
from langchain_oracledb.vectorstores import OracleVS
from langchain_oracledb.document_loaders.oracleai import OracleTextSplitter
import oracledb
conn = oracledb.connect(user=username, password=password, dsn=dsn)
vector_store = OracleVS(conn, embedding_model, "table_name", DistanceStrategy.EUCLIDEAN_DISTANCE)
vector_store.add_texts(["text"], [{"id": "1"}])
results = vector_store.similarity_search("query", 1)
Requires an active Oracle Database connection and valid credentials (username, password, DSN). Oracle Client libraries optional but some features require Thick mode.
Verify before relying
- Whether UPL-1.0 license is compatible with common commercial or open-source project licenses
- Performance characteristics and scalability limits for large vector stores
- Whether Thin mode (default) covers all use cases or if Thick mode with Oracle Client is often required in practice
Package facts
| License | UPL-1.0 (unclear) |
| Python support | supports the current Python release (<4.0,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — langchain-core, langchain-text-splitters, numpy, oracledb, pydantic |
| Maintenance | actively maintained — 72 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 149,307/month — #10,997 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: langchain_oracledb-1.5.0-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
langchain-qdrantConnects LangChain applications to Qdrant…
permissive · top 5,000 on PyPI
langchain-ociIntegrates LangChain with Oracle Cloud…
unclear · top 15,000 on PyPI
langchain-chromaConnects LangChain applications to Chroma, a…
permissive · top 5,000 on PyPI
langchain-weaviateIntegrates Weaviate vector database with…
permissive · top 15,000 on PyPI
langchain-unstructuredIntegrates LangChain with Unstructured to…
permissive · top 15,000 on PyPI
langchain-milvusIntegrates LangChain with Milvus vector…
permissive · top 15,000 on PyPI
langchain-graph-retrieverRetrieves documents from a graph structure…
permissive · top 15,000 on PyPI
langchain-elasticsearchIntegrates Elasticsearch with LangChain to…
permissive · top 15,000 on PyPI
langchain-text-splittersSplits text documents into chunks using a…
permissive · top 1,000 on PyPI
langchain-astradbIntegrates Astra DB (a serverless vector…
permissive · top 15,000 on PyPI