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

Jaseci调用ent_ext.train报错string indices must be integers,请求修复train_params

修复方案

问题根源

错误string indices must be integers出现在ent_ext.py的create_train_data函数中,说明代码尝试对字符串执行字典索引操作(访问["entities"]),本质是train_data未被正确传递给函数,或是train_params的格式不符合函数预期,导致函数内部错误地将字符串类型数据当作train_data的元素处理。

具体修复步骤

方案1:修正函数调用的参数名

Jaseci的ent_ext.train函数通常使用data和params作为参数名,而非train_data和train_params。修改调用语句的参数名:

can ent_ext.train;
train_data=[
    {
        "context": "EU rejects German call to boycott British lamb",
        "entities": [
            {
                "entity_value": "EU",
                "entity_type": "ORG",
                "start_index": 0,
                "end_index": 2
            },
            {
                "entity_value": "German",
                "entity_type": "MISC",
                "start_index": 11,
                "end_index": 17
            },
            {
                "entity_value": "British",
                "entity_type": "MISC",
                "start_index": 34,
                "end_index": 41
            }
        ]
    }
];
train_params={"num_epoch": 2, "batch_size": 1, "LR": 0.02};
// 修改参数名为data和params
report ent_ext.train(data=train_data, params=train_params);
}

方案2:修正train_params的键名

如果函数要求特定的参数键名(比如复数形式的num_epochs、小写的lr),调整train_params的键:

train_params={"num_epochs": 2, "batch_size": 1, "lr": 0.02};

方案3:验证train_params的结构

部分NER训练函数要求train_params是嵌套结构,将参数包裹在特定键下:

train_params={
    "training": {
        "num_epoch": 2,
        "batch_size": 1,
        "LR": 0.02
    }
};

验证方法

依次尝试上述方案,执行walker run test_train_ner命令,若错误消失则说明修复成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:25:19