El Carro for Oracle Databases for LangChain
Known Limitations
The library supports El Carro Operator for Oracle 18c and higher versions.
By default the library usesthin mode. for Oracle connectivity,to use thick mode please follow the correspondingsection..
To use VARCHAR2 datatype of size more than 4000 please change the parameterMAX_STRING_SIZE.in the Oracle instance.
Quick Start
Create an El Carro Operator Oracle Instance and a Database (PDB)
In order to use this library, you first need to have an El Carro Operatorsoftware running with an Instance (CDB) and a Database (PDB).
Please follow the steps for El Carro Oracle Operator to provision a new databaseand create a PDB:
Installation
Install this library in avirtualenv using pip.virtualenv is a tool to create isolated Python environments. The basic problem it addresses isone of dependencies and versions, and indirectly permissions.
Withvirtualenv, it’spossible to install this library without needing system installpermissions, and without clashing with the installed systemdependencies.
Supported Python Versions
Python >= 3.8
Mac/Linux
pip install virtualenvvirtualenv <your-env>source <your-env>/bin/activate<your-env>/bin/pip install langchain-google-el-carroWindows
pip install virtualenvvirtualenv <your-env><your-env>\Scripts\activate<your-env>\Scripts\pip.exe install langchain-google-el-carroDocument Loader Usage
Use a document loader to load data as LangChainDocuments.
from langchain_google_el_carro import ElCarroEnginefrom langchain_google_el_carro.loader import \ ElCarroLoader, ElCarroDocumentSaverelcarro_engine = ElCarroEngine.from_instance( "Your El Carro endpoint hostname", # e.g. 127.0.0.1 "Your El Carro endpoint port", # e.g. 3307 "Your PDB name", # e.g. PDB1 "Your DB user", "Your DB password",)loader = ElCarroLoader( elcarro_engine, table_name="my-table-name")docs = loader.lazy_load()See the fullDocument Loader tutorial.
Chat Message History Usage
UseChatMessageHistory to store messages and provide conversationhistory to LLMs.
from langchain_google_el_carro import ElCarroEnginefrom langchain_google_el_carro.chat_message_history import \ ElCarroChatMessageHistoryelcarro_engine = ElCarroEngine.from_instance( "Your El Carro endpoint hostname", # e.g. 127.0.0.1 "Your El Carro endpoint port", # e.g. 3307 "Your PDB name", # e.g. PDB1 "Your DB user", "Your DB password",)history = ElCarroChatMessageHistory( elcarro_engine=elcarro_engine, table_name="my-message-store", session_id="my-session_id")See the fullChat Message History tutorial.
Oracle Thick Mode Connectivity
Thick mode connectivity requires you to install the Oracle Client libraries and passthick_mode=True toElCarroEngine. Follow these sections of the oracledb installation guide:
Example for Linux x64, glibc 2.14+:
wget https://download.oracle.com/otn_software/linux/instantclient/2113000/instantclient-basic-linux.x64-21.13.0.0.0dbru.zip -O /tmp/drv.ziprm -fr /tmp/instantclient_21_13/; unzip /tmp/drv.zip -d /tmpexport LD_LIBRARY_PATH=/tmp/instantclient_21_13/:$LD_LIBRARY_PATHContributions
Contributions to this library are always welcome and highly encouraged.
SeeCONTRIBUTING for more information how to get started.
Please note that this project is released with a Contributor Code of Conduct. By participating inthis project you agree to abide by its terms. SeeCode of Conduct for moreinformation.
License
Apache 2.0 - SeeLICENSEfor more information.
Disclaimer
This is not an officially supported Google product.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-10-30 UTC.