跳到主要內容
Open In ColabOpen on GitHub

Apify Dataset

Apify Dataset 是一種可擴展的僅附加儲存空間,具有循序存取功能,專為儲存結構化的網路爬取結果而建,例如產品列表或 Google SERP,然後將其匯出為各種格式,如 JSON、CSV 或 Excel。「資料集」主要用於儲存 Apify Actors(適用於各種網路爬取、抓取和資料擷取使用案例的無伺服器雲端程式)的結果。

本筆記本展示如何將 Apify 資料集載入到 LangChain。

先決條件

您需要在 Apify 平台上擁有現有的資料集。此範例展示如何載入由 網站內容爬取器 產生的資料集。

%pip install --upgrade --quiet langchain langchain-apify langchain-openai

首先,將 ApifyDatasetLoader 匯入您的原始碼

from langchain_apify import ApifyDatasetLoader
from langchain_core.documents import Document
API 參考:Document

找到您的 Apify API 令牌OpenAI API 金鑰,並將它們初始化到環境變數中

import os

os.environ["APIFY_API_TOKEN"] = "your-apify-api-token"
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"

然後提供一個函數,將 Apify 資料集記錄欄位對應到 LangChain Document 格式。

例如,如果您的資料集項目結構如下所示

{
"url": "https://apify.com",
"text": "Apify is the best web scraping and automation platform."
}

以下程式碼中的對應函數會將它們轉換為 LangChain Document 格式,以便您可以在任何 LLM 模型(例如,用於問答)中進一步使用它們。

loader = ApifyDatasetLoader(
dataset_id="your-dataset-id",
dataset_mapping_function=lambda dataset_item: Document(
page_content=dataset_item["text"], metadata={"source": dataset_item["url"]}
),
)
data = loader.load()

問答範例

在此範例中,我們使用來自資料集的資料來回答問題。

from langchain.indexes import VectorstoreIndexCreator
from langchain_apify import ApifyWrapper
from langchain_core.documents import Document
from langchain_core.vectorstores import InMemoryVectorStore
from langchain_openai import ChatOpenAI
from langchain_openai.embeddings import OpenAIEmbeddings
loader = ApifyDatasetLoader(
dataset_id="your-dataset-id",
dataset_mapping_function=lambda item: Document(
page_content=item["text"] or "", metadata={"source": item["url"]}
),
)
index = VectorstoreIndexCreator(
vectorstore_cls=InMemoryVectorStore, embedding=OpenAIEmbeddings()
).from_loaders([loader])
llm = ChatOpenAI(model="gpt-4o-mini")
query = "What is Apify?"
result = index.query_with_sources(query, llm=llm)
print(result["answer"])
print(result["sources"])
 Apify is a platform for developing, running, and sharing serverless cloud programs. It enables users to create web scraping and automation tools and publish them on the Apify platform.

https://docs.apify.com/platform/actors, https://docs.apify.com/platform/actors/running/actors-in-store, https://docs.apify.com/platform/security, https://docs.apify.com/platform/actors/examples

此頁面是否對您有幫助?