方法介绍
extract 用于从对话记录中异步提取并生成 Skill。功能说明如下:异步提取:系统自动从对话中提炼可复用的知识或技巧,提交后立即返回任务信息,后台异步完成提取。
对话来源:通过
messages 参数传入对话内容(格式为 [{"role": "user/assistant", "content": "..."}])。触发原因:通过
reason 参数标记本次提取的触发原因(如 tool_calls、bytes、compressed、oversize)。扩展选项:通过
options 参数传入额外的提取配置。导入
from tencentdb_agent_memory.v3 import SkillClient
方法签名
def extract(self,messages: List[Dict[str, Any]],*,session_id: Optional[str] = None,reason: Optional[str] = None,options: Optional[Dict[str, Any]] = None,space_id: Optional[str] = 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:messages = [{"role": "user", "content": "Python 中如何使用 type hints?"},{"role": "assistant", "content": "Python 3.5+ 支持 type hints..."},]result = client.extract(messages=messages, # 必填,对话记录列表reason="tool_calls", # 可选,触发提取的原因)print(result["task_id"])
请求参数
参数名 | 类型 | 必填 | 描述说明 |
messages | List[Dict] | 是 | 对话记录列表,每条含 role 和 content |
session_id | str | 否 | 会话 ID |
reason | str | 否 | 触发提取的原因。取值范围: tool_calls、bytes、compressed、oversize |
options | Dict | 否 | 额外的提取配置选项 |
space_id | str | 否 | 实例 ID。省略时使用传输层 x-tdai-service-id 头的值 |
team_id | str | 否 | 团队 ID,覆盖构造时的默认值 |
agent_id | str | 否 | Agent ID,覆盖构造时的默认值 |
user_id | str | 否 | 用户 ID,覆盖构造时的默认值 |
task_id | str | 否 | Task ID,覆盖构造时的默认值 |
响应示例
{"ok": True,"task_id": "task-abc123","archived_at_ms": 1723968000000,"archive_key": "archive/team-abc123/agt-xyz789/1723968000000"}
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: Python 3.11.1
响应参数说明
参数名 | 类型 | 参数含义 |
ok | bool | 操作是否成功 |
task_id | str | 异步任务 ID |
archived_at_ms | int | 归档时间,Unix 时间戳,单位为毫秒 |
archive_key | str | 归档存储键值 |
错误码
错误码 | 触发场景 | 处理建议 |
400 | messages 为空 | 检查 messages 参数 |
401 | API Key 无效或过期 | 检查 api_key 配置 |
422 | 消息格式错误 | 确保每条消息含 role 和 content |
500 | 服务内部错误 | 可有限重试 |