This service generates text embeddings for Chinese text.
This service is provided by the Natural Language Processing (NLP) Self-Learning Platform. To use this service, you must call the API directly.
Activate the service and purchase a resource plan
Before you start, confirm that the service is activated. After the service is activated, you can purchase a resource plan.
Service activation: Activation page
Resource plan purchase: Purchase page
Invoke and debug the service
For more information about calling the model, see Model invocation.
For more information about SDK examples, see SDK examples.
Debug
Configure access credentials using environment variables
Notes:
An AccessKey pair for an Alibaba Cloud account grants full access to all APIs, which poses a high security risk. We strongly recommend that you create and use a Resource Access Management (RAM) user for API access and routine operations and maintenance (O&M). Log on to the RAM console to create a RAM user.
Do not hard-code your AccessKey ID and AccessKey secret in your code. This can lead to security risks if the keys are leaked. Instead, store your AccessKey pair in environment variables.
Configuration for Linux and macOS
export NLP_AK_ENV=<access_key_id> export NLP_SK_ENV=<access_key_secret>Replace <access_key_id> with your AccessKey ID and <access_key_secret> with your AccessKey secret. For more information about how to obtain an AccessKey ID and an AccessKey secret, see Step 2: Obtain an AccessKey for your account.
Windows configuration
Create a file for environment variables. Add the
NLP_AK_ENVandNLP_SK_ENVenvironment variables, and set their values to your AccessKey ID and AccessKey secret.Restart Windows.
Java example
/**
* An AccessKey pair for an Alibaba Cloud account has permissions on all APIs, which poses a high security threat. We strongly recommend that you create and use a RAM user for API access and routine O&M. To create a RAM user, log on to the RAM console.
* This example shows how to store your AccessKey ID and AccessKey secret in environment variables. You can also store them in a configuration file based on your business needs.
* To avoid security risks, do not hard-code your AccessKey ID and AccessKey secret in your code.
*/
String accessKeyId = System.getenv("NLP_AK_ENV");
String accessKeySecret = System.getenv("NLP_SK_ENV");
DefaultProfile defaultProfile = DefaultProfile.getProfile("cn-hangzhou",accessKeyId,accessKeySecret);
IAcsClient client = new DefaultAcsClient(defaultProfile);
Map<String, Object> map = new HashMap<>();
map.put("message", "I am Chinese");
RunPreTrainServiceRequest request = new RunPreTrainServiceRequest();
request.setServiceName("NLP-Text-Embedding");
request.setPredictContent(JSON.toJSONString(map));
RunPreTrainServiceResponse response = client.getAcsResponse(request);
System.out.println(response.getPredictResult());Python example
# Install dependencies
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-nlp-automl# -*- coding: utf8 -*-
import json
import os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdknlp_automl.request.v20191111 import RunPreTrainServiceRequest
# An AccessKey pair for an Alibaba Cloud account has permissions on all APIs, which poses a high security threat. We strongly recommend that you create and use a RAM user for API access and routine O&M. To create a RAM user, log on to the RAM console.
# This example shows how to store your AccessKey ID and AccessKey secret in environment variables. You can also store them in a configuration file based on your business needs.
# To avoid security risks, do not hard-code your AccessKey ID and AccessKey secret in your code.
access_key_id = os.environ['NLP_AK_ENV']
access_key_secret = os.environ['NLP_SK_ENV']
# Initialize AcsClient instance
client = AcsClient(
access_key_id,
access_key_secret,
"cn-hangzhou"
);
content ={"message": "I am Chinese"}
# Initialize a request and set parameters
request = RunPreTrainServiceRequest.RunPreTrainServiceRequest()
request.set_ServiceName('NLP-Text-Embedding')
request.set_PredictContent(json.dumps(content))
# Print response
response = client.do_action_with_exception(request)
resp_obj = json.loads(response)
predict_result = json.loads(resp_obj['PredictResult'])
print(predict_result['embedding'])Example of PredictContent
{
"message": "I am Chinese",
}Example of PredictResult
{
{"embedding":[0.032712288200855255,0.06901254504919052,-0.03633863478899002,-0.06322920322418213,-0.011379375122487545,..]
}Request parameters
Parameter | Description |
message | The text to predict. |
Response parameters
Parameter | Description |
embedding | The vector representation of the text. |