样本标注
更新时间:2024-09-23
功能介绍
用于进行样本标注。
SDK调用
使用说明
本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程。
调用示例
import os
from qianfan.resources import Data
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = Data.annotate_an_entity(
dataset_id="ds-7pkzh1exthpuy10n",
entity_id="f9bc93825e856358886bbc6ad28c7032955b54d171ae8b47587a0346c604139f_7951870f3cd747b497d32f3814b8fxxx",
content = [{
"prompt": "请根据下面的新闻生成摘要, 内容如下:一辆小轿车,一名女司机,竟造成9死24伤。日前,深圳市交警局对事故进行通报:从目前证据看,事故系司机超速行驶且操作不当导致。目前24名伤员已有6名治愈出院,其余正接受治疗,预计事故赔偿费或超一千万元。\n生成摘要如下:",
"response": [
["女司机疲劳驾驶导致9死24伤"]
]
}]
)
print(resp)
package main
import (
"context"
"fmt"
"os"
"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
ca := qianfan.NewConsoleAction()
res, err := ca.Call(context.TODO(), "/wenxinworkshop/entity/annotate", "", map[string]interface{}{
"id": "48dc586f7eb638457b826c02c1b868ef8ac8911b495504625a1ac824f9d38ff8_5f9ac12ca15e4c9c9351174942865e5a",
"datasetId": "ds-7pkzh1exthpuy10n",
"content": []map[string]any{{
"prompt": "请根据下面的新闻生成摘要, 内容如下:一辆小轿车,一名女司机,竟造成9死24伤。日前,深圳市交警局对事故进行通报:从目前证据看,事故系司机超速行驶且操作不当导致。目前24名伤员已有6名治愈出院,其余正接受治疗,预计事故赔偿费或超一千万元。\n生成摘要如下:",
"response": [][]string{
{"女司机疲劳驾驶导致9死24伤"},
},
}},
})
if err != nil {
panic(err)
}
fmt.Println(string(res.Body))
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;
public class Dome {
public static void main(String args[]){
// 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
ConsoleResponse<Map<String, Object>> response = qianfan.console()
// 调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
.route("/wenxinworkshop/entity/annotate")
// 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
// Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
// 对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
.body(CollUtils.mapOf(
"id", "48dc586f7eb638457b826c02c1b868ef8ac8911b495504625a1ac824f9d38ff8_5f9ac12ca15e4c9c9351174942865e5a",
"datasetId", "ds-7pkzh1exthpuy10n",
"content",new Map[]{CollUtils.mapOf(
"prompt", "请根据下面的新闻生成摘要, 内容如下:一辆小轿车,一名女司机,竟造成9死24伤。日前,深圳市交警局对事故进行通报:从目前证据看,事故系司机超速行驶且操作不当导致。目前24名伤员已有6名治愈出院,其余正接受治疗,预计事故赔偿费或超一千万元。\n生成摘要如下:",
"response", new String[][]{
new String[]{"女司机疲劳驾驶导致9死24伤"}
}
)}
))
.execute();
System.out.println(Json.serialize(response));
}
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
async function main() {
//base_api_route:调用本文API,该参数值为固定值,无需修改;对应本文HTTP调用-请求说明-请求地址的后缀
//data:对应本文HTTP调用-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
const res = await consoleAction({base_api_route: '/wenxinworkshop/entity/annotate',data: {
"id": "48dc586f7eb638457b826c02c1b868ef8ac8911b495504625a1ac824f9d38ff8_5f9ac12ca15e4c9c9351174942865e5a",
"datasetId": "ds-7pkzh1exthpuy10n",
"content": [{
"prompt": "请根据下面的新闻生成摘要, 内容如下:一辆小轿车,一名女司机,竟造成9死24伤。日前,深圳市交警局对事故进行通报:从目前证据看,事故系司机超速行驶且操作不当导致。目前24名伤员已有6名治愈出院,其余正接受治疗,预计事故赔偿费或超一千万元。\n生成摘要如下:",
"response": [
["女司机疲劳驾驶导致9死24伤"]
]
}]
}
});
console.log(res);
}
main();
返回示例
QfResponse(
code=200,
headers={...},
body={
"log_id": "a15d0g5z8gqgx6uw",
"result": True,
"status": 200,
"success": True
},
)
{
"log_id": "x7wwxwhykirrt30n",
"result": true,
"status": 200,
"success": true
}
{
"log_id": "x7wwxwhykirrt30n",
"result": true,
"status": 200,
"success": true
}
{
log_id: 'x7wwxwhykirrt30n',
result: true,
status: 200,
success: true
}
请求参数
注意:以下为Python SDK参数说明,Go SDK、Java SDK、Node.js SDK参数说明请参考本文HTTP调用-请求说明。
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
entity_id | string | 是 | 样本ID,通过调用获取样本列表接口,返回的id字段获取样本ID |
dataset_id | string | 是 | 数据集版本id,说明: (1)可以通过以下任一方式获取该字段值: · 方式一,通过调用创建数据集接口,返回的datasetId字段获取 · 方式二,在控制台-数据集管理列表页面,点击详情,在版本信息页查看,如下图所示 (2) 该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型;例如之前是通过调用创建数据集接口,返回的id字段获取,请替换为接口返回的datasetId字段获取 |
content | Optional[List[Dict[str, Any]]] | 否 | 问答对信息,只有在文本对话标注类型时,该字段有效 |
labels | Optional[List[Dict[str, Any]]] | 否 | 标签列表,只有在文生图类型时,该字段有效 |
content说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
prompt | string | 是 | 问题 |
response | string[][] | 是 | 问答对。文本对话不同标注模版,对应content格式不同,说明: (1)目前有2种格式,分别为非排序文本对话、排序文本对话格式 (2)如果为非排序文本对话,注意: · 一个样本最多支持十个问答对(content) · 非排序文本对话的回答为一个string,放在string[][]中,示例如下: "response": [ ["《山水情》作为中国水墨动画的绝唱,折服了无数中外人士。"]] (3)如果为排序文本对话格式,注意: · 一个样本最多支持十个问答对,单个问答对中的排序及回答数量总和最多支持添加5个 · 外层列表表示不同排序,内层列表表示某个排序的所有回答,示例如下: "response": [["国家食药监管总局发布《食品召回管理办法》,明确一级召回,食用后已经或可能导致严重健康损害甚至死亡的食品应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。", "国家食药监管总局发布《食品召回管理办法》,明确一级召回食品生产者应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。对于可能导致严重健康损害甚至死亡的食品也明确需要召回。", "国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后的24小时内启动召回,并需在10个工作日内完成。"],["国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后24小时内启动召回,并须在10个工作日内完成召回。"],["国家食药监管总局发布《食品召回管理办法》,明确一级召回的食品应知悉食品安全风险后24小时内启动召回,且自公告发布之日起10个工作日内完成召回。该办法适用于食用后可能导致严重健康损害甚至死亡的食品。"]]}] |
labels说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
content | string | 是 | 图片对应的prompt,说明: (1)只有在文生图类型时,该字段有效 (2)示例: |
返回参数
请参考本文HTTP调用-响应说明。
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址:https://qianfan.baidubce.com/wenxinworkshop/entity/annotate
请求方式:POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Body参数
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
id | string | 是 | 样本ID,通过调用获取样本列表接口,返回的id字段获取样本ID |
datasetId | string | 是 | 数据集版本id,说明: (1)可以通过以下任一方式获取该字段值: · 方式一,通过调用创建数据集接口,返回的datasetId字段获取 · 方式二,在控制台-数据集管理列表页面,点击详情,在版本信息页查看,如下图所示 (2) 该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型;例如之前是通过调用创建数据集接口,返回的id字段获取,请替换为接口返回的datasetId字段获取 |
content | object[] | 否 | 问答对信息,只有在文本对话标注类型时,该字段有效 |
labels | object[] | 否 | 标签列表,只有在文生图类型时,该字段有效 |
content说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
prompt | string | 是 | 问题 |
response | string[][] | 是 | 问答对。文本对话不同标注模版,对应content格式不同,说明: (1)目前有2种格式,分别为非排序文本对话、排序文本对话格式 (2)如果为非排序文本对话,注意: · 一个样本最多支持十个问答对(content) · 非排序文本对话的回答为一个string,放在string[][]中,示例如下: "response": [ ["《山水情》作为中国水墨动画的绝唱,折服了无数中外人士。"]] (3)如果为排序文本对话格式,注意: · 一个样本最多支持十个问答对,单个问答对中的排序及回答数量总和最多支持添加5个 · 外层列表表示不同排序,内层列表表示某个排序的所有回答,示例如下: "response": [["国家食药监管总局发布《食品召回管理办法》,明确一级召回,食用后已经或可能导致严重健康损害甚至死亡的食品应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。", "国家食药监管总局发布《食品召回管理办法》,明确一级召回食品生产者应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。对于可能导致严重健康损害甚至死亡的食品也明确需要召回。", "国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后的24小时内启动召回,并需在10个工作日内完成。"],["国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后24小时内启动召回,并须在10个工作日内完成召回。"],["国家食药监管总局发布《食品召回管理办法》,明确一级召回的食品应知悉食品安全风险后24小时内启动召回,且自公告发布之日起10个工作日内完成召回。该办法适用于食用后可能导致严重健康损害甚至死亡的食品。"]]}] |
labels说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
content | string | 是 | 图片对应的prompt,说明: (1)只有在文生图类型时,该字段有效 (2)示例: |
响应说明
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 操作记录id |
result | bool | 返回结果 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
请求示例
非排序文本对话样本标注
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/entity/annotate' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"id": "48dc586f7eb638457b826c02c1b868ef8ac8911b495504625a1ac824f9d38ff8_5f9ac12ca15e4c9c9351174942865e5a",
"datasetId": "ds-7pkzh1exthpuy10n",
"content": [{
"prompt": "请根据下面的新闻生成摘要, 内容如下:一辆小轿车,一名女司机,竟造成9死24伤。日前,深圳市交警局对事故进行通报:从目前证据看,事故系司机超速行驶且操作不当导致。目前24名伤员已有6名治愈出院,其余正接受治疗,预计事故赔偿费或超一千万元。\n生成摘要如下:",
"response": [
["女司机疲劳驾驶导致9死24伤"]
]
}]
}'
排序文本对话样本标注
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/entity/annotate' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640xxxxx' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"id": "bcb4b259db0046d643f15ec5fxxxxx",
"datasetId": "ds-7pkzh1exthpuy10n",
"content": [{
"prompt": "请根据下面的新闻生成摘要, 内容如下:国家食药监管总局近日发布《食品召回管理办法》,明确:食用后已经或可能导致严重健康损害甚至死亡的,属一级召回,食品生产者应在知悉食品安全风险后24小时内启动召回,且自公告发布之日起10个工作日内完成召回。\n生成摘要如下:",
"response": [
["国家食药监管总局发布《食品召回管理办法》,明确一级召回,食用后已经或可能导致严重健康损害甚至死亡的食品应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。", "国家食药监管总局发布《食品召回管理办法》,明确一级召回食品生产者应在知悉食品安全风险后24小时内启动召回,自公告发布之日起10个工作日内完成召回。对于可能导致严重健康损害甚至死亡的食品也明确需要召回。", "国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后的24小时内启动召回,并需在10个工作日内完成。"],
["国家食药监管总局发布新规定《食品召回管理办法》,对于可能导致严重健康损害甚至死亡的食品,生产者需在知悉风险后24小时内启动召回,并须在10个工作日内完成召回。"],
["国家食药监管总局发布《食品召回管理办法》,明确一级召回的食品应知悉食品安全风险后24小时内启动召回,且自公告发布之日起10个工作日内完成召回。该办法适用于食用后可能导致严重健康损害甚至死亡的食品。"]
]
}]
}'
文生图样本标注
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/entity/annotate' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"id": "6e426a69ff6e90dd3095d9b3b75bc2b8cf7cd0a5367d163386bb4f362c182cc6",
"datasetId": "ds-7pkzh1exthpuy10n",
"specialLabelTypes": [7],
"labels": [{
"content": "两只金毛"
}]
}'
响应示例
{
"log_id": "x7wwxwhykirrt30n",
"result": true,
"status": 200,
"success": true
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
code | 错误码 |
message | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"code": 500001,
"message": "param invalid"
}
更多错误码,请查看错误码说明。