langchain_community.document_loaders.sql_database.SQLDatabaseLoader

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

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

为了与数据库通信,文档加载程序使用 LangChain 集成工具包中的 SQLDatabase 工具。

每个文档表示结果中的一行。

参数
  • query (Union[str, Select]) – 要执行的查询。

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

  • sqlalchemy_kwargs – SQLAlchemy’s create_engine 的更多关键字参数。

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

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

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

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

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

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

方法

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

参数 query

要执行的查询。

alazy_load()

Document 的懒加载。

aload()

将数据加载到 Document 对象中。

lazy_load()

Document 的懒加载。

load()

将数据加载到 Document 对象中。

load_and_split([text_splitter])

加载 Documents 并将其分割成块。

metadata_default_mapper(row[, column_names])

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

page_content_default_mapper(row[, column_names])

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

__init__(query: Union[str, Select], db: SQLDatabase, *, parameters: Optional[Dict[str, Any]] = None, page_content_mapper: Optional[Callable[[...], str]] = None, metadata_mapper: Optional[Callable[[...], Dict[str, Any]]] = None, source_columns: Optional[Sequence[str]] = None, include_rownum_into_metadata: bool = False, include_query_into_metadata: bool = False)[source]
参数
  • query (Union[str, Select]) – 要执行的查询。

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

  • sqlalchemy_kwargs – SQLAlchemy’s create_engine 的更多关键字参数。

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

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

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

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

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

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

async alazy_load() AsyncIterator[Document]

Document 的懒加载。

返回类型

AsyncIterator[Document]

async aload() List[Document]

将数据加载到 Document 对象中。

返回类型

List[Document]

lazy_load() Iterator[Document][source]

Document 的懒加载。

返回类型

Iterator[Document]

load() List[Document]

将数据加载到 Document 对象中。

返回类型

List[Document]

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

加载数据并分割为块。块作为Document返回。

不要重写此方法。应考虑将其弃用!

参数

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

返回

文档列表。

返回类型

List[Document]

静态 metadata_default_mapper(row: 行映射, column_names: Optional[列表[str]] = None) 字典[str, 任意类型][源代码]

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

参数
  • row (行映射) –

  • column_names (Optional[列表[str]]) –

返回类型

字典[str, 任意类型]

静态 page_content_default_mapper(row: 行映射, column_names: Optional[列表[str]] = None) str[源代码]

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

参数
  • row (行映射) –

  • column_names (Optional[列表[str]]) –

返回类型

str