AlloyDBEngine(
    key: object,
    pool: sqlalchemy.ext.asyncio.engine.AsyncEngine,
    loop: typing.Optional[asyncio.events.AbstractEventLoop],
    thread: typing.Optional[threading.Thread],
)A class for managing connections to a AlloyDB database.
Methods
AlloyDBEngine
AlloyDBEngine(
    key: object,
    pool: sqlalchemy.ext.asyncio.engine.AsyncEngine,
    loop: typing.Optional[asyncio.events.AbstractEventLoop],
    thread: typing.Optional[threading.Thread],
)AlloyDBEngine constructor.
| Parameters | |
|---|---|
| Name | Description | 
key | 
        
          object
          Prevent direct constructor usage.  | 
      
engine | 
        
          AsyncEngine
          Async engine connection pool.  | 
      
loop | 
        
          Optional[asyncio.AbstractEventLoop]
          Async event loop used to create the engine.  | 
      
thread | 
        
          Optional[Thread]
          Thread used to create the engine async.  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
Exception | 
        If the constructor is called directly by the user. | 
_ainit_chat_history_table
_ainit_chat_history_table(table_name: str, schema_name: str = "public") -> NoneCreate an AlloyDB table to save chat history messages.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The table name to store chat history.  | 
      
schema_name | 
        
          str
          The schema name to store the chat history table. Default: "public".  | 
      
_ainit_document_table
_ainit_document_table(
    table_name: str,
    schema_name: str = "public",
    content_column: str = "page_content",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    store_metadata: bool = True,
) -> NoneCreate a table for saving of langchain documents. If table already exists, a DuplicateTableError error is thrown.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The PgSQL database table name.  | 
      
schema_name | 
        
          str
          The schema name. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
metadata_columns | 
        
          List[Column]
          A list of Columns to create for custom metadata. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
store_metadata | 
        
          bool
          Whether to store extra metadata in a metadata column if not described in 'metadata' field list (Default: True).  | 
      
_ainit_vectorstore_table
_ainit_vectorstore_table(
    table_name: str,
    vector_size: int,
    schema_name: str = "public",
    content_column: str = "content",
    embedding_column: str = "embedding",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    id_column: typing.Union[
        str, langchain_google_alloydb_pg.engine.Column
    ] = "langchain_id",
    overwrite_existing: bool = False,
    store_metadata: bool = True,
) -> NoneCreate a table for saving of vectors to be used with AlloyDBVectorStore.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The Postgres database table name.  | 
      
vector_size | 
        
          int
          Vector size for the embedding model to be used.  | 
      
schema_name | 
        
          str
          The schema name. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
embedding_column | 
        
          str
          Name of the column to store vector embeddings. Default: "embedding".  | 
      
metadata_columns | 
        
          List[Column]
          A list of Columns to create for custom metadata. Default: []. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
id_column | 
        
          Union[str, Column]
          Column to store ids. Default: "langchain_id" column name with data type UUID. Optional.  | 
      
overwrite_existing | 
        
          bool
          Whether to drop existing table. Default: False.  | 
      
store_metadata | 
        
          bool
          Whether to store metadata in the table. Default: True.  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
DuplicateTableErro | 
        |
UndefinedObjectErro | 
        |
_aload_table_schema
_aload_table_schema(
    table_name: str, schema_name: str = "public"
) -> sqlalchemy.sql.schema.TableLoad table schema from an existing table in a PgSQL database, potentially from a specific database schema.
| Returns | |
|---|---|
| Type | Description | 
(sqlalchemy.Table) | 
        The loaded table, including its table schema information. | 
_create
_create(
    project_id: str,
    region: str,
    cluster: str,
    instance: str,
    database: str,
    ip_type: typing.Union[str, google.cloud.alloydb.connector.enums.IPTypes],
    user: typing.Optional[str] = None,
    password: typing.Optional[str] = None,
    loop: typing.Optional[asyncio.events.AbstractEventLoop] = None,
    thread: typing.Optional[threading.Thread] = None,
    iam_account_email: typing.Optional[str] = None,
) -> langchain_google_alloydb_pg.engine.AlloyDBEngineCreate an AlloyDBEngine from an AlloyDB instance.
| Parameters | |
|---|---|
| Name | Description | 
project_id | 
        
          str
          GCP project ID.  | 
      
region | 
        
          str
          Cloud AlloyDB instance region.  | 
      
cluster | 
        
          str
          Cloud AlloyDB cluster name.  | 
      
instance | 
        
          str
          Cloud AlloyDB instance name.  | 
      
database | 
        
          str
          Database name.  | 
      
ip_type | 
        
          Union[str, IPTypes]
          IP address type. Defaults to IPTypes.PUBLIC.  | 
      
user | 
        
          Optional[str]
          Cloud AlloyDB user name. Defaults to None.  | 
      
