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にメールアドレスを指定できます。 以下に例を示します。

-H 'OWN-USER-ID: 5f1234567a409876c082487z' \
-H 'USER-EMAIL: user_1@email.com'

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

エラーメッセージ

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

{“errors”: “Method Not Allowed PUT: /webapi/generative_answer”}

Generative Answer

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

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

Headers

NameTypeDescription

API-KEY*

string

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

OWN-USER-ID*

string

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

Request Body

NameTypeDescription

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", }

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

answer: ダッシュボードにアップロードされたドキュメントから抽出された回答です。

answerHash: これは、フィードバックを提供またはキャンセルするための回答を識別するために使用されます。 confidence: AI モデルからの信頼度の値を示します。 0 ~ 1 の数値として表示されます。

effectiveConfidence: クエリ結果にフィードバックを提供すると、AI モデルが自動的にトレーニングされます。 有効な信頼度は、これらのユーザーとエージェントのフィードバックを使用して調整されたスコアです。 0 ~ 1 の数値として表示されます。 documentId: 回答が抽出されるドキュメントの ID。 documentName: 回答が抽出されるドキュメントの名前。 hashtags: ドキュメントに添付されたハッシュタグ。 pageNo: 回答が得られた文書内のページ番号。 createdDate: ドキュメントがアップロードされた日付。 AgentFeedback: このドキュメントに関するエージェントからのフィードバック (ダッシュボードおよび REST 呼び出しによる) userFeedback: このドキュメントに関するユーザーからのフィードバック body: リクエストで returnPreview が true の場合、ドキュメント検索プレビューの HTML 本文が表示されます。 css: リクエストで returnPreview が true の場合、文書検索プレビューの CSS が表示されます。 pdfPreview: リクエストで returnPdfPreview が true の場合、回答が強調表示されたドキュメントの PDF プレビューへの URL が表示されます。 ダウンロード IP 許可リスト設定を使用して URL を制限できることに注意してください。 folder: ドキュメント データベース内のフォルダーから回答が見つかった場合、フォルダー名がここに返されます。 editor: ドキュメントへの編集者アクセス権を持つエージェントの電子メールのリスト (Alli ダッシュボードで設定されている場合)。 viewer: ドキュメントへの閲覧者アクセス権を持つエージェントの電子メールのリスト。 (Alli ダッシュボードで設定されている場合)。 検索結果の数としきい値はダッシュボードの設定に従います。 [ドキュメント] > [設定] で設定を確認してください。

{
    "result": [
        {
            "answer": "ANSWER_1",
            "answerHash": "ANSWER_HASH_1",
            "confidence": CONFIDENCE_1,
            "effectiveConfidence": EFFECTIVE_CONFIDENCE_1,
            "documentId": "DOCUMENT_ID_1",
            "documentName": "DOCUMENT_NAME_1",
            "hashtags": [],
            "pageNo": PAGE_NUMBER,
            "createdDate": "DATE",
            "agentFeedback": {
                "positiveCount": 0,
                "negativeCount": 0
            },
            "userFeedback": {
                "positiveCount": 0,
                "negativeCount": 0
            },
            "body": "PREVIEW_HTML_BODY",
            "css": "PREVIEW_CSS",
            "pdfPreview": "PDF_PREVIEW_URL",
            "folder": "folder 1", 
            "editor": ["email_1@allganize.ai", "email_2@allganize.ai"], 
            "viewer": ["email_3@allganize.ai"]
        }
    ]
}
利用可能な LLMモデル

OPENAI GPT3.5 TURBO "turbo" OPENAI TEXT-DAVINCI-003 "davinci" AZURE GPT3.5 TURBO "azure_turbo" AZURE TEXT-DAVINCI-003 "azure_davinci" OPENAI GPT-4 "gpt4" さらに、GPT4_TURBO_VISION や VERTEX_TEXT_BISON、 ANTHROPIC_CLAUDE、ALLGANIZE_FINANCE_13Bモデルなどもサポートしています。 各モデルの使用を希望される場合は、担当のCustomerSuccessにお問い合わせください。

Request Example

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

curl -X POST -d '{ 
  "query": "can I disclose the composite ratings?",
  "model": "gpt4",
  "isStateful": "True",
  "threadId": "UUID",
  "mode": "sync" ,
  "hashtags":{"docsInclude" : ["test"], "docsIncludeOption" : "or"}
}' \
-H 'API-KEY: REST_API_KEY' \
-H 'Content-Type: application/json' \
https://backend-ja.alli.ai/webapi/generative_answer

Response Example

{
    "answer": {
        "blocks": [
            {
                "key": "k0",
                "text": "You can disclose the composite ratings to bank management after the examiner-in-charge (EIC) has discussed the recommended component and composite ratings with senior management and, when appropriate, the board of directors near the conclusion of the examination [1]. Generally, in these situations, examiners should contact the regional office overseeing the institution and discuss the proposed ratings with the case manager or assistant regional director prior to disclosing the ratings to management or the board [3].",
                "inlineStyleRanges": [],
                "entityRanges": [
                    {
                        "key": 0,
                        "offset": 263,
                        "length": 3
                    },
                    {
                        "key": 1,
                        "offset": 517,
                        "length": 3
                    }
                ],
                "type": "unstyled"
            }
        ],
        "entityMap": {
            "0": {
                "type": "LINK",
                "mutability": "MUTABLE",
                "data": {
                    "url": YOUR URL ADDRESS
                }
            },
            "1": {
                "type": "LINK",
                "mutability": "MUTABLE",
                "data": {
                    "url": YOUR URL ADDRESS
                }
            }
        }
    },
    "threadId": "UUID", //For the next question, send in the body to remember previous questions.
    "fuQuestion": null
}

最終更新