动态少量样本选择
注意
此功能目前处于公开测试阶段。仅对付费团队计划开放。如果您对启用此功能有疑问,请联系 support@langchain.dev。
配置您的数据集,以便您可以根据传入请求搜索少量样本。
前提条件
- 您的数据集必须使用 KV 存储数据类型(我们目前不支持聊天模型或 LLM 类型数据集)
- 您必须为数据集定义输入模式。有关详细信息,请参阅我们关于在 UI 中设置模式验证的文档。
- 您必须是付费团队计划用户(例如 Plus 计划)
- 您必须使用 LangSmith 云
为少量样本搜索索引您的数据集
导航到数据集 UI,点击新的“少量样本搜索”选项卡。点击“开始同步”按钮,这将在您的数据集上创建一个新索引,使其可搜索。
默认情况下,我们会同步到您的数据集的最新版本。这意味着当新的样本添加到您的数据集时,它们将自动添加到您的索引中。此过程每隔几分钟运行一次,因此索引新样本的延迟应该非常短。您可以在下一节屏幕左侧的“少量样本索引”下查看您的索引是否最新。
在少量样本演练场中测试搜索质量
现在您已经为数据集开启了索引功能,您将看到新的少量样本演练场。
您可以输入一个样本输入,并检查我们的搜索 API 会返回哪些结果。
每个结果都将有一个分数以及一个指向数据集中该样本的链接。评分系统的工作原理是 0 为完全随机的结果,分数越高越好。结果将按分数降序排列。
注意
搜索使用类似 BM25 的算法计算基于关键词的相似度分数。实际分数会随着我们改进搜索算法而变化,因此我们建议不要依赖分数本身,因为它们的含义可能会随时间演变。它们仅用于在演练场中方便地进行输出验证。
将少量样本搜索添加到您的应用程序
点击上图中的“获取代码片段”按钮,您将进入一个包含我们 LangSmith SDK 不同语言代码片段的屏幕。
有关在 LangChain Python 应用程序中使用少量样本搜索的代码示例,请参阅 LangChain 文档中的操作指南。
代码片段
注意
请确保您使用的 Python SDK 版本 >= 1.101 或 TypeScript SDK 版本 >= 1.43
为方便复制粘贴,您可以在此处找到与上面截图中显示的代码片段相似的代码片段
- 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."}