You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CVAT API按项目ID筛选任务失败,请求技术支持

解决CVAT API按项目筛选任务的问题

问题原因

你的filter参数格式不符合CVAT API的要求。CVAT的filter需要嵌套操作符结构(比如eq表示等于),而不是直接传递键值对。错误提示里的"3 arguments"就是因为API无法解析你传入的简单键值格式。

修正方案

方案1:使用正确的filter格式

把filter改为包含操作符的嵌套JSON,同时注意project_id用整数类型(不要转成字符串):

import json
from cvat_sdk import make_client

with make_client(host="your-cvat-host", credentials=("user", "pass")) as client:
    project_id = 3
    # 构造正确的filter:使用eq操作符匹配项目ID
    filter_json = json.dumps({"project_id": {"eq": project_id}})
    tasks = client.tasks.api.list(filter=filter_json)
    
    # 输出结果
    for task in tasks:
        print(f"Task ID: {task.id}, Name: {task.name}")

方案2:通过已获取的Project对象直接列表任务

既然你已经拿到了project对象,更简单的方式是直接调用它的tasks.list()方法,不需要手动构造filter:

from cvat_sdk import make_client

with make_client(host="your-cvat-host", credentials=("user", "pass")) as client:
    project = client.projects.retrieve(3)
    print(f"Found project {project.id}")
    
    # 直接从project对象获取关联的任务
    tasks = project.tasks.list()
    
    for task in tasks:
        print(f"Task ID: {task.id}, Name: {task.name}")

关键说明

  • CVAT API的filter支持多种操作符:eq(等于)、in(包含)、gt(大于)等,按需使用即可。
  • 数值类型的字段(比如project_id)不要用字符串传递,保持整数类型避免类型不匹配问题。

内容的提问来源于stack exchange,提问作者Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:12:45