class SortXYZBlockchainLoaderClass representing a document loader for loading data from the SortXYZ blockchain using the SortXYZ API.
A method that loads the text file or blob and returns a promise that
resolves to an array of Document instances. It reads the text from
the file or blob using the readFile function from the
node:fs/promises module or the text() method of the blob. It then
parses the text using the parse() method and creates a Document
instance for each parsed page. The metadata includes the source of the
text (file path or blob) and, if there are multiple pages, the line
number of each page.
const blockchainLoader = new SortXYZBlockchainLoader({
apiKey: "YOUR_SORTXYZ_API_KEY",
query: {
type: "NFTMetadata",
blockchain: "ethereum",
contractAddress: "0x887F3909C14DAbd9e9510128cA6cBb448E932d7f".toLowerCase(),
},
});
const blockchainData = await blockchainLoader.load();
const prompt =
"Describe the character with the attributes from the following json document in a 4 sentence story. ";
const model = new ChatOpenAI({ model: "gpt-4o-mini", temperature: 0.9 })
const response = await model.invoke(
prompt + JSON.stringify(blockchainData[0], null, 2),
);
console.log(`user > ${prompt}`);
console.log(`chatgpt > ${response}`);