方法介绍
patch 用于对 Skill 内容执行文本查找替换操作。功能说明如下:字符串替换:通过
old_string 和 new_string 精确定位并替换 Skill 内容中的指定文本片段。乐观锁:需要传入
expected_version(当前版本号),若版本不匹配则操作失败,避免并发冲突。全量替换:设置
replace_all=True 时可替换所有匹配项,默认仅替换第一个匹配项。版本递增:替换成功后版本号自动递增。
导入
from tencentdb_agent_memory.v3 import SkillClient
方法签名
def patch(self,skill_id: str,expected_version: int,old_string: str,new_string: str,*,replace_all: Optional[bool] = None,team_id: Optional[str] = None,agent_id: Optional[str] = None,user_id: Optional[str] = None,task_id: Optional[str] = None,) -> Dict[str, Any]
使用示例
from tencentdb_agent_memory.v3 import SkillClientwith SkillClient(endpoint="https://memory.tdai.tencentyun.com",api_key="sk-xxxxxxxxxxxxxxxx",service_id="tdai-mem-xxxxxxxx",team_id="team-abc123",agent_id="agt-xyz789",user_id="usr-456",) as client:# 替换 Skill 内容中的特定文本result = client.patch("skill-abc123", # 必填,Skill ID(位置参数)4, # 必填,期望的当前版本号(位置参数)"# Old Title", # 必填,要查找的原始文本(位置参数)"# New Title", # 必填,替换后的新文本(位置参数))print(result["version"]) # 5
请求参数
参数名 | 类型 | 必填 | 描述说明 |
skill_id | str | 是 | Skill ID(位置参数) |
expected_version | int | 是 | 期望的当前版本号,用于乐观锁校验(位置参数) |
old_string | str | 是 | 要查找的原始文本(位置参数) |
new_string | str | 是 | 替换后的新文本(位置参数) |
replace_all | bool | 否 | 是否替换所有匹配项,默认仅替换第一个 |
team_id | str | 否 | 团队 ID,覆盖构造时的默认值 |
agent_id | str | 否 | Agent ID,覆盖构造时的默认值 |
user_id | str | 否 | 用户 ID,覆盖构造时的默认值 |
task_id | str | 否 | Task ID,覆盖构造时的默认值 |
响应示例
{"skill_id": "skill-abc123","version": 5}
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: Python 3.11.1
响应参数说明
参数名 | 类型 | 参数含义 |
skill_id | str | Skill ID |
version | int | 更新后的版本号 |
错误码
错误码 | 触发场景 | 处理建议 |
404 | Skill 不存在或 old_string 未匹配到内容 | 检查 skill_id 和 old_string 是否正确 |
409 | 版本冲突, expected_version 与当前版本不匹配 | 重新获取最新版本号后重试 |
401 | API Key 无效或过期 | 检查 api_key 配置 |
500 | 服务内部错误 | 可有限重试 |