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]

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

支持的区块链包括:近端主网,近端测试网。

如果没有指定BlockchainType,则默认为主网。

加载器使用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"  # Year of chef contract address
blockchainLoader = MintbaseDocumentLoader(
    contract_address=contractAddress, blockchain_type="mainnet",api_key="omni-site"
)
参数
  • contract_address (str) – 智能合约的地址。

  • blockchainType – 区块链类型。

  • api_key (str) – Mintbase API密钥。

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

  • select (str) – 查询条件

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

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

  • max_execution_time (Optional[int]) – 最大执行时间(秒)。

  • blockchain_type (文本['mainnet', 'testnet']) –

方法

__init__(contract_address, *, blockchain_type)

参数 contract_address

智能合约的地址。

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: Optional[List[str]] = None, get_all_tokens: bool = False, max_execution_time: Optional[int] = None)[source]
参数
  • contract_address (str) – 智能合约的地址。

  • blockchainType – 区块链类型。

  • api_key (str) – Mintbase API密钥。

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

  • select (str) – 查询条件

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

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

  • max_execution_time (Optional[int]) – 最大执行时间(秒)。

  • blockchain_type (文本['mainnet', 'testnet']) –

async alazy_load() AsyncIterator[Document]

文档的懒加载器。

返回类型

AsyncIterator[Document]

async aload() List[Document]

将数据加载到Document对象中。

返回类型

List[Document]

lazy_load() Iterator[Document][源代码]

文档的懒加载器。

返回类型

Iterator[Document]

load() List[Document][源代码]

将数据加载到Document对象中。

返回类型

List[Document]

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

加载文档并将其拆分为块。块作为文档返回。

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

参数

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

返回值

文档列表。

返回类型

List[Document]