LangSmithLoader
本筆記本提供 LangSmith 文件載入器 的快速入門概述。如需所有 LangSmithLoader 功能和配置的詳細文件,請前往 API 參考。
概述
整合詳細資訊
類別 | 套件 | 本地 | 可序列化 | JS 支援 |
---|---|---|---|---|
LangSmithLoader | langchain-core | ❌ | ❌ | ❌ |
載入器功能
來源 | 延遲載入 | 原生非同步 |
---|---|---|
LangSmithLoader | ✅ | ❌ |
設定
若要存取 LangSmith 文件載入器,您需要安裝 langchain-core
、建立 LangSmith 帳戶並取得 API 金鑰。
憑證
在 https://langsmith.com 註冊並產生 API 金鑰。完成後,設定 LANGSMITH_API_KEY 環境變數
import getpass
import os
if not os.environ.get("LANGSMITH_API_KEY"):
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
如果您想要取得自動化的最佳追蹤,您也可以開啟 LangSmith 追蹤
# os.environ["LANGSMITH_TRACING"] = "true"
安裝
安裝 langchain-core
%pip install -qU langchain-core
複製範例資料集
在此範例中,我們將複製並載入公開的 LangSmith 資料集。複製會在我們的個人 LangSmith 帳戶上建立此資料集的副本。您只能載入您擁有個人副本的資料集。
from langsmith import Client as LangSmithClient
ls_client = LangSmithClient()
dataset_name = "LangSmith Few Shot Datasets Notebook"
dataset_public_url = (
"https://smith.langchain.com/public/55658626-124a-4223-af45-07fb774a6212/d"
)
ls_client.clone_public_dataset(dataset_public_url)
初始化
現在我們可以實例化我們的文件載入器並載入文件
from langchain_core.document_loaders import LangSmithLoader
loader = LangSmithLoader(
dataset_name=dataset_name,
content_key="question",
limit=50,
# format_content=...,
# ...
)
API 參考:LangSmithLoader
載入
docs = loader.load()
print(docs[0].page_content)
Show me an example using Weaviate, but customizing the vectorStoreRetriever to return the top 10 k nearest neighbors.
print(docs[0].metadata["inputs"])
{'question': 'Show me an example using Weaviate, but customizing the vectorStoreRetriever to return the top 10 k nearest neighbors. '}
print(docs[0].metadata["outputs"])
{'answer': 'To customize the Weaviate client and return the top 10 k nearest neighbors, you can utilize the `as_retriever` method with the appropriate parameters. Here\'s how you can achieve this:\n\n\`\`\`python\n# Assuming you have imported the necessary modules and classes\n\n# Create the Weaviate client\nclient = weaviate.Client(url=os.environ["WEAVIATE_URL"], ...)\n\n# Initialize the Weaviate wrapper\nweaviate = Weaviate(client, index_name, text_key)\n\n# Customize the client to return top 10 k nearest neighbors using as_retriever\ncustom_retriever = weaviate.as_retriever(\n search_type="similarity",\n search_kwargs={\n \'k\': 10 # Customize the value of k as needed\n }\n)\n\n# Now you can use the custom_retriever to perform searches\nresults = custom_retriever.search(query, ...)\n\`\`\`'}
list(docs[0].metadata.keys())
['dataset_id',
'inputs',
'outputs',
'metadata',
'id',
'created_at',
'modified_at',
'runs',
'source_run_id']
延遲載入
page = []
for doc in loader.lazy_load():
page.append(doc)
if len(page) >= 10:
# do some paged operation, e.g.
# index.upsert(page)
# page = []
break
len(page)
10
API 參考
如需所有 LangSmithLoader 功能和配置的詳細文件,請前往 API 參考:https://langchain-python.dev.org.tw/api_reference/core/document_loaders/langchain_core.document_loaders.langsmith.LangSmithLoader.html