Python
Python SDK
通過環(huán)境變量配置訪問憑證(AKSK)
說明:
阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn),在此提供通過配置環(huán)境變量的方式來保存和訪問aksk
Linux和macOS系統(tǒng)配置方法
export NLP_AK_ENV=<access_key_id> export NLP_SK_ENV=<access_key_secret>
其中<access_key_id>替換為已準(zhǔn)備好的AccessKey ID,<access_key_secret>替換為AccessKey Secret,AccessKey ID和AccessKey Secret的獲取方式見步驟二:獲取賬號的AccessKey
Windows系統(tǒng)配置方法
新建環(huán)境變量文件,添加環(huán)境變量
NLP_AK_ENV
和NLP_SK_ENV
,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。重啟Windows系統(tǒng)。
AliNLP2.0 SDK調(diào)用(推薦)
# pip安裝命令
pip install aliyun-python-sdk-alinlp==1.0.20
import json
import os
# 這里以分詞為例,其它算法的API名稱和參數(shù)請參考文檔
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的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn)
*/
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']
# 創(chuàng)建AcsClient實(shí)例
client = AcsClient(
access_key_id,
access_key_secret,
"cn-hangzhou"
)
request = GetWsCustomizedChGeneralRequest.GetWsCustomizedChGeneralRequest()
request.set_Text("云麥好輕智能體脂秤精準(zhǔn)藍(lán)牙秤體重測人體脂肪秤家用稱健康電子秤")
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,可以替換成您需要的算法的值,并替換對應(yīng)的參數(shù),該值可在API參考文檔中的請求參數(shù)-Action-示例值中找到;
Common Request方式調(diào)用
import json
import os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
/**
* 阿里云賬號AccessKey擁有所有API的訪問權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,請登錄RAM控制臺創(chuàng)建RAM用戶。
* 此處以把AccessKey和AccessKeySecret保存在環(huán)境變量為例說明。您也可以根據(jù)業(yè)務(wù)需要,保存到配置文件里。
* 強(qiáng)烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風(fēng)險(xiǎn)
*/
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']
# 創(chuàng)建AcsClient實(shí)例
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', '云麥好輕智能體脂秤精準(zhǔn)藍(lán)牙秤體重測人體脂肪秤家用稱健康電子秤')
request.add_query_param('TokenizerId', 'GENERAL_CHN')
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
print(resp_obj)
調(diào)用異常自助排查
若調(diào)用過程中出現(xiàn)了異常可對照調(diào)用異常自助排查(錯(cuò)誤碼匯總),找到表格中對應(yīng)的描述,描述中包含具體錯(cuò)誤原因和解決方案。