インテント認識 API
APIキーの取得方法については、クイックスタートガイドをご参照ください。
$YOUR_API_KEY
は、取得した実際の API キーに置き換えてください。
本プラットフォームは API キー単位でデータを分離しています。同一ユーザーアカウントでも、異なる API キーを使えばアクセスできるデータは完全に独立しており、共有されません。
API 一覧
メソッド | パス | 機能説明 | エンドポイント URL |
---|---|---|---|
POST | /v1/intent/recog |
ユーザーの意図を認識 | https://api-platform.ope.ai/v1/intent/recog |
POST | /v1/intent/update |
意図の一括追加・更新 | https://api-platform.ope.ai/v1/intent/update |
DELETE | /v1/intent |
意図ノードの一括削除 | https://api-platform.ope.ai/v1/intent |
ユーザー意図の認識
POST /v1/intent/recog
import requests
url = 'https://api-platform.ope.ai/v1/intent/recog'
headers = {
'Authorization': 'Bearer $YOUR_API_KEY',
'Content-Type': 'application/json',
}
payload = {
'model': 'opeai/JointId-v1',
'node_id': '1',
'intent_type': 'single',
'answer': '私は先生です',
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
リクエストパラメータ
パラメータ名 | 位置 | 型 | 必須 | 説明 |
---|---|---|---|---|
Authorization | header | string | はい | API キー(形式:Bearer YOUR_API_KEY ) |
Content-Type | header | string | はい | application/json を指定 |
model | body | string | はい | 使用するモデル名(例:opeai/JointId-v1 ) |
node_id | body | string | はい | 現在のノード ID(コンテキストの識別子) |
intent_id | body | string | いいえ | マルチターン会話の前回意図 ID(intent_type=multi の場合は必須) |
intent_type | body | string | はい | single (単一ターン)または multi (マルチターン) |
answer | body | string | はい | ユーザーの入力内容 |
intent_type
がmulti
の場合は、intent_id
を必ず指定してください。
レスポンス例
{
"code": 1,
"msg": "",
"data": {
"intent": "重複",
"intent_id": "123123123"
},
"success": true,
"message": ""
}
レスポンス構造
フィールド | 型 | 説明 |
---|---|---|
code | integer | 1 :成功、その他:失敗 |
msg | string | エラーメッセージ(あれば) |
data | object | 認識された意図と intent_id を含むオブジェクト |
intent | string | 意図名(空文字列の場合は要注意) |
intent_id | string | 使用または生成された intent ID |
success | boolean | 無視可能 |
message | string | 無視可能 |
POST 一括更新(存在しない場合は追加)
POST /v1/intent/update
リクエストボディ例:
[
{
"node_id": "node_1000",
"question": "ご職業を教えていただけますか?",
"intent": [
{
"name": "職業が適合",
"example": ["学生", "無職", "教師", "事務職", "IT", "低リスク職種"],
"relation": 1
},
{
"name": "職業が不適合",
"example": ["軍人", "高リスク職種", "鉱夫", "運転手", "消防士"],
"relation": 1
},
{
"name": "AIが応答できない",
"example": ["ai 応答不可"]
}
]
}
]
認識の網羅性を高めるため、以下のような「AI が応答できない」意図をすべてのノードに含めることを強く推奨します:
リクエストパラメータ
パラメータ名 | 位置 | 型 | 必須 | 説明 |
---|---|---|---|---|
Authorization | header | string | はい | API キー |
Content-Type | header | string | はい | application/json を指定 |
body | body | array[object] | はい | 意図ノードの配列 |
intent 要素の構造
フィールド名 | 型 | 説明 |
---|---|---|
name | string | 意図の名前 |
example | array[string] | その意図を表す例文リスト |
relation | integer | オプション:意図のグループ関係(例:1) |
レスポンス例
レスポンス構造
フィールド | 型 | 説明 |
---|---|---|
code | integer | 1 :成功、その他:失敗 |
msg | string | エラーメッセージ(あれば) |
data | object | 通常は空オブジェクト {} |
success | boolean | 無視可能 |
message | string | 無視可能 |
DELETE 一括削除
DELETE /v1/intent
リクエストボディ例:
リクエストパラメータ
パラメータ名 | 位置 | 型 | 必須 | 説明 |
---|---|---|---|---|
Authorization | header | string | はい | API キー(形式:Bearer YOUR_API_KEY ) |
Content-Type | header | string | はい | application/json を指定 |
body | body | object | はい | リクエストボディ |
node_ids | body | array[string] | はい | 削除対象のノード ID の配列(例:["node_1000", "node_1001"] ) |
レスポンス例
レスポンス構造
フィールド | 型 | 説明 |
---|---|---|
code | integer | 1 :成功、その他:失敗 |
msg | string | エラーメッセージ(あれば) |
data | object | 通常は空オブジェクト {} |
success | boolean | 無視可能 |
message | string | 無視可能 |