# #node.js #dialogflow-es #dialogflow-es-fulfillment #dialogflow-cx
Вопрос:
Я пытаюсь создать сущность в Dialogflow, используя Node.js. Возможно ли это? Если да, то как я должен его выполнить? Спасибо.
Ответ №1:
Да, это возможно. Для справки см. EntityTypesClient() для других методов, которые вы можете использовать в отношении сущностей.
Перед выполнением кода убедитесь, что вы выполнили следующее, как указано в быстром запуске Dialogflow nodejs.
- Выберите или создайте проект облачной платформы.
- Включите выставление счетов для вашего проекта.
- Включите API API Dialogflow.
- Настройте проверку подлинности с помощью учетной записи службы, чтобы вы могли получить доступ к API со своей локальной рабочей станции.
Приведенный ниже пример кода создает объект test_sizing со значением, имеющим соответствующие синонимы. Вы также можете распечатать значения response
, если вам нужна информация из него.
'use strict';
const dialogflow = require('@google-cloud/dialogflow');
const entityClient = new dialogflow.EntityTypesClient();
const agentPath = entityClient.projectAgentPath('your-project-id-here');
const entityType = {
displayName: 'test_sizing',
kind: 'KIND_MAP',
entities: [
{value: 'small', synonyms: ['small', 'petit']},
{value: 'medium', synonyms: ['medium']},
{value: 'large', synonyms: ['large', 'big']},
],
};
const request = { parent: agentPath, entityType: entityType };
const response = entityClient.createEntityType(request);
Вывод диалогового потока:
объект test_sizing:
Ответ №2:
Да, в Dialogflow CX и ES можно создавать типы сущностей.
В зависимости от используемой версии Dialogflow вы можете использовать одно из следующих Node.js клиентские библиотеки:
- Dialogflow CX — @google-облако/dialogflow-cx
- Dialogflow ES/Пробная версия — @google-облако/dialogflow
Обе клиентские библиотеки имеют EntityTypeClient
класс, который можно использовать для управления типами сущностей. В вашем случае использования вы можете использовать метод EntityTypeClient.createEntityType()
класса для создания типов сущностей.
Ниже приведены примеры кодов для создания типов сущностей для каждого выпуска Dialogflow с использованием Node.js клиентские библиотеки:
Диалоговый поток CX:
const {EntityTypesClient} = require('@google-cloud/dialogflow-cx');
const client = new EntityTypesClient()
async function createEntityType(projectId, location, agentId, language, displayName, entities, kind) {
parent = client.agentPath(projectId, location, agentId)
let entityType = {
displayName,
entities,
kind
}
let request = {
parent,
entityType,
language
}
const [response] = await client.createEntityType(request);
console.log(response)
}
projectId = "<PROJECT_ID>"
location = "<LOCATION>"
agentId = "<AGENT_ID>"
language = "<LANGUAGE_CODE>"
displayName = "size"
kind = "KIND_MAP"
entities = [
{
value:"Small",
synonyms:[
"Small",
"S"
]
},
{
value:"Medium",
synonyms:[
"Medium",
"M"
]
}
]
createEntityType(projectId, location, agentId, language, displayName, entities, kind)
Результат:
Ссылка на метод: google.cloud.dialogflow.cx.v3.EntityTypeClient.createEntityType()
Dialogflow ES/Пробная версия:
const {
EntityTypesClient
} = require('@google-cloud/dialogflow');
const client = new EntityTypesClient()
async function createEntityType(projectId, language, displayName, entities, kind) {
parent = client.projectAgentPath(projectId)
let entityType = {
displayName,
entities,
kind
}
let request = {
parent,
entityType,
language
}
const [response] = await client.createEntityType(request);
console.log(response)
}
projectId = "<PROJECT_ID>"
language = "<LANGUAGE_CODE>"
displayName = "size"
kind = "KIND_MAP"
entities = [{
value: "Small",
synonyms: [
"Small",
"S"
]
},
{
value: "Medium",
synonyms: [
"Medium",
"M"
]
}
]
createEntityType(projectId, language, displayName, entities, kind)
Результат:
Ссылка на метод: google.cloud.dialogflow.v2.EntityTypeClient.createEntityType()