动态少样本示例选择
此功能处于开放测试阶段。它仅对付费团队计划可用。如果您有关于启用该功能的问题,请联系 support@langchain.dev。
配置您的数据集,以便您能够根据传入的请求搜索少样本示例。
Pre-conditions
- 您的数据集必须使用 KV 存储数据类型(我们目前不支持聊天模型或 LLM 类型的数据集)
- 您必须为您的数据集定义输入模式。有关设置模式验证的详细信息,请参阅我们文档中的我们的 UI。
- 您必须处于付费团队计划(例如 Plus 计划)
- 您必须登录 LangSmith 云
为少样本搜索建立数据集索引
导航至数据集 UI,并点击新的 Few-Shot search 标签页。点击 Start sync 按钮,这将在您的数据集上创建一个新的索引,使其可被搜索。

默认情况下,我们会同步到数据集的最新版本。这意味着当您的数据集中添加新示例时,它们将自动添加到您的索引中。该过程每隔几分钟运行一次,因此对新示例进行索引的延迟应该非常短。您可以在屏幕左侧的下一个部分中的Few-shot index处查看您的索引是否已更新。
在少样本游乐场中测试搜索质量
现在您已经为您的数据集启用了索引,您将看到新的少样本游乐场。

您可以在此处输入示例内容,并查看我们的搜索 API 将返回哪些结果。

每个结果都将包含一个分数和一个指向数据集中示例的链接。评分系统的工作方式如下: 0 表示完全随机结果,分数越高越好。结果将根据分数按降序排列。
搜索使用类BM25算法进行基于关键词的相似度评分。实际评分可能会随着我们改进搜索算法而变化,因此我们建议不要依赖这些分数本身,因为它们的含义可能会随时间演变。它们仅用于在游乐场中方便地测试输出的整体感觉。
向您的应用添加少样本搜索
点击上一张图中的 Get Code Snippet 按钮,您将进入一个屏幕,其中包含我们 LangSmith SDK 在不同语言中的代码片段。

关于在 LangChain Python 应用程序中使用少样本搜索的代码示例,请参阅我们 LangChain 文档中的操操作指南。
代码片段
请确保您使用的是版本 >= 1.101 的 Python SDK 或版本 >= 1.43 的 TypeScript SDK
为了方便复制粘贴,您可以在 此处 找到与上述截图中显示的代码片段类似的代码片段:
- Python (异步)
- Python
- TypeScript
import langsmith as ls
# Copy this value from LangSmith UI
dataset_id = "1c5e9c95-dfd4-4dc5-a4b8-df7ea921c913"
async with ls.AsyncClient() as client:
examples = await client.similar_examples(
{"question": "knock knock"}, dataset_id=dataset_id, limit=1
)
print(examples[0].outputs)
# {"output": "Few shots'll do the trick."}
from langsmith import Client
client = Client()
# Copy this value from LangSmith UI
dataset_id = "1c5e9c95-dfd4-4dc5-a4b8-df7ea921c913"
examples = client.similar_examples(
{"question": "knock knock"}, dataset_id=dataset_id, limit=1
)
print(examples[0].outputs)
# {"output": "Few shots'll do the trick."}
import { Client } from "langsmith";
const client = new Client();
// Copy this value from LangSmith UI
const dataset_id = "1c5e9c95-dfd4-4dc5-a4b8-df7ea921c913";
const examples = await client.similarExamples(
{question: "knock knock"}, dataset_id, 1
);
console.log(examples[0].outputs);
// {output: "Few shots'll do the trick."}