El Carro for Oracle Databases for LangChain

imageimageimage

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-carro

Windows

pip install virtualenvvirtualenv <your-env><your-env>\Scripts\activate<your-env>\Scripts\pip.exe install langchain-google-el-carro

Document 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_PATH

Contributions

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.