LangSmith 提供了多种工具来帮助您管理您的 提示词 。本页面介绍以下功能:
- - 环境 用于通过以下方式推进提交 **预发布** 和 **生产**.
- - 提交标签 用于版本控制和环境管理。
- - 提示词所有者 用于控制谁可以推进提交和删除提示词。
- - Webhook 触发器 用于在提示词更新时自动化工作流程。
- - 公共提示词中心 用于发现和使用社区创建的提示词。
提示词详情页
从 **提示词** 表中选择一个提示词 以打开其详情页,该页面采用双栏布局:左侧显示提交历史和环境,右侧显示提交详情。
您可以通过切换右上角的 **差异对比** 来将提交与其先前版本进行对比。
环境
环境代表命名部署目标,即 **预发布** 和 **生产**,您可以将它们分配给特定提交。它们允许您跟踪每个环境中活动的是哪个版本的提示词,并在环境之间推进提交。
环境由保留的 提交标签 (staging 定义,这些标签通过推进 UI 而不是自由格式的标签选择器进行管理。 production推进提交
推进提交会将它分配给某个环境。您可以将任意提交推进到预发布或生产环境。
推进提交的方法:
将鼠标悬停在左侧窗格中的提交上以显示
- 推进 **按钮,或点击页面右上角的**推进 **。从下拉菜单中选择** 预发布 **或** or **生产** 。
- 部署模态框将打开,显示当前分配给该环境的提交以及将被替换的提交。
- 确认推进。环境指针将立即更新。
回滚环境
每个环境都会维护一个有序的历史记录,记录哪些提交被分配到该环境以及分配时间。回滚到之前的提交:
- 在左侧窗格中,找到您想要回滚的环境。
- 点击该环境的回滚图标。
- 从显示的 **回滚历史**,选择您想要回滚到的提交。环境指针将更新到该提交。
提交标签
提交标签 是引用特定 提交 的标签,在提示词的版本历史中。它们帮助您标记重要版本,并控制哪些版本在不同环境中运行。通过在代码中引用标签而不是提交 ID,您可以更新正在使用的版本而无需修改代码本身。
每个标签恰好引用一个提交,尽管您可以将标签重新分配给不同的提交。
创建标签
要创建标签,请在提示词详情页的左侧窗格中选择要标记的提交。点击 **标签** 位于右侧窗格顶部右侧。在下拉菜单中点击 **提交标签** 并输入名称。
移动标签
要将标签指向不同的提交,请在提示词详情页的左侧窗格中选择目标提交。点击 **标签** 位于右侧窗格顶部右侧。在下拉菜单中,选择您想要移动的标签。这将自动更新标签指向新的提交。
删除标签
要删除标签,请点击 **标签** 位于右侧窗格顶部右侧。(选择哪个提交并不重要)。在下拉菜单中,点击要删除的标签旁边的删除图标。这将完全移除该标签,它将不再与任何提交关联。
在代码中使用标签
标签提供了一种稳定的方式来在代码中引用提示词的特定版本。您可以引用可以更新而无需更改代码的标签,而不是直接使用提交哈希。
以下是在 Python 中通过标签拉取提示词的示例:
prompt = client.pull_prompt("joke-generator:production")
# If production tag points to commit a1b2c3d4, this is equivalent to:
prompt = client.pull_prompt("joke-generator:a1b2c3d4")
有关如何在代码中使用提示的更多信息,请参阅 以编程方式管理提示.
提示所有者
提示所有者功能使您能够细粒度地控制谁可以标记提交和删除特定提示。这在生产推广流程中非常有用,在这种流程中,您希望通过分配或移动标签来限制哪些团队成员可以将提交推广到某个环境。
访问模式
每个提示有两种访问模式,可在以下位置配置 **访问和权限** 在 UI:
- 工作区授权用户 (默认):任何具有以下权限的工作区用户
prompts:tag权限的用户可以创建、更新和删除标签以及删除提示。 - 仅限所有者:只有被添加为提示所有者的用户才能创建或更新提交标签,将提交推广到环境,以及删除提示。
LangSmith 会自动将提示创建者添加为所有者。
配置访问和权限
- 在 LangSmith UI 中打开提示。
- 点击 **更多** 右上角的图标并选择 **访问和权限**.
- 选择 **仅限所有者** mode.
- 从所有者组中添加或删除用户。
当 **仅限所有者** 模式处于活动状态时,只有所有者可以禁用它或添加或删除其他所有者。
在提示提交时触发 webhook
您可以配置 webhook,以便在每次对提示进行提交时触发。
一些常见的用例包括:
- * Triggering a CI/CD pipeline when prompts are updated.
- * 将提示与 GitHub 仓库同步。
- * 通知团队成员有关提示的修改。
配置 webhook
导航到 **提示** 左侧边栏中的应用首页部分。在右上角,点击 + Webhook button.
添加 webhook URL 和任何所需的标头。
中告诉我们。要测试您的 webhook,请点击 **发送测试通知** 按钮。这将向您提供的 webhook URL 发送带有示例负载的测试通知。
示例负载是一个包含以下字段的 JSON 对象:
- -
prompt_id:已提交提示的 ID。 - -
prompt_name:已提交提示的名称。 - -
commit_hash:提示的提交哈希。 - -
created_at: 提交的日期。 - -
created_by: 提交的作者。 - -
manifest: 提示的清单。
触发 webhook
提交到提示以触发您配置的 webhook。
使用 Playground
如果您在 Playground 中执行此操作,系统会提示您取消选择要避免触发的 webhook。
使用 API
如果您通过 API 提交,可以通过设置 skip_webhooks 参数为 true 或要忽略的 webhook ID 数组来指定跳过触发 webhook。参阅 API 文档 了解更多。
公共提示中心
LangSmith 的公共提示中心是 LangChain 社区创建的一系列提示,可供您参考。
导航至 **提示** 左侧栏部分,然后点击 **浏览 LangChain Hub 中的所有公共提示**.
在这里您可以找到 LangChain Hub 中所有公开列出的提示。您可以按名称、句柄、使用案例、描述或模型搜索提示。您可以将提示 fork 到您的个人组织,查看提示详情,并在 Playground 中运行提示。您可以 使用 SDK 将任何公共提示拉取到您的代码中 。
要查看与您工作区关联的提示,请导航至 **提示** 侧边栏中。