主题
管理提示
在 LangSmith 中管理提示版本、环境和访问控制。
LangSmith 提供了若干工具来帮你有效地管理你的提示。本页描述以下功能:
- 环境,用于把提交推升到 Staging 和 Production。
- 提交标签,用于版本控制和环境管理。
- 提示所有者,用于控制谁能推升提交和删除一个提示。
- Webhook 触发器,用于在提示更新时自动化工作流。
- 公共提示 hub,用于发现和使用社区创建的提示。
提示详情页
从Prompts 表格选择一个提示以打开它的详情页,该页用双面板布局:提交历史和环境显示在左侧,提交详情显示在右侧。
你可以通过在右上角切换 Diff,把一个提交与它的先前版本进行比较。
环境
环境代表命名的部署目标——Staging 和 Production——你可以把它们指派给特定的提交。它们让你跟踪提示的哪个版本在哪个环境中处于活动状态,并在环境之间推升提交。
环境由保留的提交标签(staging 和 production)定义,这些标签通过推升 UI 而非自由式标签选择器来管理。
推升一个提交
推升一个提交就是把它指派给一个环境。你可以把任何提交推升到 Staging 或 Production。
要推升一个提交:
- 在左面板中把一个提交悬停以显现 Promote,或在页面右上角点击 Promote。从下拉菜单选择 Staging 或 Production。
- 会打开一个部署模态框,显示当前指派给该环境、将被替换的是哪个提交。
- 确认推升。环境指针会立即更新。
NOTE
把一个提交推升到 Production 不会把它从 Staging 移除。如果一个提交在 Staging 中,而你把它推升到 Production,它也会留在 Staging 中。
回滚一个环境
每个环境都维护一个有序历史,记录哪些提交在何时被指派给它。要回滚到一个先前提交:
- 在左面板中,找到你想回滚的环境。
- 点击该环境的回滚图标。
- 从显示的 Rollback history 中,选择你想回滚到的提交。环境指针会更新到那个提交。
提交标签
提交标签是引用你提示版本历史中一个特定提交的标签。它们帮你标记重要版本,并控制哪些版本在不同环境中运行。通过在你的代码中引用标签而非提交 ID,你可以在不修改代码本身的情况下更新所使用的版本。
每个标签恰好引用一个提交,尽管你可以把一个标签重新指派去指向一个不同的提交。
NOTE
保留标签: staging 和 production 标签为环境管理所保留,在自由式标签选择器中未启用。用推升流程把提交指派给这些环境。
NOTE
不要与资源标签混淆:提交标签专属于提示版本管理,引用提示历史中的单个提交。资源标签是用于组织像项目、数据集和提示之类工作区资源的键值对。虽然两者都能使用相似的命名约定(例如 prod 或 staging),但提交标签控制提示运行哪个版本,而资源标签帮你在工作区中组织和过滤资源。
创建一个标签
要创建一个标签,在提示详情页的左面板中选择你想打标签的提交。在右面板顶部点击 Tag。在下拉菜单中,点击 Commit Tag 并输入一个名字。
移动一个标签
要让一个标签指向一个不同的提交,在提示详情页的左面板中选择目标提交。在右面板顶部点击 Tag。在下拉菜单中,选择你想移动的标签。这会自动更新该标签去指向新的提交。
删除一个标签
要删除一个标签,在右面板顶部点击 Tag。(选中哪个提交无关紧要)。在下拉菜单中,点击你想删除的标签旁边的删除图标。这会完全移除该标签,它不再与任何提交关联。
在代码中使用标签
标签提供了一种在你的代码中引用提示特定版本的稳定方式。你可以引用那些能在不更改代码的情况下被更新的标签,而非直接使用提交哈希。
下面是在 Python 中按标签拉取一个提示的示例:
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 的 Access and Permissions 下配置:
- 工作区授权用户(默认):任何带
prompts:tag权限的工作区用户都能创建、更新和删除标签,并删除该提示。 - 仅所有者:只有被添加为提示所有者的用户才能创建或更新提交标签、把一个提交推升到一个环境,以及删除该提示。
LangSmith 会自动把提示创建者添加为一个所有者。
配置访问与权限
- 在 LangSmith UI 中打开该提示。
- 点击
右上角的 More 图标,并选择 Access and Permissions。 3. 选择 Owners only 模式。 4. 从所有者组中添加或移除用户。
WARNING
如果你保存了把自己从所有者中移除的更改,你将失去管理所有者、或把该提示切回工作区授权用户模式的能力。只有另一个所有者能恢复你的访问。
当 Owners only 模式激活时,只有所有者能禁用它,或添加、移除其他所有者。
在提示提交时触发一个 webhook
你可以配置一个 webhook,以便每当向一个提示做出提交时都被触发。
它的一些常见用例包括:
- 在提示更新时触发一个 CI/CD 流水线。
- 把提示与一个 GitHub 仓库同步。
- 就提示修改通知团队成员。
配置一个 webhook
从左侧边栏或应用首页导航到 Prompts 部分。在右上角,点击 + Webhook 按钮。
添加一个 webhook URL 和任何必需的标头。
NOTE
你每个工作区只能配置一个 webhook。如果你想按工作区配置多个,或为每个提示设置不同的 webhook,请在 LangChain 论坛 告诉我们。
要测试你的 webhook,点击 Send test notification 按钮。这会用一个样例载荷,向你所提供的 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 文档。
公共提示 hub
LangSmith 的公共提示 hub 是由 LangChain 社区创建、供你参考的一批提示的集合。
NOTE
注意,提示是用户生成且未经验证的。LangChain 不审核或背书公共提示,使用它们风险自负。使用 Prompt Hub 受我们的服务条款约束。
导航到左侧边栏的 Prompts 部分,并点击 Browse all Public Prompts in the LangChain Hub。
在这里你会找到 LangChain Hub 中所有公开列出的提示。你可以按名字、句柄、用例、描述或模型搜索提示。你可以把提示 fork 到你的个人组织,查看提示的详情,并在 Playground 中运行该提示。你可以用 SDK 把任何公共提示拉入你的代码。
要查看与你工作区关联的提示,导航到侧边栏中的 Prompts。
