El Carro for Oracle Databases for LangChain

image image image

Known Limitations

  • The library supports El Carro Operator for Oracle 18c and higher versions.

  • By default the library uses thin mode. for Oracle connectivity, to use thick mode please follow the corresponding section. .

  • To use VARCHAR2 datatype of size more than 4000 please change the parameter MAX_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 Operator software running with an Instance (CDB) and a Database (PDB).

Please follow the steps for El Carro Oracle Operator to provision a new database and create a PDB:

Installation

Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.

With virtualenv , it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.

Supported Python Versions

Python >= 3.8

Mac/Linux

 pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install langchain-google-el-carro 

Windows

 pip install virtualenv
virtualenv <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 LangChain Document s.

 from langchain_google_el_carro import ElCarroEngine
from langchain_google_el_carro.loader import \
    ElCarroLoader, ElCarroDocumentSaver

elcarro_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 full Document Loader tutorial.

Chat Message History Usage

Use ChatMessageHistory to store messages and provide conversation history to LLMs.

 from langchain_google_el_carro import ElCarroEngine
from langchain_google_el_carro.chat_message_history import \
    ElCarroChatMessageHistory

elcarro_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 full Chat Message History tutorial.

Oracle Thick Mode Connectivity

Thick mode connectivity requires you to install the Oracle Client libraries and pass thick_mode=True to ElCarroEngine . 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.zip
rm -fr /tmp/instantclient_21_13/; unzip /tmp/drv.zip -d /tmp
export LD_LIBRARY_PATH=/tmp/instantclient_21_13/:$LD_LIBRARY_PATH 

Contributions

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information how to get started.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See Code of Conduct for more information.

License

Apache 2.0 - See LICENSE for more information.

Disclaimer

This is not an officially supported Google product.

Create a Mobile Website
View Site in Mobile | Classic
Share by: