コンテンツにスキップ

インテント認識 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

curl --location --request POST 'https://api-platform.ope.ai/v1/intent/recog' \
  --header 'Authorization: Bearer $YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "opeai/JointId-v1",
    "node_id": "1",
    "intent_type": "single",
    "answer": "私は先生です"
  }'
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_typemulti の場合は、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 が応答できない」意図をすべてのノードに含めることを強く推奨します:

{
  "name": "AIが応答できない",
  "example": ["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": 1,
  "msg": "",
  "data": {},
  "success": true,
  "message": ""
}

レスポンス構造

フィールド 説明
code integer 1:成功、その他:失敗
msg string エラーメッセージ(あれば)
data object 通常は空オブジェクト {}
success boolean 無視可能
message string 無視可能

DELETE 一括削除

DELETE /v1/intent

リクエストボディ例:

{
  "node_ids": ["node_1000", "node_1001"]
}

リクエストパラメータ

パラメータ名 位置 必須 説明
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": 1,
  "msg": "",
  "data": {},
  "success": true,
  "message": ""
}

レスポンス構造

フィールド 説明
code integer 1:成功、その他:失敗
msg string エラーメッセージ(あれば)
data object 通常は空オブジェクト {}
success boolean 無視可能
message string 無視可能