SingleStoreLoader
The SingleStoreLoader allows you to load documents directly from a SingleStore database table. It is part of the langchain-singlestore integration package.
Overviewโ
Integration Detailsโ
| Class | Package | JS Support | 
|---|---|---|
SingleStoreLoader | langchain_singlestore | โ | 
Featuresโ
- Load documents lazily to handle large datasets efficiently.
 - Supports native asynchronous operations.
 - Easily configurable to work with different database schemas.
 
Setupโ
To use the SingleStoreLoader, you need to install the langchain-singlestore package. Follow the installation instructions below.
Installationโ
Install langchain_singlestore.
%pip install -qU langchain_singlestore
Initializationโ
To initialize SingleStoreLoader, you need to provide connection parameters for the SingleStore database and specify the table and fields to load documents from.
Required Parameters:โ
- host (
str): Hostname, IP address, or URL for the database. - table_name (
str): Name of the table to query. Defaults toembeddings. - content_field (
str): Field containing document content. Defaults tocontent. - metadata_field (
str): Field containing document metadata. Defaults tometadata. 
Optional Parameters:โ
- id_field (
str): Field containing document IDs. Defaults toid. 
Connection Pool Parameters:โ
- pool_size (
int): Number of active connections in the pool. Defaults to5. - max_overflow (
int): Maximum connections beyondpool_size. Defaults to10. - timeout (
float): Connection timeout in seconds. Defaults to30. 
Additional Options:โ
- pure_python (
bool): Enables pure Python mode. - local_infile (
bool): Allows local file uploads. - charset (
str): Character set for string values. - ssl_key, ssl_cert, ssl_ca (
str): Paths to SSL files. - ssl_disabled (
bool): Disables SSL. - ssl_verify_cert (
bool): Verifies server's certificate. - ssl_verify_identity (
bool): Verifies server's identity. - autocommit (
bool): Enables autocommits. - results_type (
str): Structure of query results (e.g.,tuples,dicts). 
from langchain_singlestore.document_loaders import SingleStoreLoader
loader = SingleStoreLoader(
    host="127.0.0.1:3306/db",
    table_name="documents",
    content_field="content",
    metadata_field="metadata",
    id_field="id",
)
Loadโ
docs = loader.load()
docs[0]
print(docs[0].metadata)
Lazy Loadโ
page = []
for doc in loader.lazy_load():
    page.append(doc)
    if len(page) >= 10:
        # do some paged operation, e.g.
        # index.upsert(page)
        page = []
API referenceโ
For detailed documentation of all SingleStore Document Loader features and configurations head to the github page: https://github.com/singlestore-labs/langchain-singlestore/
Relatedโ
- Document loader conceptual guide
 - Document loader how-to guides