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

使用boto3创建带ExternalQuestion的HITs未显示于MTurk请求者账户,求查看方法

解决MTurk编程创建HITs无法在Web界面查看的问题

作为经常用MTurk做众包任务的开发者,我来帮你梳理下可能的问题和解决办法:

首先,排查最常见的环境不匹配问题:

  • 你用boto3创建HITs时,一定要确认代码里配置的是沙箱环境还是生产环境:
    • 如果是沙箱(endpoint_url设为https://mturk-requester-sandbox.us-east-1.amazonaws.com),必须去https://requestersandbox.mturk.com/manage查看;
    • 如果是生产环境(endpoint_url设为https://mturk-requester.us-east-1.amazonaws.com),才去https://requester.mturk.com/manage查看。
      很多新手会搞混这两个完全隔离的环境,导致创建的HITs在错误的页面找不到。

其次,检查Web界面的筛选条件:

  • 登录对应环境的管理页面后,默认可能只显示「活跃的HITs」,如果你的HITs刚创建还在审核,或者已经完成/过期,需要调整筛选器:
    • 点击页面顶部的筛选选项,选择「所有HITs」或者对应状态的分类(比如「已提交」「已批准」);
    • 另外,编程创建的ExternalQuestion HITs通常会归类在「自定义HITs」下,你可以在左侧导航栏找到这个分类,进去查看详情。

如果Web界面还是找不到,用boto3 API直接查询进度是更可靠的方式:
你可以通过几个核心接口获取HITs的实时状态和进度:

  1. list_hits():获取你账号下所有HITs的列表,包含每个HIT的状态、已分配数量、已完成数量等基本信息
    示例代码:
    import boto3
    
    # 替换成你的环境配置
    mturk = boto3.client(
        'mturk',
        endpoint_url='https://mturk-requester-sandbox.us-east-1.amazonaws.com',
        aws_access_key_id='YOUR_ACCESS_KEY',
        aws_secret_access_key='YOUR_SECRET_KEY',
        region_name='us-east-1'
    )
    
    response = mturk.list_hits()
    for hit in response['HITs']:
        print(f"HIT ID: {hit['HITId']}")
        print(f"标题: {hit['Title']}")
        print(f"状态: {hit['HITStatus']}")
        print(f"已分配/已完成/总任务数: {hit['NumberOfAssignmentsPending']}/{hit['NumberOfAssignmentsCompleted']}/{hit['MaxAssignments']}")
        print("---")
    
  2. get_hit(HITId='your_hit_id'):获取单个HIT的详细信息,包括创建时间、过期时间、问题内容等
  3. list_assignments_for_hit(HITId='your_hit_id'):获取该HIT下所有工人的提交记录,包括是否已批准、提交时间等,方便你审核和统计进度

最后,如果以上方法都不行,可能是你的HITs创建过程中出现了错误(比如参数不符合要求导致创建失败),可以在调用create_hit后打印返回的响应,确认HIT是否成功创建,以及获取正确的HITId用于后续查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:11:25