LangChain integrations for Google El Carro Oracle
Project description
El Carro for Oracle Databases for Langchain
This package contains the LangChain integrations for the Google El Carro Oracle Operator.
🧪 Preview: This feature is covered by the Pre-GA Offerings Terms of the Google Cloud Terms of Service. Please note that pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. For more information, see the launch stage descriptions
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.
Getting Started
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.
pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install langchain-google-el-carro-python
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
Contributing
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
Hashes for langchain_google_el_carro-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 128c494af655dc8ee959e896601c4f1013ecb2a6ab0320508ef236507d12ec59 |
|
MD5 | 9786d94df1c333ca53e5ab1c6236dec0 |
|
BLAKE2b-256 | 5dd91e7ed33d70e7c5699295616c980724620a7d9872dffbc925959e50ec74a7 |