LangChain integrations for Google El Carro Oracle
Project description
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 Documents.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file langchain_google_el_carro-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: langchain_google_el_carro-0.2.0-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a70baf890388f0a069dce446fc93f4d793e8c3b8484b16dc36480b8556797dc3 |
|
MD5 | eabe4e9bb6f2eb40cff1eeeff4dd0c19 |
|
BLAKE2b-256 | 3592a6317ccc042068cd23a7d2934e4effc717c8701f44d767fb4aa666ca0879 |