AirtableLoader
The AirtableLoader
class provides functionality to load documents from Airtable tables. It supports two main methods:
load()
: Retrieves all records at once, ideal for small to moderate datasets.loadLazy()
: Fetches records one by one, which is more memory-efficient for large datasets.
Prerequisites
Ensure that your Airtable API token is available as an environment variable:
process.env.AIRTABLE_API_TOKEN = "YOUR_AIRTABLE_API_TOKEN";
Usage
import { AirtableLoader } from "@langchain/community/document_loaders/web/airtable";
import { Document } from "@langchain/core/documents";
// Default airtable loader
const loader = new AirtableLoader({
tableId: "YOUR_TABLE_ID",
baseId: "YOUR_BASE_ID",
});
try {
const documents: Document[] = await loader.load();
console.log("Loaded documents:", documents);
} catch (error) {
console.error("Error loading documents:", error);
}
// Lazy airtable loader
const loaderLazy = new AirtableLoader({
tableId: "YOUR_TABLE_ID",
baseId: "YOUR_BASE_ID",
});
try {
console.log("Lazily loading documents:");
for await (const document of loader.loadLazy()) {
console.log("Loaded document:", document);
}
} catch (error) {
console.error("Error loading documents lazily:", error);
}
// Airtable loader with specific view
const loaderView = new AirtableLoader({
tableId: "YOUR_TABLE_ID",
baseId: "YOUR_BASE_ID",
kwargs: { view: "YOUR_VIEW_NAME" },
});
try {
const documents: Document[] = await loader.load();
console.log("Loaded documents with view:", documents);
} catch (error) {
console.error("Error loading documents with view:", error);
}
API Reference:
- AirtableLoader from
@langchain/community/document_loaders/web/airtable
- Document from
@langchain/core/documents