Skip to main content

用户提示转换钩子

userPromptTransformed 钩子会在运行时将生成的上下文添加到已提交的提示后运行,但会在生成的内容保存到会话历史记录中或发送给模型之前运行。

在本文中

当你需要检查或替换确切的面向模型的提示时使用它。 prompt 输入包含任何 userPromptSubmitted 钩子运行后的用户提示,而 transformedPrompt 也包含运行时生成的上下文,例如 <current_datetime>

输入和输出

输入字段类型Description
sessionId字符串运行时会话标识符
timestamp日期/时间钩子被调用的时间
cwd / workingDirectory字符串当前工作目录
prompt字符串userPromptSubmitted 钩子后的提示
transformedPrompt字符串运行时转换后面向模型的提示

如果不返回任何值,则转换后的提示将保持不变。 返回 modifiedTransformedPrompt 以替换存储在会话历史记录中并发送到模型的内容。

Examples

代码语言 navigation

TypeScript
const session = await client.createSession({
  hooks: {
    onUserPromptTransformed: async (input) => ({
      modifiedTransformedPrompt: redact(input.transformedPrompt),
    }),
  },
});

替换将保留为用户消息内容,因此恢复的会话将重播已修改的内容不变。