password | 
        
          Optional[str]
          Cloud AlloyDB user password. Defaults to None.  | 
      
loop | 
        
          Optional[asyncio.AbstractEventLoop]
          Async event loop used to create the engine.  | 
      
thread | 
        
          Optional[Thread]
          Thread used to create the engine async.  | 
      
iam_account_email | 
        
          Optional[str]
          IAM service account email.  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
ValueError | 
        Raises error if only one of 'user' or 'password' is specified. | 
| Returns | |
|---|---|
| Type | Description | 
AlloyDBEngine | 
        A newly created AlloyDBEngine instance. | 
_run_as_async
_run_as_async(
    coro: typing.Awaitable[langchain_google_alloydb_pg.engine.T],
) -> langchain_google_alloydb_pg.engine.TRun an async coroutine asynchronously
_run_as_sync
_run_as_sync(
    coro: typing.Awaitable[langchain_google_alloydb_pg.engine.T],
) -> langchain_google_alloydb_pg.engine.TRun an async coroutine synchronously
afrom_instance
afrom_instance(
    project_id: str,
    region: str,
    cluster: str,
    instance: str,
    database: str,
    user: typing.Optional[str] = None,
    password: typing.Optional[str] = None,
    ip_type: typing.Union[
        str, google.cloud.alloydb.connector.enums.IPTypes
    ] = IPTypes.PUBLIC,
    iam_account_email: typing.Optional[str] = None,
) -> langchain_google_alloydb_pg.engine.AlloyDBEngineCreate an AlloyDBEngine from an AlloyDB instance.
| Parameters | |
|---|---|
| Name | Description | 
project_id | 
        
          str
          GCP project ID.  | 
      
region | 
        
          str
          Cloud AlloyDB instance region.  | 
      
cluster | 
        
          str
          Cloud AlloyDB cluster name.  | 
      
instance | 
        
          str
          Cloud AlloyDB instance name.  | 
      
database | 
        
          str
          Cloud AlloyDB database name.  | 
      
user | 
        
          Optional[str], optional
          Cloud AlloyDB user name. Defaults to None.  | 
      
password | 
        
          Optional[str], optional
          Cloud AlloyDB user password. Defaults to None.  | 
      
ip_type | 
        
          Union[str, IPTypes], optional
          IP address type. Defaults to IPTypes.PUBLIC.  | 
      
iam_account_email | 
        
          Optional[str], optional
          IAM service account email. Defaults to None.  | 
      
| Returns | |
|---|---|
| Type | Description | 
AlloyDBEngine | 
        A newly created AlloyDBEngine instance. | 
ainit_chat_history_table
ainit_chat_history_table(table_name: str, schema_name: str = "public") -> NoneCreate an AlloyDB table to save chat history messages.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The table name to store chat history.  | 
      
schema_name | 
        
          str
          The schema name to store chat history table. Default: "public".  | 
      
ainit_document_table
ainit_document_table(
    table_name: str,
    schema_name: str = "public",
    content_column: str = "page_content",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    store_metadata: bool = True,
) -> NoneCreate a table for saving of langchain documents.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The PgSQL database table name.  | 
      
schema_name | 
        
          str
          The schema name. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
metadata_columns | 
        
          List[sqlalchemy.Column]
          A list of SQLAlchemy Columns to create for custom metadata. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
store_metadata | 
        
          bool
          Whether to store extra metadata in a metadata column if not described in 'metadata' field list (Default: True).  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
DuplicateTableErro | 
        |
ainit_vectorstore_table
ainit_vectorstore_table(
    table_name: str,
    vector_size: int,
    schema_name: str = "public",
    content_column: str = "content",
    embedding_column: str = "embedding",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    id_column: typing.Union[
        str, langchain_google_alloydb_pg.engine.Column
    ] = "langchain_id",
    overwrite_existing: bool = False,
    store_metadata: bool = True,
) -> NoneCreate a table for saving of vectors to be used with AlloyDBVectorStore.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The database table name.  | 
      
vector_size | 
        
          int
          Vector size for the embedding model to be used.  | 
      
schema_name | 
        
          str
          The schema name. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
embedding_column | 
        
          str
          Name of the column to store vector embeddings. Default: "embedding".  | 
      
metadata_columns | 
        
          List[Column]
          A list of Columns to create for custom metadata. Default: []. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
id_column | 
        
          Union[str, Column]
          Column to store ids. Default: "langchain_id" column name with data type UUID. Optional.  | 
      
overwrite_existing | 
        
          bool
          Whether to drop existing table. Default: False.  | 
      
store_metadata | 
        
          bool
          Whether to store metadata in the table. Default: True.  | 
      
