Skip to main content
LangSmith 提供了多种工具来帮助您有效管理您的提示词。本页介绍以下功能:

提示词详情页

提示词表格中选择一个提示词以打开其详情页,该页面采用双窗格布局:左侧显示提交历史和环境,右侧显示提交详情。 您可以通过切换右上角的差异来比较提交与其先前版本。

环境

环境代表命名的部署目标,即暂存生产环境,您可以将其分配给特定的提交。它们让您可以跟踪每个环境中哪个版本的提示词处于活动状态,并在环境之间推进提交。 环境由保留的提交标签stagingproduction)定义,这些标签通过升级 UI 管理,而不是通过自由形式的标签选择器管理。

推进提交

推进提交会将其分配给一个环境。您可以将任何提交推进到暂存或生产环境。 要推进提交:
  1. 将鼠标悬停在左侧窗格中的某个提交上以显示推进,或点击页面右上角的推进。从下拉菜单中选择暂存生产
  2. 将打开一个部署模态框,显示当前分配给该环境并将被替换的提交。
  3. 确认推进。环境指针会立即更新。
将提交推进到生产环境不会将其从暂存环境中移除。如果一个提交在暂存环境中,您将其推进到生产环境,它仍会保留在暂存环境中。

回滚环境

每个环境都维护一个有序的历史记录,记录哪些提交在何时被分配给它。要回滚到先前的提交:
  1. 在左侧窗格中,找到您想要回滚的环境。
  2. 点击该环境的回滚图标。
  3. 从显示的回滚历史中,选择您想要回滚到的提交。环境指针将更新到该提交。

提交标签

提交标签是引用您提示词版本历史中特定提交的标签。它们帮助您标记重要版本,并控制在不同环境中运行哪个版本。通过在代码中引用标签而不是提交 ID,您可以更新正在使用的版本而无需修改代码本身。 每个标签恰好引用一个提交,但您可以重新分配标签以指向不同的提交。
保留标签: stagingproduction 标签是为环境管理保留的,不会在自由形式的标签选择器中启用。使用推进流程将提交分配给这些环境。
请勿与资源标签混淆:提交标签特定于提示词版本控制,并引用提示词历史中的单个提交。资源标签是用于组织工作空间资源(如项目、数据集和提示词)的键值对。虽然两者都可以使用类似的命名约定(如 prodstaging),但提交标签控制哪个版本的提示词运行,而资源标签帮助您组织和筛选工作空间中的资源。

创建标签

要创建标签,请在提示词详情页的左侧窗格中选择您想要标记的提交。点击右侧窗格右上角的标签。在下拉菜单中,点击提交标签并输入名称。

移动标签

要将标签指向不同的提交,请在提示词详情页的左侧窗格中选择目标提交。点击右侧窗格右上角的标签。在下拉菜单中,选择您想要移动的标签。这将自动更新标签以指向新的提交。

删除标签

要删除标签,请点击右侧窗格右上角的标签。(选择哪个提交无关紧要)。在下拉菜单中,点击您想要删除的标签旁边的删除图标。这将完全删除该标签,它将不再与任何提交关联。

在代码中使用标签

标签提供了一种稳定的方式来在代码中引用特定版本的提示词。您可以直接引用标签,而不是使用提交哈希,这样可以在不更改代码的情况下更新引用。 以下是在 Python 中通过标签拉取提示词的示例:
prompt = client.pull_prompt("joke-generator:production")
# 如果 production 标签指向提交 a1b2c3d4,这等同于:
prompt = client.pull_prompt("joke-generator:a1b2c3d4")
有关如何在代码中使用提示词的更多信息,请参阅以编程方式管理提示词

提示词所有者

提示词所有者功能让您可以精细控制谁可以标记提交和删除特定提示词。这对于生产推进流程非常有用,您可以通过分配或移动标签来限制哪些团队成员可以将提交推进到环境。

访问模式

每个提示词有两种访问模式,可在UI中的访问与权限下配置:
  • 工作空间授权用户(默认):任何拥有 prompts:tag 权限的工作空间用户都可以创建、更新和删除标签,以及删除提示词。
  • 仅所有者:只有被添加为提示词所有者的用户才能创建或更新提交标签、将提交推进到环境以及删除提示词。
LangSmith 会自动将提示词创建者添加为所有者。

配置访问与权限

  1. 在 LangSmith UI 中打开提示词。
  2. 点击右上角的 更多图标,选择访问与权限
  3. 选择仅所有者模式。
  4. 在所有者组中添加或移除用户。
如果您保存了将自己从所有者中移除的更改,您将失去管理所有者或将提示词切换回工作空间授权用户模式的能力。只有另一位所有者才能恢复您的访问权限。
仅所有者模式处于活动状态时,只有所有者可以禁用它或添加/移除其他所有者。

在提示词提交时触发 Webhook

您可以配置一个 Webhook,以便在提示词提交时触发。 一些常见的用例包括:
  • 在提示词更新时触发 CI/CD 流水线。
  • 将提示词与 GitHub 仓库同步。
  • 通知团队成员关于提示词的修改。

配置 Webhook

导航到左侧边栏中的提示词部分或从应用程序主页进入。在右上角,点击 + Webhook 按钮。 添加 Webhook URL 和任何必需的请求头。
每个工作空间只能配置一个 Webhook。如果您想为每个工作空间配置多个 Webhook,或为每个提示词设置不同的 Webhook,请在 LangChain 论坛中告诉我们。
要测试您的 Webhook,请点击发送测试通知按钮。这将向您提供的 Webhook URL 发送一个包含示例负载的测试通知。 示例负载是一个包含以下字段的 JSON 对象:
  • prompt_id:已提交提示词的 ID。
  • prompt_name:已提交提示词的名称。
  • commit_hash:提示词的提交哈希。
  • created_at:提交日期。
  • created_by:提交作者。
  • manifest:提示词的清单。

触发 Webhook

提交到提示词以触发您配置的 Webhook。

使用 Playground

如果您在 Playground 中执行此操作,系统将提示您取消选择您希望避免触发的 Webhook。 提交 Playground

使用 API

如果您通过 API 提交,可以通过将 skip_webhooks 参数设置为 true 或设置为要忽略的 Webhook ID 数组来指定跳过触发 Webhook。有关更多信息,请参阅 API 文档

公共提示词中心

LangSmith 的公共提示词中心是一个由 LangChain 社区创建的提示词集合,您可以参考使用。
请注意,提示词由用户生成且未经验证。LangChain 不审查或认可公共提示词,使用风险自负。使用提示词中心需遵守我们的服务条款
导航到左侧边栏的提示词部分,点击浏览 LangChain Hub 中的所有公共提示词 在这里,您将找到 LangChain Hub 中所有公开列出的提示词。您可以按名称、句柄、用例、描述或模型搜索提示词。您可以将提示词分叉到您的个人组织,查看提示词详情,并在 Playground 中运行提示词。您可以使用 SDK 将任何公共提示词拉取到您的代码中 要查看与您工作空间关联的提示词,请导航到侧边栏中的提示词 提示词标签页