Agent.prompt_manager 后,管理器会替代 instruction;获取时机由运行时解析提示词的过程决定,不应假定每个用户请求只调用一次
以下示例需要先完成模型配置
使用 Cozeloop
在 Cozeloop 中创建提示词并发布版本,将production 标签绑定到要使用的版本,准备有读取权限的工作空间 ID 和 Token。该管理器读取提示词模板中第一条消息的内容,因此请将完整系统提示词放在第一条消息中
安装 SDK,并在运行脚本的终端设置环境变量:
managed_prompt.py
python managed_prompt.py 后,智能体使用所选提示词生成回答。可在模板中设置明确的回答格式,检查输出是否采用该格式
构造参数
选择固定版本时设置
version;需要随标签更新时设置 label。缓存和刷新周期由安装的 Cozeloop SDK 决定,标签变更不保证立即生效
获取失败与模板限制
- 返回的提示词、消息列表或第一条消息内容为空时,使用 VeADK 默认提示词,并记录警告
- 网络、鉴权或 SDK 调用异常不会由管理器统一转换为默认提示词;应用需要处理这些失败
- 不会自动拼接多条消息,也不会自动渲染 Cozeloop 模板变量
- 即使同时设置了
Agent.instruction,它也不会作为该管理器的失败回退
自定义提示词管理器
继承BasePromptManager 并实现 get_prompt(context, **kwargs)。下面的管理器每次读取同目录的 system-prompt.txt;修改文件会影响下一次读取,文件不存在或为空时明确失败
先在脚本同目录创建提示词文件:
system-prompt.txt
file_prompt.py
python file_prompt.py 可看到使用文件提示词生成的回答。context 的可读字段见系统提示词。接入数据库或配置中心时,需要自行定义超时、缓存、版本选择和失败策略;函数返回值中的模板变量也应由管理器自行处理