SQLDatabaseLoader#

class langchain_community.document_loaders.sql_database.SQLDatabaseLoader(query: str | Select, db: SQLDatabase, *, parameters: Dict[str, Any] | None = None, page_content_mapper: Callable[[...], str] | None = None, metadata_mapper: Callable[[...], Dict[str, Any]] | None = None, source_columns: Sequence[str] | None = None, include_rownum_into_metadata: bool = False, include_query_into_metadata: bool = False)[来源]#

通过查询SQLAlchemy支持的数据库表来加载文档。

为了与数据库进行通信,文档加载器使用了来自LangChain集成工具包的SQLDatabase实用工具。

每个文档代表结果的一行。

Parameters:
  • query (str | Select) – 要执行的查询。

  • db (SQLDatabase) – 一个LangChain SQLDatabase,封装了一个SQLAlchemy引擎。

  • sqlalchemy_kwargs – 更多用于SQLAlchemy的create_engine的关键字参数。

  • parameters (Dict[str, Any] | None) – 可选。传递给查询的参数。

  • page_content_mapper (Callable[[...], str] | None) – 可选。用于将一行转换为字符串的函数,以用作文档的page_content。默认情况下,加载器将整行序列化为字符串,包括所有列。

  • metadata_mapper (Callable[[...], Dict[str, Any]] | None) – 可选。用于将一行数据转换为字典的函数,作为文档的metadata使用。默认情况下,不会选择任何列到元数据字典中。

  • source_columns (Sequence[str] | None) – 可选。用作元数据字典中source的列名。

  • include_rownum_into_metadata (bool) – 可选。是否将行号包含到元数据字典中。默认值:False。

  • include_query_into_metadata (bool) – 可选。是否将查询表达式包含到元数据字典中。默认值:False。

方法

__init__(query, db, *[, parameters, ...])

alazy_load()

一个用于文档的懒加载器。

aload()

将数据加载到Document对象中。

lazy_load()

一个用于文档的懒加载器。

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

加载文档并将其分割成块。

metadata_default_mapper(row[, column_names])

一个合理的默认函数,用于将记录转换为“元数据”字典。

page_content_default_mapper(row[, column_names])

一个合理的默认函数,用于将记录转换为“页面内容”字符串。

__init__(query: str | Select, db: SQLDatabase, *, parameters: Dict[str, Any] | None = None, page_content_mapper: Callable[[...], str] | None = None, metadata_mapper: Callable[[...], Dict[str, Any]] | None = None, source_columns: Sequence[str] | None = None, include_rownum_into_metadata: bool = False, include_query_into_metadata: bool = False)[来源]#
Parameters:
  • query (str | Select) – 要执行的查询。

  • db (SQLDatabase) – 一个LangChain SQLDatabase,封装了一个SQLAlchemy引擎。

  • sqlalchemy_kwargs – 更多用于SQLAlchemy的create_engine的关键字参数。

  • parameters (Dict[str, Any] | None) – 可选。传递给查询的参数。

  • page_content_mapper (Callable[[...], str] | None) – 可选。用于将一行转换为字符串的函数,以用作文档的page_content。默认情况下,加载器将整行序列化为字符串,包括所有列。

  • metadata_mapper (Callable[[...], Dict[str, Any]] | None) – 可选。用于将一行数据转换为字典的函数,作为文档的metadata使用。默认情况下,不会选择任何列到元数据字典中。

  • source_columns (Sequence[str] | None) – 可选。用作元数据字典中source的列名。

  • include_rownum_into_metadata (bool) – 可选。是否将行号包含到元数据字典中。默认值:False。

  • include_query_into_metadata (bool) – 可选。是否将查询表达式包含到元数据字典中。默认值:False。

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document][source]#

文档的懒加载器。

Return type:

迭代器[文档]

load() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

load_and_split(text_splitter: TextSplitter | None = None) list[Document]#

加载文档并将其分割成块。块以文档形式返回。

不要重写此方法。它应该被视为已弃用!

Parameters:

text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。

Returns:

文档列表。

Return type:

列表[Document]

static metadata_default_mapper(row: RowMapping, column_names: List[str] | None = None) Dict[str, Any][source]#

一个合理的默认函数,用于将记录转换为“元数据”字典。

Parameters:
  • row (RowMapping)

  • column_names (List[str] | None)

Return type:

Dict[str, Any]

static page_content_default_mapper(row: RowMapping, column_names: List[str] | None = None) str[source]#

一个合理的默认函数,用于将记录转换为“页面内容”字符串。

Parameters:
  • row (RowMapping)

  • column_names (List[str] | None)

Return type:

字符串