Я разрабатываю распознавание речи для пользовательского устройства с помощью Google Assistant SDK. Я использую Action SDK для создания настраиваемых действий.
В моем примере Google Assistant не распознает действия на немецком языке, если эти действия отмечены знаком "locale": "de"
, а язык помощников установлен на немецкий. Я понял, что шаблоны запросов понятны, но событие не запускается. Если все настроено на английский, события запускаются.
action.json
{
"locale": "de",
"manifest": {
"displayName": "Blink Licht",
"invocationName": "Blink Licht",
"category": "PRODUCTIVITY"
},
"actions": [
{
"name": "com.acme.actions.blink_light",
"availability": {
"deviceClasses": [
{
"assistantSdkDevice": {}
}
]
},
"intent": {
"name": "com.acme.intents.blink_light",
"parameters": [
{
"name": "number",
"type": "SchemaOrg_Number"
},
{
"name": "light_target",
"type": "LightType"
}
],
"trigger": {
"queryPatterns": [
"lasse das $LightType:light_target $SchemaOrg_Number:number mal blinken"
]
}
},
"fulfillment": {
"staticFulfillment": {
"templatedResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Das Licht $light_target.raw blinkt $number mal"
}
},
{
"deviceExecution": {
"command": "com.acme.commands.blink_light",
"params": {
"lightKey": "$light_target",
"number": "$number"
}
}
}
]
}
}
}
}
],
"types": [
{
"name": "$LightType",
"entities": [
{
"key": "LIGHT",
"synonyms": [
"Licht",
"LED",
"Glühbirne"]
}
]
}
]
}
hotword.py - убрана обработка событий
def process_event(event, device_id):
"""Pretty prints events.
Prints all events that occur with two spaces between each new
conversation and a single space between turns of a conversation.
Args:
event(event.Event): The current event to process.
device_id(str): The device ID of the new instance.
"""
if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
print()
print(event)
if (event.type == EventType.ON_CONVERSATION_TURN_FINISHED and
event.args and not event.args['with_follow_on_turn']):
print()
if event.type == EventType.ON_DEVICE_ACTION:
for command, params in process_device_actions(event, device_id):
print('Do command', command, 'with params', str(params)) #
if command == "com.acme.commands.blink_light":
number = int(params['number'])
for i in range(int(number)):
print('Device is blinking.')
Язык проекта в консоли действий - немецкий: введите здесь описание изображения
Чтобы обновить и сделать действие доступным для тестирования, я использовал "gaction CLI".
Вопрос: почему событие / команда "com.acme.commands.blink_light"
в hotword.py не запускается при использовании немецкого языка?
Спасибо с нетерпением!
locale: "de"
, срабатывают ли команды, когда вы говорите с ним по-немецки? - person Nick Felker   schedule 19.03.2018locale: "de"
в пакете действий, я не смогу тестировать. После./gactions test ...
появляется следующая ошибка:Pushing the app for the Assistant for testing... ERROR: Failed to test the app for the Assistant ERROR: Request contains an invalid argument. Field Violations: # Field Description 1 Could not find draft details for 'de' locale
- person Luk   schedule 20.03.2018