动态少样本示例选择
注意
此功能处于公开 Beta 阶段。仅适用于付费团队计划。如果您对启用有疑问,请联系 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."}