上云无忧 > 文档中心 > 百度智能云飞桨EasyDL零门槛AI开发平台文本创作 - 调用API文档
飞桨EasyDL零门槛AI开发平台
百度智能云飞桨EasyDL零门槛AI开发平台文本创作 - 调用API文档

文档简介:
本文档主要说明定制化模型发布后获得的API如何使用,如有疑问可以通过以下方式联系我们: 在百度云控制台内提交工单。 进入EasyDL社区交流 ,与其他开发者进行互动。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本文档主要说明定制化模型发布后获得的API如何使用,如有疑问可以通过以下方式联系我们:

在百度云控制台内提交工单

进入EasyDL社区交流 ,与其他开发者进行互动

加入EasyDL官方QQ群(群号:868826008)联系群管

接口描述

基于自定义训练出的创作模型,实现基于输入文本内容的个性化创作。模型训练完毕后发布可获得定制API。

请求说明

HTTP 方法:POST

请求URL: 请首先在定制化训练平台进行自定义模型训练,完成训练后可在服务列表中查看并获取url。

URL参数:

参数
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取”

Header如下:

参数
Content-Type application/json

注意:如果出现336001的错误码很可能是因为请求方式错误,定制化文本分类服务以json方式请求。

Body请求示例:

{
    "text": "<UTF-8编码文本>",
    "max_gen_len": "64"
}

Body中放置请求参数,参数详情请看模型请求参数。

模型请求参数:

参数 是否必选 类型 可选值范围 说明
text string 512token以内 输入文本,超过512个token将被截断
max_gen_len int 0-128token 生成时返回字符数,可选0-128,可按需设置,通常生成字符数越少,用户等待时间越少。默认取值为:64

请求示例:

# coding=utf-8 import sys import json # 保证兼容python2以及python3 IS_PY3 = sys.version_info.major 
== 3 if IS_PY3: from urllib.request import urlopen from urllib.request import Request from urllib.error
 import URLError from urllib.parse import urlencode from urllib.parse import quote_plus else: import
 urllib2 from urllib import quote_plus from urllib2 import urlopen from urllib2 import Request
 from urllib2 import URLError from urllib import urlencode reload(sys) sys.setdefaultencoding('utf8')
 # 防止https证书校验不正确 import ssl

ssl._create_default_https_context = ssl._create_unverified_context # 百度云控制台获取到ak,sk以及
 # EasyDL官网获取到URL # ak API_KEY = 'kQWXQ8oe5G5T7ATzXXXXXXXX'
 # sk SECRET_KEY = 'Y30GtHsKzyH6fUUsQl32GvoBXXXXXXXX' # url EASYDL_TEXT_CLASSIFY_URL = "https://aip.
baidubce.com/rpc/2.0/ai_custom/v1/text_gen/lirics_gen" """  TOKEN start """ TOKEN_URL =
 'https://aip.baidubce.com/oauth/2.0/token' """
    获取token
""" def fetch_token(): params = {'grant_type': 'client_credentials', 'client_id':
 API_KEY, 'client_secret': SECRET_KEY} post_data = urlencode(params) if (IS_PY3):
 post_data = post_data.encode('utf-8') req = Request(TOKEN_URL, post_data) try: f 
= urlopen(req, timeout=5) result_str = f.read() print('success') except URLError 
as err: print(err) if (IS_PY3): result_str = result_str.decode() result = json.loads
(result_str) if ('access_token' in result.keys() and 'scope' in result.keys()):
 if not 'brain_all_scope' in result['scope'].split(' '): print('please ensure 
has check the  ability') exit() return result['access_token'] else: print('please 
overwrite the correct API_KEY and SECRET_KEY') exit() """
    调用远程服务
