이 가이드는 LangSmith document loader 시작하기에 대한 간단한 개요를 제공합니다. 모든 LangSmithLoader 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요.

개요

Integration 세부 정보

ClassPackageLocalSerializableJS support
LangSmithLoaderlangchain-core

Loader 기능

SourceLazy loadingNative async
LangSmithLoader

설정

LangSmith document loader에 액세스하려면 langchain-core를 설치하고, LangSmith 계정을 생성하고, API key를 받아야 합니다.

자격 증명

langsmith.com에서 가입하고 API key를 생성하세요. 완료한 후 LANGSMITH_API_KEY environment variable을 설정하세요:
import getpass
import os

if not os.environ.get("LANGSMITH_API_KEY"):
    os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
자동화된 최고 수준의 tracing을 원하시면 LangSmith tracing도 활성화할 수 있습니다:
os.environ["LANGSMITH_TRACING"] = "true"

설치

langchain-core를 설치하세요:
pip install -qU langchain-core

예제 dataset 복제

이 예제에서는 공개 LangSmith dataset을 복제하고 로드합니다. 복제하면 개인 LangSmith 계정에 이 dataset의 사본이 생성됩니다. 개인 사본이 있는 dataset만 로드할 수 있습니다.
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)

초기화

이제 document loader를 인스턴스화하고 document를 로드할 수 있습니다:
from langchain_core.document_loaders import LangSmithLoader

loader = LangSmithLoader(
    dataset_name=dataset_name,
    content_key="question",
    limit=50,
    # format_content=...,
    # ...
)

Load

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']

Lazy Load

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 reference

모든 LangSmithLoader 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요: python.langchain.com/api_reference/core/document_loaders/langchain_core.document_loaders.langsmith.LangSmithLoader.html
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I