Class AlloyDBDocumentSaver (0.8.0)

AlloyDBDocumentSaver(
    key: object,
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    saver: langchain_google_alloydb_pg.async_loader.AsyncAlloyDBDocumentSaver,
)

A class for saving langchain documents into a PostgreSQL database table.

Methods

AlloyDBDocumentSaver

AlloyDBDocumentSaver(
    key: object,
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    saver: langchain_google_alloydb_pg.async_loader.AsyncAlloyDBDocumentSaver,
)

AlloyDBDocumentSaver constructor.

Parameters
Name Description
key object

Prevent direct constructor usage.

engine AlloyDBEngine

AsyncEngine with pool connection to the postgres database

table_name str

Name of table to query.

content_column str

Column that represent a Document's page_content.

schema_name str, optional

Name of the schema where table is located. Defaults to "public".

metadata_columns List[str], optional

Column(s) that represent a Document's metadata. Defaults to empty list.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to None.

Exceptions
Type Description
Exception if called directly by user.

aadd_documents

aadd_documents(docs: typing.List[langchain_core.documents.base.Document]) -> None

Save documents in the DocumentSaver table. Document’s metadata is added to columns if found or stored in langchain_metadata JSON column.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be saved.

add_documents

add_documents(docs: typing.List[langchain_core.documents.base.Document]) -> None

Save documents in the DocumentSaver table. Document’s metadata is added to columns if found or stored in langchain_metadata JSON column.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be saved.

adelete

adelete(docs: typing.List[langchain_core.documents.base.Document]) -> None

Delete all instances of a document from the DocumentSaver table by matching the entire Document object.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be deleted.

create

create(
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    table_name: str,
    schema_name: str = "public",
    content_column: str = "page_content",
    metadata_columns: typing.List[str] = [],
    metadata_json_column: typing.Optional[str] = "langchain_metadata",
) -> langchain_google_alloydb_pg.loader.AlloyDBDocumentSaver

Create an AlloyDBDocumentSaver instance.

Parameters
Name Description
engine AlloyDBEngine

AsyncEngine with pool connection to the postgres database

table_name str

Name of table to query.

schema_name str, optional

Name of schema where the table is located. Defaults to "public".

content_column str, optional

Column that represent a Document's page_content. Defaults to "page_content".

metadata_columns List[str], optional

Column(s) that represent a Document's metadata. Defaults to an empty list.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

create_sync

create_sync(
    engine: langchain_google_alloydb_pg.engine.AlloyDBEngine,
    table_name: str,
    schema_name: str = "public",
    content_column: str = "page_content",
    metadata_columns: typing.List[str] = [],
    metadata_json_column: str = "langchain_metadata",
) -> langchain_google_alloydb_pg.loader.AlloyDBDocumentSaver

Create an AlloyDBDocumentSaver instance.

Parameters
Name Description
engine AlloyDBEngine

AsyncEngine with pool connection to the postgres database

table_name str

Name of table to query.

schema_name str, optional

Name of schema where the table is located. Defaults to "public".

content_column str, optional

Column that represent a Document's page_content. Defaults to "page_content".

metadata_columns List[str], optional

Column(s) that represent a Document's metadata. Defaults to an empty list.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

delete

delete(docs: typing.List[langchain_core.documents.base.Document]) -> None

Delete all instances of a document from the DocumentSaver table by matching the entire Document object.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be deleted.