LangSmithLoader 통합
LangSmithLoader 통합
LangChain JavaScript로 LangSmithLoader 문서 로더와 통합하는 방법을 안내할게요.
출처: 문서
본문
이 노트는 LangSmithLoader 문서 로더를 시작하기 위한 빠른 개요를 제공해요. 모든 LangSmithLoader 기능과 구성에 대한 자세한 문서는 API 레퍼런스를 참고하세요.
개요
통합 세부 정보
| 클래스 | 패키지 | Local | Serializable | PY 지원 |
|---|---|---|---|---|
LangSmithLoader |
@langchain/core |
✅ | beta | ✅ |
로더 기능
| 소스 | Web 로더 | Node Envs 전용 |
|---|---|---|
LangSmithLoader |
✅ | ❌ |
설정
LangSmith 문서 로더에 접근하려면 @langchain/core를 설치하고 LangSmith 계정을 만든 뒤 API 키를 받아야 해요.
자격 증명
langsmith.com에서 가입하고 API 키를 생성하세요. 완료되면 LANGSMITH_API_KEY 환경 변수를 설정하세요:
export LANGSMITH_API_KEY="your-api-key"
설치
LangSmithLoader 통합은 @langchain/core 패키지에 있어요:
yarn add @langchain/core
pnpm add @langchain/core
예제 데이터셋 생성
이 예제에서는 문서 로더에 사용할 새 데이터셋을 만들 거예요.
import { Client as LangSmithClient } from 'langsmith';
import { faker } from "@faker-js/faker";
const lsClient = new LangSmithClient();
const datasetName = "LangSmith Few Shot Datasets Notebook";
const exampleInputs = Array.from({ length: 10 }, (_, i) => ({
input: faker.lorem.paragraph(),
}));
const exampleOutputs = Array.from({ length: 10 }, (_, i) => ({
output: faker.lorem.sentence(),
}));
const exampleMetadata = Array.from({ length: 10 }, (_, i) => ({
companyCatchPhrase: faker.company.catchPhrase(),
}));
await lsClient.deleteDataset({
datasetName,
})
const dataset = await lsClient.createDataset(datasetName);
const examples = await lsClient.createExamples({
inputs: exampleInputs,
outputs: exampleOutputs,
metadata: exampleMetadata,
datasetId: dataset.id,
});
import { LangSmithLoader } from "@langchain/core/document_loaders/langsmith"
const loader = new LangSmithLoader({
datasetName: "LangSmith Few Shot Datasets Notebook",
// Instead of a datasetName, you can alternatively provide a datasetId
// datasetId: dataset.id,
contentKey: "input",
limit: 5,
// formatContent: (content) => content,
// ... other options
})
로드
const docs = await loader.load()
docs[0]
{
pageContent: 'Conventus supellex aegrotatio termes. Vapulus abscido ubi vita coadunatio modi crapula comparo caecus. Acervus voluptate tergeo pariatur conor argumentum inventore vomito stella.',
metadata: {
id: 'f1a04800-6f7a-4232-9743-fb5d9029bf1f',
created_at: '2024-08-20T17:01:38.984045+00:00',
modified_at: '2024-08-20T17:01:38.984045+00:00',
name: '#f1a0 @ LangSmith Few Shot Datasets Notebook',
dataset_id: '9ccd66e6-e506-478c-9095-3d9e27575a89',
source_run_id: null,
metadata: {
dataset_split: [Array],
companyCatchPhrase: 'Integrated solution-oriented secured line'
},
inputs: {
input: 'Conventus supellex aegrotatio termes. Vapulus abscido ubi vita coadunatio modi crapula comparo caecus. Acervus voluptate tergeo pariatur conor argumentum inventore vomito stella.'
},
outputs: {
output: 'Excepturi adeptio spectaculum bis volaticus accusamus.'
}
}
}
console.log(docs[0].metadata)
{
id: 'f1a04800-6f7a-4232-9743-fb5d9029bf1f',
created_at: '2024-08-20T17:01:38.984045+00:00',
modified_at: '2024-08-20T17:01:38.984045+00:00',
name: '#f1a0 @ LangSmith Few Shot Datasets Notebook',
dataset_id: '9ccd66e6-e506-478c-9095-3d9e27575a89',
source_run_id: null,
metadata: {
dataset_split: [ 'base' ],
companyCatchPhrase: 'Integrated solution-oriented secured line'
},
inputs: {
input: 'Conventus supellex aegrotatio termes. Vapulus abscido ubi vita coadunatio modi crapula comparo caecus. Acervus voluptate tergeo pariatur conor argumentum inventore vomito stella.'
},
outputs: { output: 'Excepturi adeptio spectaculum bis volaticus accusamus.' }
}
console.log(docs[0].metadata.inputs)
{
input: 'Conventus supellex aegrotatio termes. Vapulus abscido ubi vita coadunatio modi crapula comparo caecus. Acervus voluptate tergeo pariatur conor argumentum inventore vomito stella.'
}
console.log(docs[0].metadata.outputs)
{ output: 'Excepturi adeptio spectaculum bis volaticus accusamus.' }
console.log(Object.keys(docs[0].metadata))
[
'id',
'created_at',
'modified_at',
'name',
'dataset_id',
'source_run_id',
'metadata',
'inputs',
'outputs'
]
API 레퍼런스
모든 LangSmithLoader 기능과 구성에 대한 자세한 문서는 API 레퍼런스를 참고하세요
더 알아보기
- 이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.
- GitHub에서 이 페이지 편집하기 또는 이슈 제출하기.