클로바 스킬을 알렉사에 이식해보기

Clova 스킬로 만든 말할 수없는 퀴즈이라는 것이 있습니다.
이것도 파이썬으로 만들었고 zappa을 사용하여 aws에 배포했습니다.

LINE BOOT AWORD 2018에도 응모했는데, 젓가락에도 막대기에도 걸리지 않았던 것일까. 음 사태 없음.
그럼, 모처럼 만들었고 alexa에도 이식해 보자.
최근 chalice에서 잘 놀고 있고 deploy도 이쪽으로 해보자. lambda와 alexa skillkit이라면 이쪽이 궁합 좋지 않을까.

어쨌든 chalice


  • 먼저 github에서 저장소 만들기
  • chalice의 새로운 프로젝트
  • .chalice/config.json 편집
  • app.py를 일단 HelloWorld로

  • 라는 느낌으로 대체로 평소의 흐름와 함께.

    app.py
    from chalice import Chalice
    import logging
    import json
    import random
    import re
    import os
    import sys
    import alexa-speech
    
    app = Chalice(app_name='tokyo.ikegami.yeahma10.alexa')
    logger = logging.getLogger()
    debug = os.environ.get('DEBUG_MODE')
    if debug == '1':
    logger.setLevel(logging.INFO)
    else:
    logger.setLevel(logging.ERROR)
    
    @app.lambda_function()
    def default(event, context):
    return welcomeIntent()
    
    def welcomeIntent():
    return alexa-speech.QuestionSpeech('こんにちわーるど').build()
    

    Echo Spot(토카)에 대응



    이번에는 Display 인터페이스에 대응해 보도록 하겠습니다.
    htps : //로 ゔぇぺぺr. 아마존. 이 m/그럼/도 cs/쿠 s와 ms 꽉 ls/ぢspぁy-어서 r후세레-후렌센. HTML

    간단한 패턴이라면 이것을 directive에 넣으면 좋다.
    { "type":"Display.RendorTemplate",
      "template":
        {
          "type":"BodyTemplate1",
          "token": "string",
          "backButton": "VISIBLE"(default) | "HIDDEN",
          "backgroundImage": Image,
          "title": "string",
          "textContent": TextContent
        }
    }
    

    이미지가있는 것 같기 때문에 S3에 적당한 것을 준비했습니다.

    Intent는 이렇게 하자.
  • HelloIntent 입구
  • QuizInIntent Dialog로 발화를 회수 결국, 단지 역업이 되었다. .
  • QuizIntent Dialog로 발화를 회수 결국, 단지의 역업이 되었다. .
  • AnswerIntent 화면 보내기
  • MenuIntent AMAZON.HelpIntent 때

  • 그리고 만든



    만들어 보았지만, 결국 새크리 이식은 되지 않아 꽤 재작성했습니다.
    Display 대응해 보자는 것도 있었고, clova와 slot의 느낌이 조금 다르기도 했고.

    그래서 Display 대응에 대해서는 그리 귀찮지 않았다.
    필요한 것은 이하의 4점 정도일까.
  • request의 ["context"]["System"]["Display"]["supportedInterfaces"]에 Display가 있는지 확인 -> 있으면 Display 대응 응답 반환
  • 배경 이미지 준비. 몇개의 사이즈를 준비해 두면 디바이스에 따라 읽어 주는 것 같다. 340x340과 576x576을 준비해 보았다
  • Desplay용 텍스트를 생각한다. RichText를 사용하면 간단한 장식이 가능합니다

  • action 태그에 해당. request의 타입에 Display.ElementSelected 라는 것이 들어오고, 게다가 token으로 이벤트의 판단할 수 있는 것 같지만, 시뮬레이터에서는 대응하지 않는 것 같다

  • 배경 이미지의 곳은 이런 느낌으로, 디폴트와 정답시, 부정해시의 3 패턴 x2 사이즈를 준비했습니다.
       _imgs =  [
                    {"sources": [
                        { "url": img_340 },
                        { "url": img_576 }
                    ]},
                    {"sources": [
                        { "url": correct_340 },
                        { "url": correct_576 }
                    ]},
                    {"sources": [
                        { "url": incorrect_340 },
                        { "url": incorrect_576 }
                    ]}
                ]
        _params = {
            "backgroundImage": _imgs[_img-1],
    

    이미지는 S3에 있습니다.
    자세한 내용은 이건입니까? 우선 이번은 BodyTemplate1 고정으로 사용하고 있다.

    화면은 이런 느낌이 들었다.



    아, 그러고 보니. 아래와 같이 alexa의 스킬 확실히 Display 인터페이스를 on으로 한 것이지만,



    빌트인 인텐트가 가득 늘었다. 이것, 대응할 수 없지만 심사에는 영향을 주지 않을까. .



    실기 없고, 너무 많이 모르겠어.

    어쨌든, 한번에 동작하도록(듯이) 심사해 보았습니다.
    이것이 지나면 이달 4번째이므로 Echo Show 받을 수 있어.
    뭔가 APL 라는 신경이 쓰이고 시도해보고 싶다.

    가끔. 이케가미. 예아h 마 10. 아아아

    일단 이것으로 alexa관련은 한숨일까. 이제 aws의 Devops의 Professional 받고 싶기 때문에 이 끝을 기사로 해 가면. 새해에 받자.

    좋은 웹페이지 즐겨찾기