Alli Generative Answer API

Alliの回答自動生成機能は、質問の意味と意図を理解し、ソースとなる膨大なドキュメントのデータから検索を実施することで、正確かつ横断的な回答を生成する機能を備えています。

全てのアカウントがAlliの回答自動生成機能を利用できるわけではありません。 当社の回答自動生成機能にご興味がございましたら、弊社Customer Success担当までお問い合わせください。

APIキーの取得

RequestヘッダーのAPI-KEY に、割り当てられたAPIキー を入力してください。APIキーはプロジェクト設定メニューからご確認いただけます。

ユーザー情報の提供

リクエスト ヘッダーにユーザー情報を追加して、どのユーザーがAPIを呼び出すかを指定できます。 ユーザー ID はリクエスト ヘッダーの OWN-USER-ID に指定できます。ユーザー ID は新しいものでも既存のものでもよく、新しいユーザー ID が指定された場合、Alli はその ID を持つ新しいユーザーを作成します。 同じ OWN-USER-IDヘッダーを持つ今後の API 呼び出しは、同じユーザーからのものであるとみなされます。 ユーザーのメールアドレスを同時に更新する場合は、リクエスト ヘッダー USER-EMAILにメールアドレスを指定できます。 以下に例を示します。

OWN-USER-IDには非 ASCII 文字を使用できません。ユーザー ID に非 ASCII 文字が含まれている場合は、ID を Base64 にエンコードし、base64:CONVERTED_ID を使用できます。 保存されたユーザー ID とメールアドレスの情報は、Alli ダッシュボード上の [顧客] メニューで確認できます。

エラーメッセージ

予想されるresponseがない場合は、エラーメッセージを確認してください。例えば、間違ったHTTPメソッドを使用した場合、以下のような形式のエラーメッセージが戻ります。

Generative Answer

POST https://backend-ja.alli.ai/webapi/generative_answer

Generative Answer API は、非構造化テキスト ドキュメント、Q&A、さらには複雑な表からも回答を見つけ、生成します。

Headers

Name
Type
Description

API-KEY*

string

割り当てられたAPIキーです。プロジェクト設定メニュー>一般タブから確認できます。

OWN-USER-ID

string

ユーザーの ID を指定することで、この API 呼び出しを行うユーザーを特定できます。ここで指定するIDは、ダッシュボードの [顧客リスト]>[CUSTOMER_ID] もしくは[会話履歴]>[対話情報]にて確認できます。

Request Body

Name
Type
Description

query*

string

質問文の文字列になります。

model

string

回答を生成するときに、選択した LLM を利用します。 デフォルトのモデルは GPT 3.5 Turbo です。

answer_format

string

応答の形式を特定して、統合をより簡単にするために応答の形式を確認してください。

サポートされているのは、DRAFTJSMARKDOWN です。

デフォルトの形式は、DRAFTJSです。

isStateful

Boolean

後続質問の機能を使用するには、以前の会話履歴が必要です。 会話履歴は threadId で管理されます。 isStateful optionをTrueに設定し、threadIdと入力すると、以前の会話履歴に基づいてクエリが再作成されます。 (Default = False)

ThreadId

string(UUID)

threadId は Stateful=True のときに使用されます。

最初の会話を開始するときは空白で、次のクエリからは出力のthreadIdを使用します。 最初の会話からthreadIdを設定したい場合は、UUID形式で作成する必要があります。

例 UUID - 36e7bb2b-1063-47ec- (Default = None)

promptGroupId*

string

回答生成に使用するプロジェクトのグループプロンプトを選択します。この設定は、デフォルトで準備されたグループプロンプトから変更を行い利用している場合などに有効です。

IDはプロジェクト設定>プロンプト管理>回答生成タブの選択します。使用するグループプロンプトを選択した際に表示されるURLからIDが確認できます。 例 :https://app.alli.ai/projects/UHJvamVjdDo2NDljYTRjZDMzMGY2MDZkYWRjOPOjNjE=/settings/prompt-management/generative-answer/groups/TExNUHJvbXB0R3JvdXA6NjUzNzc3MzA5GHUyMGE2ZjlhM2Q5OTIw

mode

string

データをsyncかstreamのどちらで出力するか設定します。(Default = sync)

streamモードの場合、syncと同じ出力形式のjson文字列がstreamとして出力されます。

clues

boolean

回答を生成するために使用されたclueを出力に含めるかどうか設定できます。(Default = False)

clueTxet

boolean

clueTextはclues=Trueの時に利用できるオプションです。

clueに用いたドキュメントのテキスト情報を含めるかどうか設定できます。(Default = False)

hashtags

json

ハッシュタグを使用してドキュメントとFAQの検索範囲を指定できます。 特定のハッシュタグを含めたり除外したり、選択したハッシュタグのオプションを指定したりできます。 例: { "qnaInclude" : ["hash name", "hash name2"], "qnaIncludeOption" : "and"/"or", "qnaExclude" : ["hash name", "hash name2"], "qnaExcludeOption" : "and"/"or", "docsInclude" : ["hash name", "hash name2"], "docsIncludeOption" : "and"/"or", "docsExclude" : ["hash name", "hash name2"], "docsExcludeOption" : "and"/"or", }

searchFrom

json

Generative Answer がデータを検索するソース データの範囲を指定します。現在使用可能な値は、web、qna、document、およびリスト形式でのデータ入力です。 例: ["web", "qna"]

結果は以下の JSON 形式で取得されます。

利用可能な LLMモデル
Output項目

answer: 生成回答 API の実行の結果として生成された回答

intent: 生成回答のインテント (SEARCH または END_OF_CONVERSATION)

clues(list): 回答を生成するために使用された手がかりのリスト (PARAMETER の clues が True の場合のみ)。

clueId: Alli によって管理される手がかりの一意の ID。

source: 手がかりのタイプ (DOCUMENT または FAQ)。

title: Alli に保存されているドキュメントまたは FAQ のタイトル。

pageNo: (type が document の場合のみ) ドキュメントのページ番号。

kbId: (type が document の場合のみ) Alli によって管理されるドキュメントの一意の ID。

faqId: (type が FAQ の場合のみ) Alli によって管理される FAQ の一意の ID。

text: (type が document で clueText が true の場合のみ) 手がかりとして使用されるドキュメントのテキスト。

threadId : 入力として threadId が指定された場合 (PARAMETERの is_stateful が True の場合のみ)、値がそのまま返されます。それ以外の場合は、新しいスレッド ID が作成されて返されます。 なお、threadidについてはRequestのHeadersで"OWN-USER-ID"が指定されている、 かつ、PARAMETERの is_statefulが True の場合のみ作成がされますので注意してください。

fuQuestion : 同じ threadId 内でクエリと応答結果を使用して新しいクエリが作成された場合 (PARAMETER の is_stateful が True の場合のみ)、値が返されます。

直前に同じ threadId 内で「日本の○○代総理大臣は誰ですか?」という質問が行われ、その後に「彼の年齢は?」という質問が行われた場合、「日本の○○代総理大臣の年齢は?」のような fu_question が作成され、その質問がクエリで使用されます。

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

Response Example

Cluesにdocumentを指定した場合、プレビュー用のURLは、レスポンスボディ"answer"内の"url"に値として返ります。

Last updated

Was this helpful?