Mintbase文档加载器#

class langchain_community.document_loaders.mintbase.MintbaseDocumentLoader(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: List[str] | None = None, get_all_tokens: bool = False, max_execution_time: int | None = None)[source]#

从区块链智能合约加载元素。

支持的区块链有:Near主网,Near测试网。

如果未指定BlockchainType,则默认为Near主网。

加载器使用Mintbase API与区块链进行交互。 必须设置MB_API_KEY环境变量才能使用此加载器。

API 每次请求返回 100 个 NFT,并且可以使用 startToken 参数进行分页。

如果get_all_tokens设置为True,加载器将获取合约上的所有代币。请注意,对于拥有大量代币的合约,这可能需要很长时间(例如,10k代币需要100次请求)。因此,默认值为false。

可以设置 max_execution_time(秒)来限制加载程序的执行时间。

Future versions of this loader can:
  • 支持额外的Mintbase API(例如getTokens等)

示例

contractAddress = "nft.yearofchef.near"  # Year of chef contract address
blockchainLoader = MintbaseDocumentLoader(
    contract_address=contractAddress, blockchain_type="mainnet",api_key="omni-site"
)
Parameters:
  • contract_address (str) – 智能合约的地址。

  • blockchainType – 区块链类型。

  • api_key (str) – Mintbase API 密钥。

  • table (str) – 要查询的表的名称

  • select (str) – 查询条件

  • fields (List[str] | None) – 查询后显示的信息

  • get_all_tokens (bool) – 是否获取合约上的所有代币。

  • max_execution_time (int | None) – 最大执行时间(秒)。

  • blockchain_type (Literal['mainnet', 'testnet'])

方法

__init__(contract_address, *, blockchain_type)

alazy_load()

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

aload()

将数据加载到Document对象中。

lazy_load()

文档的懒加载器。

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

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

__init__(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: List[str] | None = None, get_all_tokens: bool = False, max_execution_time: int | None = None)[source]#
Parameters:
  • contract_address (str) – 智能合约的地址。

  • blockchainType – 区块链类型。

  • api_key (str) – Mintbase API 密钥。

  • table (str) – 要查询的表的名称

  • select (str) – 查询条件

  • fields (List[str] | None) – 查询后显示的信息

  • get_all_tokens (bool) – 是否获取合约上的所有代币。

  • max_execution_time (int | None) – 最大执行时间(秒)。

  • blockchain_type (Literal['mainnet', 'testnet'])

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][source]#

将数据加载到Document对象中。

Return type:

列表[文档]

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

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

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

Parameters:

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

Returns:

文档列表。

Return type:

列表[Document]