Python

Python SDK

通过环境变量配置访问凭证(AKSK)

  1. 说明:

    1. 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

    2. 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk

  2. Linux和macOS系统配置方法

    export NLP_AK_ENV=<access_key_id>
    export NLP_SK_ENV=<access_key_secret>

    其中<access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey

  3. Windows系统配置方法

    1. 新建环境变量文件,添加环境变量NLP_AK_ENVNLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

AliNLP2.0 SDK调用(推荐)

# pip安装命令
pip install aliyun-python-sdk-alinlp==1.0.20
import json
import os

# 这里以分词为例,其它算法的API名称和参数请参考文档
from aliyunsdkalinlp.request.v20200629 import GetWsCustomizedChGeneralRequest

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']

# 创建AcsClient实例
client = AcsClient(
    access_key_id,
    access_key_secret,
    "cn-hangzhou"
)
request = GetWsCustomizedChGeneralRequest.GetWsCustomizedChGeneralRequest()
request.set_Text("云麦好轻智能体脂秤精准蓝牙秤体重测人体脂肪秤家用称健康电子秤")
request.set_OutType("1")
request.set_ServiceCode("alinlp")
request.set_TokenizerId("GENERAL_CHN")
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
print(resp_obj)

注:GetWsCustomizedChGeneralRequest中的GetWsCustomizedChGeneral是算法的actionName,可以替换成您需要的算法的值,并替换对应的参数,该值可在API参考文档中的请求参数-Action-示例值中找到;

image

Common Request方式调用

common request文档

import json
import os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

/**
 * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
 * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
 * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
 */
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']

# 创建AcsClient实例
client = AcsClient(
    access_key_id,
    access_key_secret,
    "cn-hangzhou"
)

request = CommonRequest()

# domain和version是固定值
request.set_domain('alinlp.cn-hangzhou.aliyuncs.com')
request.set_version('2020-06-29')

# action name可以在API文档里查到
request.set_action_name('GetWsCustomizedChGeneral')

# 需要add哪些param可以在API文档里查到
request.add_query_param('ServiceCode', 'alinlp')
request.add_query_param('Text', '云麦好轻智能体脂秤精准蓝牙秤体重测人体脂肪秤家用称健康电子秤')
request.add_query_param('TokenizerId', 'GENERAL_CHN')
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
print(resp_obj)

调用异常自助排查

若调用过程中出现了异常可对照调用异常自助排查(错误码汇总),找到表格中对应的描述,描述中包含具体错误原因和解决方案。