LangSmithLoader功能和配置的详细文档,请参阅API 参考。
概览
集成详情
| 类别 | 包 | 本地 | 可序列化 | PY 支持 |
|---|---|---|---|---|
| LangSmithLoader | @langchain/community | ✅ | 测试版 | ✅ |
加载器功能
| 来源 | 网页加载器 | 仅限 Node 环境 |
|---|---|---|
| LangSmithLoader | ✅ | ❌ |
设置
要访问 LangSmith 文档加载器,您需要安装@langchain/core,创建一个LangSmith账户并获取 API 密钥。
凭据
在langsmith.com注册并生成 API 密钥。完成后,设置LANGSMITH_API_KEY环境变量
复制
向 AI 提问
export LANGSMITH_API_KEY="your-api-key"
安装
LangSmithLoader集成位于@langchain/core包中
复制
向 AI 提问
npm install @langchain/core
创建示例数据集
在本示例中,我们将创建一个新数据集,并将其用于文档加载器。复制
向 AI 提问
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,
});
复制
向 AI 提问
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
})
加载
复制
向 AI 提问
const docs = await loader.load()
docs[0]
复制
向 AI 提问
{
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.'
}
}
}
复制
向 AI 提问
console.log(docs[0].metadata)
复制
向 AI 提问
{
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.' }
}
复制
向 AI 提问
console.log(docs[0].metadata.inputs)
复制
向 AI 提问
{
input: 'Conventus supellex aegrotatio termes. Vapulus abscido ubi vita coadunatio modi crapula comparo caecus. Acervus voluptate tergeo pariatur conor argumentum inventore vomito stella.'
}
复制
向 AI 提问
console.log(docs[0].metadata.outputs)
复制
向 AI 提问
{ output: 'Excepturi adeptio spectaculum bis volaticus accusamus.' }
复制
向 AI 提问
console.log(Object.keys(docs[0].metadata))
复制
向 AI 提问
[
'id',
'created_at',
'modified_at',
'name',
'dataset_id',
'source_run_id',
'metadata',
'inputs',
'outputs'
]
API 参考
有关所有LangSmithLoader功能和配置的详细文档,请参阅API 参考
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。