close
close() -> NoneDispose of connection pool
from_engine
from_engine(
    engine: sqlalchemy.ext.asyncio.engine.AsyncEngine,
    loop: typing.Optional[asyncio.events.AbstractEventLoop] = None,
) -> langchain_google_alloydb_pg.engine.AlloyDBEngineCreate an AlloyDBEngine instance from an AsyncEngine.
from_engine_args
from_engine_args(
    url: typing.Union[str, sqlalchemy.engine.url.URL], **kwargs: typing.Any
) -> langchain_google_alloydb_pg.engine.AlloyDBEngineCreate an AlloyDBEngine instance from arguments
| Parameter | |
|---|---|
| Name | Description | 
url | 
        
          Optional[str]
          the URL used to connect to a database. Use url or set other arguments.  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
ValueError | 
        If not all database url arguments are specified | 
from_instance
from_instance(
    project_id: str,
    region: str,
    cluster: str,
    instance: str,
    database: str,
    user: typing.Optional[str] = None,
    password: typing.Optional[str] = None,
    ip_type: typing.Union[
        str, google.cloud.alloydb.connector.enums.IPTypes
    ] = IPTypes.PUBLIC,
    iam_account_email: typing.Optional[str] = None,
) -> langchain_google_alloydb_pg.engine.AlloyDBEngineCreate an AlloyDBEngine from an AlloyDB instance.
| Parameters | |
|---|---|
| Name | Description | 
project_id | 
        
          str
          GCP project ID.  | 
      
region | 
        
          str
          Cloud AlloyDB instance region.  | 
      
cluster | 
        
          str
          Cloud AlloyDB cluster name.  | 
      
instance | 
        
          str
          Cloud AlloyDB instance name.  | 
      
database | 
        
          str
          Database name.  | 
      
user | 
        
          Optional[str]
          Cloud AlloyDB user name. Defaults to None.  | 
      
password | 
        
          Optional[str]
          Cloud AlloyDB user password. Defaults to None.  | 
      
ip_type | 
        
          Union[str, IPTypes], optional
          IP address type. Defaults to IPTypes.PUBLIC.  | 
      
iam_account_email | 
        
          Optional[str], optional
          IAM service account email. Defaults to None.  | 
      
| Returns | |
|---|---|
| Type | Description | 
AlloyDBEngine | 
        A newly created AlloyDBEngine instance. | 
init_chat_history_table
init_chat_history_table(table_name: str, schema_name: str = "public") -> NoneCreate a Cloud SQL table to store chat history.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          Table name to store chat history.  | 
      
schema_name | 
        
          str
          The schema name to store chat history table. Default: "public".  | 
      
init_document_table
init_document_table(
    table_name: str,
    schema_name: str = "public",
    content_column: str = "page_content",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    store_metadata: bool = True,
) -> NoneCreate a table for saving of langchain documents.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The PgSQL database table name.  | 
      
schema_name | 
        
          str
          The schema name to store the PgSQL database table. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
metadata_columns | 
        
          List[sqlalchemy.Column]
          A list of SQLAlchemy Columns to create for custom metadata. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
store_metadata | 
        
          bool
          Whether to store extra metadata in a metadata column if not described in 'metadata' field list (Default: True).  | 
      
| Exceptions | |
|---|---|
| Type | Description | 
DuplicateTableErro | 
        |
init_vectorstore_table
init_vectorstore_table(
    table_name: str,
    vector_size: int,
    schema_name: str = "public",
    content_column: str = "content",
    embedding_column: str = "embedding",
    metadata_columns: typing.List[langchain_google_alloydb_pg.engine.Column] = [],
    metadata_json_column: str = "langchain_metadata",
    id_column: typing.Union[
        str, langchain_google_alloydb_pg.engine.Column
    ] = "langchain_id",
    overwrite_existing: bool = False,
    store_metadata: bool = True,
) -> NoneCreate a table for saving of vectors to be used with AlloyDBVectorStore.
| Parameters | |
|---|---|
| Name | Description | 
table_name | 
        
          str
          The database table name.  | 
      
vector_size | 
        
          int
          Vector size for the embedding model to be used.  | 
      
schema_name | 
        
          str
          The schema name. Default: "public".  | 
      
content_column | 
        
          str
          Name of the column to store document content. Default: "page_content".  | 
      
embedding_column | 
        
          str
          Name of the column to store vector embeddings. Default: "embedding".  | 
      
metadata_columns | 
        
          List[Column]
          A list of Columns to create for custom metadata. Default: []. Optional.  | 
      
metadata_json_column | 
        
          str
          The column to store extra metadata in JSON format. Default: "langchain_metadata". Optional.  | 
      
id_column | 
        
          Union[str, Column]
          Column to store ids. Default: "langchain_id" column name with data type UUID. Optional.  | 
      
overwrite_existing | 
        
          bool
          Whether to drop existing table. Default: False.  | 
      
store_metadata | 
        
          bool
          Whether to store metadata in the table. Default: True.  |