C#

安装

使用.NET CLI 进行安装

dotnet add package aliyun-net-sdk-alinlp

更多安装与使用说明可参考:aliyun-openapi-net-sdk · GitHub

通过环境变量配置访问凭证(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系统。

调用示例

以中文分词算法为例,示例代码如下所示

using System;
using System.Collections.Generic;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Auth;
using Aliyun.Acs.alinlp.Model.V20200629;

namespace AlibabaCloud.SDK.Sample
{
    class Program
    {
        static void Main(string[] args)
        {
          /**
            * 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
            * 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
            * 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
            */
            string accessKeyId = Environment.GetEnvironmentVariable("NLP_AK_ENV");
            string accessKeySecret = Environment.GetEnvironmentVariable("NLP_SK_ENV");
            AlibabaCloudCredentialsProvider provider = new AccessKeyCredentialProvider(accessKeyId, accessKeySecret);
            /* use STS Token
            AlibabaCloudCredentialsProvider provider = new StsCredentialProvider("<your-access-key-id>", "<your-access-key-secret>", "<your-sts-token>");
            */
            IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou");
            // 构建一个 Client,用于发起请求
            DefaultAcsClient client = new DefaultAcsClient(profile, provider);
            //构造请求
            var request = new GetWsChGeneralRequest();
            request.ServiceCode = "alinlp";
            request.TokenizerId = "GENERAL_CHN";
            request.Text = "智能体脂秤精准蓝牙秤体重测人体脂肪秤家用称健康电子秤";
            request.OutType = "1";
            try
            {
                //发起请求
                var response = client.GetAcsResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
    }
}

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

image

调用异常自助排查

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