docomo の WebAPI 雑談対話 を使ってみます。雑談と しりとり の相手をしてくれます。
雑談
しりとり
WebAPI について
呼出しは POST で行います。
リクエスト、レスポンスは ともに JSON です。
エンドポイント
https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=xxxxxxxxxxxxxxxx
ポストするデータ(JSON)
送信する JSON は以下の構成です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "utt": "はじめまして", "context": "", "nickname": "太郎", "nickname_y": "タロウ", "sex": "男", "bloodtype": "A", "birthdateY": "1990", "birthdateM": "1", "birthdateD": "20", "age": "26", "constellations": "水瓶座", "place": "北海道", "mode": "dialog" } |
utt に会話文をセットします。
context は会話を継続するための ID です。最初は 空 のままポストします。サーバー側が ID を採番してレスポンスに載せてくるので、以降はその ID をセットします。
mode で 雑談(dialog)/しりとり(srtr)を指定します。
context は会話を継続するための ID です。最初は 空 のままポストします。サーバー側が ID を採番してレスポンスに載せてくるので、以降はその ID をセットします。
mode で 雑談(dialog)/しりとり(srtr)を指定します。
レスポンス(JSON)
返ってくる JSON はこうなってます。
1 2 3 4 5 6 7 |
{ "utt": "よろしく", "yomi": "よろしく", "mode": "dialog", "da": "0", "context": "xRluvaSLkVaoZAQMoseY2Q" } |
python でのサンプル
python だとこうなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import requests import json payload = { "utt": "はじめまして", "context": "", "nickname": "太郎", "nickname_y": "タロウ", "sex": "男", "bloodtype": "A", "birthdateY": "1990", "birthdateM": "1", "birthdateD": "20", "age": "26", "constellations": "水瓶座", "place": "北海道", "mode": "dialog" } url = 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=xxxxxxxxxxx' s = requests.session() r = s.post(url, data=json.dumps(payload)) res_json = json.loads(r.text) print res_json['utt'] |
補足
サーバー側のキャラクタ
docomo のサイトには 「システムは3タイプのキャラクタから選択可能です」と書いてありますが、方法がよくわかりませんでした。
デフォルトの 「ゼロ」が相手をしてくれます。