""" def request(url, data): if IS_PY3: req = Request(url, json.dumps(data).encode
('utf-8')) else: req = Request(url, json.dumps(data)) has_error = False try: f = 
urlopen(req) result_str = f.read() if (IS_PY3): result_str = result_str.decode()
 return result_str except URLError as err: print(err) if __name__ == '__main__':
 # 获取access token token = fetch_token() # 拼接url url = EASYDL_TEXT_CLASSIFY_URL 
+ "?access_token=" + token

    text = "歌名:晴天;歌词:" # 请求接口 # 测试 response = request(url, { 'text':
 text, 'max_gen_len': 128 }) result_json = json.loads(response)['result']
['content'] print('u{0}'.format(result_json))

模型返回参数:

参数 是否必选 类型 可选值范围 说明
log_id number - 唯一的log id,用于问题定位
+content string - 返回的生成结果
+is_truncate boolean 0或1 返回的生成结果是否被截断,1为被截断,0为没被截断,与设置的max_gen_len的token数有关

示例样本1:

以歌词创作场景为例,模型输入(入参)为歌词名称,模型输出(出参)为歌词内容,假设训练数据中,输入文本的数据模板的为:“歌名:xxx;歌词:”,输出文本的数据模板为:“xxxx”(xxxx代表生成歌词内容)。

当用户输入:“夏日的海边”

  • 入参text字段为:“歌名:夏日的海边;歌词:”
  • 出参content为:“故事的小黄花 从出生那年就飘着 童年的荡秋千”

其中,“歌名:”作为样本的前缀,需要固定添加在每一次的请求中,不固定的前缀,将影响模型效果;“歌词:”作为样本的后缀,需要固定添加在每一次的请求中,不固定的后缀,将影响模型效果;

示例输入:

{
	"text": "歌名:夏日的海边;歌词:",
	"max_gen_len": "64"
}

示例返回:

{
	"log_id": "123456",
	"result": [{
		"content": "故事的小黄花 从出生那年就飘着 童年的荡秋千",
		"is_truncate": 0
	}]
}

示例样本2:

以旅行问答场景为例:

  • 用户输入:“十月去青海应该带什么?”,则入参text字段为:“问题是:十月去青海应该带什么?答案是:”
  • 输出:“带个男朋友”,则content为”带个男朋友“

其中,“问题是:”是前缀、“答案是:”是后缀,前缀避免改为“问题:”或“题目是:”等相关词组,后缀避免改为“答案:”或“回答:”等相关词组;前后缀都需要固定添加在每一次的请求中,否则将影响模型效果。

示例输入:

{
	"text": "问题是:十月去青海应该带什么?答案是:",
	"max_gen_len": "64"
}

示例返回:

{
	"log_id": "123456",
	"result": [{
		"content": "带个男朋友",
		"is_truncate": 0
	}]
}

错误码

若请求错误,服务器将返回的JSON文本包含以下参数:

error_code:错误码。

error_msg:错误描述信息,帮助理解和解决发生的错误。

例如Access Token失效返回:

{
  "error_code": 110,
  "error_msg": "Access token invalid or no longer valid"
}

需要重新获取新的Access Token再次请求即可。

错误码 错误信息 描述
1 Unknown error 服务器内部错误,请再次请求, 如果持续出现此类错误,请在百度云控制台内提交工单反馈。
2 Service temporarily unavailable 服务暂不可用,请再次请求, 如果持续出现此类错误,请在百度云控制台内提交工单反馈。
3 Unsupported openapi method 调用的API不存在,请检查后重新尝试
4 Open api request limit reached 集群超限额
6 No permission to access data 无权限访问该用户数据
13 Get service token failed 获取token失败
14 IAM Certification failed IAM鉴权失败
15 app not exists or create failed 应用不存在或者创建失败
17 Open api daily request limit reached 每天请求量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈
18 Open api qps request limit reached QPS超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈
19 Open api total request limit reached 请求总量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请在百度云控制台内提交工单反馈
100 Invalid parameter 无效的access_token参数,请检查后重新尝试
110 Access token invalid or no longer valid access_token无效
111 Access token expired access token过期
336000 Internal error 服务器内部错误,请再次请求, 如果持续出现此类错误,请在百度云控制台内提交工单反馈
336001 Invalid Argument 入参格式有误,比如缺少必要参数、图片base64编码错误等等,可检查下图片编码、代码格式是否有误。有疑问请在百度云控制台内提交工单反馈
336002 JSON不合法 入参格式或调用方式有误,比如缺少必要参数或代码格式有误。有疑问请在百度云控制台内提交工单反馈
336003 Base64解码失败 文本格式有误或base64编码有误,请根据接口文档检查格式,base64编码请求时注意要去掉头部。有疑问请在百度云控制台内提交工单反馈
336004 输入文件大小不合法 文本大小不合法,目前支持文本文件类型为支持txt,文本文件大小限制长度最大512 UTF-8字符。
336005 解码失败 文本编码错误(不是utf-8),目前支持文本文件类型为支持txt。如果遇到请重试,如反复失败,请在百度云控制台内提交工单反馈
336006 缺失必要参数 未上传文本文件
336100 model temporarily unavailable 遇到该错误码请等待1分钟后再次请求,可恢复正常,若反复重试依然报错或有疑问请在百度云控制台内提交工单反馈

相似文档
  • EasyDL语音,包含语音识别和声音分类两种训练能力,零代码自助训练语音识别语言模型,声音分类模型。提升业务领域专有名词识别准确率,区分不同声音类别,广泛适用于行业数据采集录入、语音指令、呼叫中心、声音类型检测等应用场景。
  • 原语音自训练平台即日已结束公测正式上线,品牌升级更名为“EasyDL语音识别”,平台和语音识别通用接口全面打通,语音技术下任一接口开通付费即可免费训练语音识别模型,无需额外费用。
  • 在导航栏【模型中心】-【我的模型】页中可以点击【创建模型】按钮;也可以直接点击左侧导航菜单中的【创建模型】进入创建模型步骤。目前一个账号下支持创建10个模型,模型可删除。 在创建模型步骤中,需要进行“基础信息填写”“上传测试集”“选择基础模型”三个环节完成创建。
  • 可以在【创建模型】-“选择基础模型“页点击【开始训练】按钮进入【训练模型】 也可以在【我的模型】列表页选择已创建完成的模型点击操作栏中的“开始训练”进入【训练模型】; 也可以直接在左侧导航栏中点击【训练模型】,进入【训练模型】 在训练模型步骤中,选择需要训练的模型,并上传训练文本。
  • 可以在【我的模型】选择要上线的模型,在操作栏点击“申请上线” 或者在左侧导航栏中点击【上线模型】,选择要上线的模型和版本进行上线(只有模型训练成功生成版本号才可上线) 一个账号下最多只能上线3个模型。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部