帶記憶的對話api上線

visionwpc發表於2024-08-29

API 簡介

Link.AI 已為開發者提供了呼叫智慧體能力的對話API,可在第三方系統和服務中使用 Link.AI 應用智慧體和工作流智慧體的能力。

在使用普通對話API時,開發者需要在每次請求時傳入會話的物件和上下文,以實現智慧體的“記憶”功能,從而實現多輪對話。

相比普通對話API,Link.AI 記憶對話 API 原生支援開發者在應用/工作流中設定的記憶功能。開發者無需自行維護上下文記憶並透過messages引數傳遞,只需傳入使用者問題和身份標識即可,由系統按使用者維度對上下文記憶進行維護,從而實現長期記憶下的多輪對話。

API 能力介紹

記憶對話 API 的核心能力即為幫助開發者自動保留會話物件的上下文歷史;其次,記憶對話 API 同樣相容了 Link.AI 的各項原生能力:

  • 支援透過繫結應用工作流,從而使用其包含的知識庫外掛等能力
  • 支援根據應用或工作流中的記憶輪次和時間的配置對使用者維度的記憶進行維護
  • 支援一鍵切換所有支援的大模型
  • 支援流式/非流式輸出
  • 支援多模態輸入/輸出,可輸入文字、圖片;輸出文字、圖片、影片、檔案

API 介面定義

請求示例

{
    "app_code": "G7z6vKwp",
    "query": "你好",
    "session_id": "123e4567-e89b-12d3-a456-426614174000"
}
  1. app_code:需換成你自己建立應用、工作流code,或公開在Link.AI應用廣場中應用的code。
  2. session_id:一般為對使用者身份的唯一標識,例如可將業務系統中使用者ID、手機號等資訊加密後傳入。若該欄位不傳,系統將自動生成一個唯一ID並在響應中返回,下次對話時可攜帶該欄位。

響應結果

非流式響應:

{
    "session_id": "123e4567-e89b-12d3-a456-426614174000",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "你好,請問有什麼可以幫助您的嗎?"
            }
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 17,
        "total_tokens": 26
    }
}

1.介面呼叫預設為非流式響應,會在所有內容生成完畢後一次性返回。
2.choices.message.content 中為AI的響應內容,usage 部分 prompt_tokens、completion_tokens、total_tokens 分別表示請求的token數、響應的token數、全部消耗的token數。

流式響應:

data: {"choices": [{"index": 0, "delta": {"content": "你好!"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "我能"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "為你"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {"content": "做些什麼?"}, "finish_reason": null}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: {"choices": [{"index": 0, "delta": {}, "finish_reason": "stop", "usage": {"prompt_tokens": 9, "completion_tokens": 6, "total_tokens": 15}}], "session_id": "123e4567-e89b-12d3-a456-426614174000"}
data: [DONE]
  1. 流式呼叫需要將傳入引數 stream 設定為 true,將會在模型不斷生成內容的過程中實時返回,適用於網頁、APP、小程式等呼叫端進行流式輸出。
  2. 當輸出為 "[DONE]" 時表示輸出結束,其中每一行資料都會攜帶 session_id 欄位。

當透過 app_code 引數指定了應用時,可在應用管理頁面中對 記憶輪次和保留時間 進行配置,同時會話記憶將按照 應用+會話ID 維度進行隔離儲存,即同一個 session_id會在不同應用中有獨立的上下文記憶:
應用記憶功能

當透過 app_code 引數指定了工作流時,系統將維護整個工作流的輸入/輸出記憶,可在大模型或應用節點中開啟記憶並指定記憶的輪次:
工作流記憶功能

其他說明

介面文件

點選檢視 Link.AI 對話記憶 API 文件,詳細瞭解介面定義(介面地址、請求頭、請求體、錯誤說明和示例程式碼等),進行線上除錯。

計費說明

Link.AI 根據資源容量、功能權益、服務支援的不同,劃分為 基礎版、標準版、專業版 和 企業版 四個不同的版本,為不同需求的客戶提供可選擇的訂閱服務,可點選檢視 Link.AI 計費規則

使用中如有問題,可以在平臺聯絡客服諮詢

相關文章