langchain_community.document_loaders.mintbase.MintbaseDocumentLoader

class langchain_community.document_loaders.mintbase.MintbaseDocumentLoader(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: Optional[List[str]] = None, get_all_tokens: bool = False, max_execution_time: Optional[int] = 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(秒)来限制加载器的执行时间。

该加载器的未来版本可以:
  • 支持额外的Mintbase API(例如,getTokens等)。

示例:
contractAddress = "nft.yearofchef.near"  # 厨师之年合约地址
blockchainLoader = MintbaseDocumentLoader(
    contract_address=contractAddress, blockchain_type="mainnet",api_key="omni-site"
)

参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Mintbase API密钥。 table:要查询的表的名称。 select:查询条件。 fields:查询后要显示的信息。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。

Methods

__init__(contract_address, *, blockchain_type)

参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Mintbase API密钥。 table:要查询的表的名称。 select:查询条件。 fields:查询后要显示的信息。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。

alazy_load()

一个用于文档的惰性加载器。

aload()

将数据加载到文档对象中。

lazy_load()

一个用于文档的惰性加载器。

load()

将数据加载到文档对象中。

load_and_split([text_splitter])

加载文档并分割成块。块作为文档返回。

Parameters
  • contract_address (str) –

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

  • api_key (str) –

  • table (str) –

  • select (str) –

  • fields (Optional[List[str]]) –

  • get_all_tokens (bool) –

  • max_execution_time (Optional[int]) –

__init__(contract_address: str, *, blockchain_type: Literal['mainnet', 'testnet'], api_key: str = '', table: str = '', select: str = '', fields: Optional[List[str]] = None, get_all_tokens: bool = False, max_execution_time: Optional[int] = None)[source]

参数: contract_address:智能合约的地址。 blockchainType:区块链类型。 api_key:Mintbase API密钥。 table:要查询的表的名称。 select:查询条件。 fields:查询后要显示的信息。 get_all_tokens:是否获取合约上的所有代币。 max_execution_time:最大执行时间(秒)。

Parameters
  • contract_address (str) –

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

  • api_key (str) –

  • table (str) –

  • select (str) –

  • fields (Optional[List[str]]) –

  • get_all_tokens (bool) –

  • max_execution_time (Optional[int]) –

async alazy_load() AsyncIterator[Document]

一个用于文档的惰性加载器。

Return type

AsyncIterator[Document]

async aload() List[Document]

将数据加载到文档对象中。

Return type

List[Document]

lazy_load() Iterator[Document][source]

一个用于文档的惰性加载器。

Return type

Iterator[Document]

load() List[Document][source]

将数据加载到文档对象中。

Return type

List[Document]

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

加载文档并分割成块。块作为文档返回。

不要覆盖此方法。应该被视为已弃用!

参数:
text_splitter: 用于分割文档的TextSplitter实例。

默认为RecursiveCharacterTextSplitter。

返回:

文档列表。

Parameters

text_splitter (Optional[TextSplitter]) –

Return type

List[Document]