인공 지능 봇 API를 사용하여 Slack에서 대화하려고했습니다.

소개



유저 로컬사가 제공하고 있는 「 인공 지능 봇 API 」의 사전 신청을 하고 있었습니다만, 이용 가능하게 되었다고 하는 연락을 받았으므로 조속히 사용해 보았습니다.



위와 같이 BOT에게 말을 걸면 대화 내용에 따른 메시지가 반환됩니다.

기본 사양


  • 엔드포인트

  • h tps // 짱 t보 t-아피. 우세 r ㄉ l. jp/아피/짱
  • GET/POST 둘 다 가능


  • 입력 파라미터
  • key: API 키(필수)
  • message: 입력 메시지(필수)
  • bot_name: bot의 이름
  • platform: 플랫폼(line, tw, fb, slack)
  • user_id : 플랫폼상의 사용자 ID
  • user_name : 사용자 이름

  • 반환값
  • 아래와 같은 json 형식의 데이터가 반환된다


  • sample.json
    {
     "status":"success",
     "result":"えーーっ!?まるで、甲子園みたい"
    }
    

    주의


  • 이용하기 위해서는 사전에 사이트 에 등록해, 인증용의 API 키를 받아 둘 필요가 있다.
  • 단, 시험용만이라면 API 키 미발행에서도 가능
  • key의 값을 sample로 전달하면 1 시간에 10 요청까지 사용할 수 있습니다 (API 키가있는 경우 현재 시간에서 최대 500 요청까지 호출 가능).



  • 샘플 코드



    userlocal-api.coffee
    
    # Description:
    #   Let's communicate with ai bot api created by userlocal.
    #
    # Configration:
    #   HUBOT_USERLOCAL_API_KEY
    
    module.exports = (robot) ->
    
      url = "https://chatbot-api.userlocal.jp/api/chat"
      api_key = process.env.HUBOT_USERLOCAL_API_KEY
    
      robot.respond /(.*)/i, (msg) ->
    
        message = msg.match[1]
        params = {
          "message": message,
          "key": api_key
        }
    
        robot.http(url).query(params).get() (err, res, body) ->
          return res.send "Encountered an error :( #{err}" if err
          body = JSON.parse(body)
          msg.send "#{body.result}"
    
    

    해설


  • Slack과 hubot이 이미 연계되어 있다고 전제.
  • api_key를 환경 변수로 heroku에 정의하고 process.env.XXX에서 환경 변수를 읽습니다. (hubot 자체는 heroku에서 움직입니다.)
  • API 키, 입력된 메시지를 매개변수로 전달하고 요청을 보냅니다.
  • 반환 된 json 데이터를 구문 분석하고 msg.send에서 BOT에서 응답합니다.


  • 기타 API 예제



    위에서 소개한 API 이외에도 아래와 같은 API도 준비되어 있는 것 같습니다. 자세한 사용법은 인공 지능 봇 API 매뉴얼 PDF을 참조하십시오.
  • 캐릭터 대화 변환 API
  • 고양이와 개 등의 캐릭터 같은 대화를 실현하기 위한 API

  • 성명 자동 식별 API
  • 대화중인 상대방의 이름에 따라 성별을 결정하거나 성과 이름을 구분할 수있는 API

  • 형태소 분석 API
  • 문장을 형태소(언어로 의미를 가지는 최소 단위)로 분할하기 위한 API

  • 좋은 웹페이지 즐겨찾기