Download OpenAPI specification:
指定されたチャット会話に対する、LLMからの応答を作成し返却するAPI。また会話の履歴を保持し、過去の会話履歴を考慮した対話が可能。historyIdを指定することで複数の履歴を保持することができる。また、システム連携向けに会話の履歴を使用・保存しない単発の会話の指定も可能(oneshotオプション)。テンプレート対話、検索対話からの履歴を含めた対話にも対応する。
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
| userContent required | string (userContent) ユーザプロンプトのContent文字列 |
| systemContent | string (systemContent) システムプロンプトのContent文字列。systemTemplateIdと両方指定されている場合、systemContentの値が優先される。 |
| historyId required | string (historyId) 参照する履歴ID。指定が「new」場合は新しい会話履歴とする。oneshotがtrueの場合のみ指定不要。履歴IDを指定する場合はuuidかhistory_ |
| oneshot | boolean (oneshot) Default: false trueを指定することで履歴を使用せず単発での対話が可能(履歴にも保存されません) |
| model required | string (model) LLMのモデル名 |
| stream | boolean (stream) Default: false LLMの応答をstreaming形式で返却するかどうか |
| streamNum | integer (streamNum) Default: 10 streamingがtrueの場合に何文字単位で返却するかを指定(範囲1-1000) |
| maxTokens | integer (maxTokens) Default: 1024 LLMのトークンの最大値(範囲:1~8192) |
| temperature | number (temperature) Default: 1 LLMのランダム性パラメータ。0に近いほど最も確率が高い回答が選ばれる |
{- "userContent": "こんにちは",
- "systemContent": "あなたはAIアシスタントです",
- "historyId": "new",
- "oneshot": false,
- "model": "cotomi-fast-v2.0",
- "stream": false,
- "streamNum": 1,
- "maxTokens": 1024,
- "temperature": 1
}{- "error": {
- "code": "string",
- "message": "string"
}, - "answer": "こんにちは、何かお手伝いすることはありますか?",
- "historyId": "history_12345678-90ab-cdef-ghij-zzz"
}事前に登録された文書に対するRAGを行うAPI。履歴機能には対応しない(履歴IDは新規採番のみ対応(履歴を使いたい場合は一般対話を利用する)。既定は履歴は採番しない)
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
| userContent required | string (userContent) ユーザプロンプトのContent文字列(検索したい内容を記載) |
| templateId | string (templateId) Default: "search" 検索用テンプレートID。指定しない場合は既定値を使用する |
| vectorIndex required | string (vectorIndex) 追加情報(ベクトルストアのIndex名) |
object (searchOption) ベクトル検索のオプションをJson形式で必要に応じて複数記載する。 | |
| oneshot | boolean (oneshot) Default: true trueを指定することで履歴を使用せず単発での対話が可能(履歴にも保存されません)。falseを指定すると、履歴IDが採番され、一般対話で会話を継続することができます。 |
| model required | string (model) LLMのモデル名 |
| stream | boolean (stream) Default: false LLMの応答をstreaming形式で返却するかどうか |
| streamNum | integer (streamNum) Default: 10 streamingがtrueの場合に何文字単位で返却するかを指定(範囲1-1000) |
| maxTokens | integer (maxTokens) Default: 1024 LLMのトークンの最大値 |
| temperature | number (temperature) Default: 1 LLMのランダム性パラメータ。0に近いほど最も確率が高い回答が選ばれる |
{- "userContent": "こんにちは",
- "templateId": "search",
- "vectorIndex": "test-index",
- "searchOption": {
- "searchType": "string",
- "topK": 0
}, - "oneshot": true,
- "model": "cotomi-fast-v2.0",
- "stream": false,
- "streamNum": 1,
- "maxTokens": 1024,
- "temperature": 1
}{- "error": {
- "code": "string",
- "message": "string"
}, - "answer": "Generative AI APIサービスは...",
- "historyId": "history_12345678-90ab-cdef-ghij-zzz",
- "sourceDocuments": [
- {
- "docContent": "Generative AI APIサービス概要...",
- "metadata": {
- "source": "string",
- "page": 0,
- "url": "string",
- "insertDate": "string",
- "任意のメタデータ": { }
}
}
]
}テンプレートプロンプトに任意のパラメータを埋め込み、パラメータを置換することでLLMと対話するAPI。
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-referred-templateid required | string 使用したテンプレートIDを指定する |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
| userContent required | string (userContent) 置換する文字列を指定 |
| templateId required | string (templateId) テンプレートID。Generative AI API管理ポータルのテンプレート画面から使用したいテンプレートのIDをコピーして指定してください。 |
| oneshot | boolean (oneshot) Default: true trueを指定することで履歴を使用せず単発での対話が可能(履歴にも保存されません)。falseを指定すると、履歴IDが採番され、一般対話で会話を継続することができます。 |
| model required | string (model) LLMのモデル名 |
| stream | boolean (stream) Default: false LLMの応答をstreaming形式で返却するかどうか |
| streamNum | integer (streamNum) Default: 10 streamingがtrueの場合に何文字単位で返却するかを指定(範囲1-1000) |
| maxTokens | integer (maxTokens) Default: 1024 LLMのトークンの最大値 |
| temperature | number (temperature) Default: 1 LLMのランダム性パラメータ。0に近いほど最も確率が高い回答が選ばれる |
{- "userContent": "私は学生です",
- "templateId": "summary",
- "oneshot": true,
- "model": "cotomi-fast-v2.0",
- "stream": true,
- "streamNum": 3,
- "maxTokens": 1024,
- "temperature": 1
}{- "error": {
- "code": "string",
- "message": "string"
}, - "answer": "こんにちは、何かお手伝いすることはありますか?",
- "historyId": "history_12345678-90ab-cdef-ghij-zzz"
}一般対話APIに添付ファイルもしくはWebコンテンツ(URL)の内容に対する対話を実施する機能を追加。(以降、添付ファイルに対する対話を「ファイル解析機能」、Webコンテンツに対する対話を「URL解析機能」と記載)
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(UUID 4推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
| userContent required | string (userContent) ユーザプロンプトのContent文字列 |
| systemContent | string (systemContent) システムプロンプトのContent文字列。systemTemplateIdと両方指定されている場合、systemContentの値が優先される。 |
| historyId | string (historyId) 参照する履歴ID。指定が「new」場合は新しい会話履歴とする。oneshotがtrueの場合のみ指定不要。履歴IDを指定する場合はuuidかhistory_uuidである必要がある。 |
| oneshot | boolean (oneshot) Default: false trueを指定することで履歴を使用せず単発での対話が可能(履歴にも保存されません)。 |
| model required | string (model) LLMのモデル名 |
| stream | boolean (stream) Default: false LLMの応答をstreaming形式で返却するかどうか |
| streamNum | integer (streamNum) Default: 10 streamingがtrueの場合に何文字単位で返却するかを指定(範囲1-1000) |
| maxTokens | integer (maxTokens) Default: 1024 LLMのトークンの最大値 |
| temperature | number (temperature) Default: 1 LLMのランダム性パラメータ。0に近いほど最も確率が高い回答が選ばれる |
object (addContent) addContentsに移行したため、本パラメータは非推奨。ファイル解析機能、URL解析機能を用いる場合指定する。addContentとaddContentsの両方がリクエストパラメータに含まれていた場合、addContentsの値が優先される。 | |
Array of objects (addContents) ファイル解析機能、URL解析機能を用いる場合指定する。addContentとaddContentsの両方がリクエストパラメータに含まれていた場合、addContentsの値が優先される。 |
{- "userContent": "要約してください",
- "systemContent": "あなたはAIアシスタントです",
- "historyId": "new",
- "oneshot": false,
- "model": "cotomi-fast-v2.0",
- "stream": true,
- "streamNum": 1,
- "maxTokens": 1024,
- "temperature": 1,
- "addContent": {
- "type": "file",
- "name": "test.txt",
- "content": "<test.txt(base64 encode)>"
}, - "addContents": [
- {
- "type": "file",
- "name": "test.txt",
- "content": "<test.txt(base64 encode)>"
}
]
}{- "answer": "Generative AI APIサービスは...",
- "historyId": "history_12345678-90ab-cdef-ghij-zzz",
- "sourceDocuments": [
- {
- "docContent": "string",
- "metadata": {
- "type": "string",
- "url": "string",
- "urlTitle": "string",
- "fileName": "string",
- "overReadLimit": true
}
}
]
}ユーザID、ユーザID×機能単位での履歴の一覧を取得する。あくまでも一覧情報のみの取得であり、会話履歴の具体的な内容は履歴取得で行う。
ユーザIDはHTTPヘッダー(x-nec-genai-client-id)が必須。ユーザIDに紐づいた履歴を取得する。
タイトルは初回対話時のuserContentの先頭数文字を設定する
| maxnum required | integer 最大取得件数(範囲:1~100) |
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
{- "error": {
- "code": "string",
- "message": "string"
}, - "historyList": [
- {
- "historyId": "history_12345678-90ab-cdef-ghij-zzz",
- "title": "こんにちは",
- "chatTime": "2024-01-12T04:06:26.385186Z"
}
]
}一連の会話履歴の内容の取得を行う。全ての会話履歴を取得するわけではなく、履歴単位(historyId)での取得に対応する。返却する会話履歴は古いの物から順に返却する。
ユーザIDはHTTPヘッダー(x-nec-genai-client-id)が必須。履歴作成時のユーザ以外は取得できないように制限する。
存在しない履歴を指定した場合はエラー
| historyId required | string 履歴ID(uuidかhistory_ |
| maxnum required | integer 最大取得件数(範囲:1-100) |
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
{- "error": {
- "code": "string",
- "message": "string"
}, - "contents": [
- {
- "historyId": "history_12345678-90ab-cdef-ghij-zzz",
- "functionId": 1,
- "input": "こんにちは",
- "answer": "こんにちは!何かお手伝いしてほしいことはありますか?",
- "chatTime": "2024-01-12T04:06:26.385186Z",
- "model": "cotomi-fast-v2.0",
- "requestId": "1dacf3e2-b1cf-4ed9-a0fc-e4751bc9078c",
- "sourceDocuments": [
- {
- "docContent": "Generative AI APIサービス概要...",
- "metadata": {
- "source": "string",
- "page": 0,
- "url": "string",
- "insertDate": "string",
- "任意のメタデータ": { }
}
}
]
}
]
}一連の会話履歴の更新を行う。現在対応しているのはタイトルのみ。
ユーザIDはHTTPヘッダー(x-nec-genai-client-id)が必須。ユーザIDに紐づいた履歴を更新する。
存在しない履歴を指定した場合もエラーにしない
| historyId required | string 履歴ID(uuidかhistory_ |
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
| title required | string (title) 会話のタイトル |
{- "title": "更新後のタイトル"
}{- "error": {
- "code": "string",
- "message": "string"
}, - "historyId": "history_12345678-90ab-cdef-ghij-zzz",
- "count": 10
}履歴削除を行う。履歴単位(historyId)での削除に対応する。ユーザIDに紐づいた履歴を削除する。
| historyId required | string 履歴ID(uuidかhistory_ |
| Content-Type required | string application/json を固定で指定 |
| x-nec-genai-client-id required | string APIの使用者を特定するためのID。呼び出し元側でユーザIDなど一意なIDを指定する必要がある(メールアドレス推奨)。API側では会話履歴などのリソースへのアクセス制御などに使用される |
| x-nec-genai-api-version | string APIのバージョン。現時点では使用していない(将来使用する可能性あり) |
インデックス情報をリストで返す。
| Content-Type required | string application/json を固定で指定 |
{- "indexes": [
- {
- "name": "string",
- "document_count": 0,
- "storage_size": 0,
- "vector_index_size": 0,
- "group_id": "string",
- "group_name": "string",
- "comment": "string"
}
]
}管理UIバックエンドに、基本情報を取得する
| Content-Type required | string application/json を固定で指定 |
{- "tenant_id": "string",
- "plan": "string",
- "vector": {
- "enabled": true,
- "max_index": 0,
- "max_documents": 0
}, - "api": {
- "state": "string"
}, - "llm": [
- {
- "name": "string",
- "description": "string"
}
], - "embedding": [
- {
- "name": "string",
- "description": "string"
}
]
}URIに指定したidに一致するテンプレートの詳細情報を返却する。返却するテンプレートは、ユーザの所属するtenantIdに属するもののみ返却する。
| template_id required | string (Template ID) <= 45 characters ^(template_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4... |
| Content-Type required | string application/json を固定で指定 |
{- "id": "string",
- "name": "string",
- "description": "string",
- "systemPrompt": "string",
- "userPrompt": "string",
- "timestamp": 0,
- "author": "string",
- "groupId": "string",
- "groupName": "string"
}テンプレートを一覧で取得する。なお、操作を行うユーザが所属するtenantIdに紐づくテンプレートのみ返却される。
| Content-Type required | string application/json を固定で指定 |
{- "user": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "timestamp": 0,
- "author": "string",
- "groupId": "string",
- "groupName": "string"
}
], - "system": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "timestamp": 0,
- "author": "string",
- "groupId": "string",
- "groupName": "string"
}
]
}URIに指定したidに一致する標準テンプレート(システムテンプレート)の詳細情報を返却する。リクエストのユーザのテナントにかかわらずリクエストを受けた標準テンプレート情報を返却する。
| template_id required | string (Template Id) |
| Content-Type required | string application/json を固定で指定 |
{- "id": "string",
- "name": "string",
- "description": "string",
- "systemPrompt": "string",
- "userPrompt": "string",
- "timestamp": 0,
- "author": "string",
- "groupId": "string",
- "groupName": "string"
}