日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SearchKnowledge-文本問答

獲取知識庫的內容,進行文本問答查詢。

前提條件

  • 獲取身份鑒權API Key:調用OpenSearch-LLM智能問答版服務時,需要對調用者身份進行鑒權,具體請參見管理API Key

  • 獲取服務調用地址:調用OpenSearch-LLM智能問答版服務時,需要提供服務的調用地址,具體請參見獲取服務調用地址

接口信息

請求方法

POST

請求協議

HTTP

請求URL

{host}/v3/openapi/apps/{app_group_identity}/actions/knowledge-search
  • {host}:調用服務的地址,支持通過公網和VPC兩種方式調用API服務,可參見獲取服務調用地址

  • {app_group_identity}:應用名稱(需要指定應用名訪問,主要針對服務中的應用版本)。需要登錄OpenSearch-LLM智能問答版控制臺,在實例列表中查看對應實例的應用名稱。

請求數據格式

JSON

請求參數

Header參數

參數

類型

是否必填

描述

示例值

Content-Type

string

請求的數據格式,目前僅支持JSON格式,固定填寫"application/json"。

application/json

Authorization

string

請求鑒權的API Key,Bearer開頭。

Bearer OS-d1**2a

Body參數

參數

類型

是否必填

描述

示例值

question

map

輸入的問題。

{

"text":"user question"

"type": "TEXT",

"session" : ""

}

question.text

string

用戶輸入的問題文本內容。

user question

question.session

string

多輪對話的會話ID,用于標識多輪對話上下文。取值:

  • 不設或者為空,則表示不開啟多輪對話。

  • 如設置非空的值,則表示開啟多輪對話,并且系統會將相同的session的對話進行保留,作為多輪對話的上下文。

1725530408586

question.type

string

輸入問題的類型,這里指定為文本類型TEXT

TEXT

options

map

用來設置額外的請求參數,用戶控制召回、模型、prompt等。

options.chat

map

用來設置訪問大模型相關的參數。

options.chat.disable

boolean

是否關閉大模型的訪問。

  • false:訪問大模型,對結果進行總結生成,默認為false。

  • true:不訪問大模型。

false

options.chat.stream

boolean

是否啟用流式返回結果。

  • true: 流式返回,默認為true。

  • false:非流式返回。

true

options.chat.model

string

選擇的LLM(大語言模型)。可選:

上海區域

  • opensearch-qwen(默認)

  • opensearch-llama2-13b

  • opensearch-llama2-13b-turbo

  • opensearch-llama2-70b

  • opensearch-llama3-8b

  • qwen-turbo

  • qwen-plus

  • qwen-max

  • qwen2-72b-instruct

新加坡區域

  • opensearch-llama2-13b

  • opensearch-falcon-7b

  • qwen-turbo

  • qwen-plus

  • qwen-max

  • qwen2-72b-instruct

opensearch-llama2-13b

options.chat.model_generation

integer

使用產品定制模型時,需要設置對應的模型版本,默認使用最老的版本進行訪問。

20

options.chat.prompt_template

string

設置用戶自定義的prompt模板名稱。默認為空,使用系統內置的prompt模板。

user_defined_prompt_name

options.chat.prompt_config

object

用戶自定義prompt中配置的鍵值對,參數格式為:

{
  "String_key": "value",
  "Integer_key" : 1
}
{
  "attitude": "normal",
  "rule" : "detailed",
  "noanswer": "sorry",
  "language": "Chinese",
  "role": false,
  "role_name": "AI小助手",
}

options.chat.prompt_config.attitude

string

系統內置模板的參數,用來控制對話內容的語氣,默認為normal。

  • normal:無。

  • polite:使用和藹和禮貌的語氣。

  • patience:使用委婉和耐心的語氣。

normal

options.chat.prompt_config.rule

string

對話內容的詳細程度,默認為detailed。

  • detailed:詳細和專業。

  • stepbystep:詳細且按步驟。

detailed

options.chat.prompt_config.noanswer

string

無法回答問題時的回復,默認為sorry。

  • sorry:抱歉,根據已知信息無法回答該問題。

  • uncertain:我不知道。

sorry

options.chat.prompt_config.language

string

回答問題使用的語言,默認為Chinese。

  • Chinese:中文。

  • English:英語。

  • Thai:泰語。

  • Korean:韓語。

Chinese

options.chat.prompt_config.role

boolean

是否開啟回答角色。開啟后,將定制回答的角色。

false

options.chat.prompt_config.role_name

string

定制回答的角色,例如:AI小助手

AI小助手

options.chat.prompt_config.out_format

string

輸出內容的形式,默認為text。

  • text:文本。

  • table:表格。

  • list:列項。

  • markdown:markdown。

text

options.chat.generate_config.repetition_penalty

float

用于控制模型生成時連續序列中的重復度。提高repetition_penalty時可以降低模型生成的重復度,1.0表示不做懲罰。沒有嚴格的取值范圍。

1.01

options.chat.generate_config.top_k

integer

生成時,采樣候選集的大小。例如,取值為50時,僅將單次生成中得分最高的50個token組成隨機采樣的候選集。取值越大,生成的隨機性越高;取值越小,生成的確定性越高。默認值為0,表示不啟用top_k策略,此時,僅有top_p策略生效。

50

options.chat.generate_config.top_p

float

生成過程中核采樣方法概率閾值,例如,取值為0.8時,僅保留概率加起來大于等于0.8的最可能token的最小集合作為候選集。取值范圍為(0,1.0),取值越大,生成的隨機性越高;取值越低,生成的確定性越高。

0.5

options.chat.generate_config.temperature

float

用于控制隨機性和多樣性的程度。具體來說,temperature值控制了生成文本時對每個候選詞的概率分布進行平滑的程度。較高的temperature值會降低概率分布的峰值,使得更多的低概率詞被選擇,生成結果更加多樣化;而較低的temperature值則會增強概率分布的峰值,使得高概率詞更容易被選擇,生成結果更加確定。

取值范圍:[0, 2),不建議取值為0,無意義。

python version >=1.10.1

java version >= 2.5.1

0.7

options.chat.history_max

integer

多輪對話歷史最大輪數,最大20輪,默認是1。

20

options.chat.link

boolean

是否返回鏈接。控制模型生成的內容是否標識內容引用的來源。取值:

  • true: 內容包含來源。

  • false: 不包含。默認為false。

包含內容的返回信息實例如下:

可以通過在線擴容和離線擴容兩種方式擴容ECS云盤容量[^1^]。在線擴容無需重啟實例,離線擴容需要重啟實例[^1^]。具體操作步驟為:在ECS控制臺上選擇待擴容的云盤,在操作列選擇擴容,然后根據需要選擇擴容方式[^1^]。如果需要擴容分區和文件系統,可以通過控制臺獲取或者通過控制臺獲取[^2^]。擴容云盤容量后,新容量生效后無法再縮小,建議合理規劃存儲空間[^3^]。

其中被[^^]包起來的數字表示引用結果中reference里的第幾個文檔。例如[^1^]表示應用reference中的第一個文檔。

false

options.chat.agent

map

設置RAG工具能力的選項,當開啟時,模型會根據已有的內容,輸出決定是否要執行對應的工具。目前支持該功能大模型有:

  • qwen-plus

  • qwen-max

  • qwen2-72b-instruct

options.chat.agent.tools

list of string

設置使用的RAG工具名字,目前可用的工具:

  • knowledge_search:知識庫檢索

["knowledge_search"]

options.retrieve

map

用來設置額外的請求參數,用戶控制召回、模型、prompt等。

options.retrieve.doc

map

用來設置控制召回相關的參數。

options.retrieve.doc.disable

boolean

是否關閉知識庫召回。

  • false:不關閉,默認為fasle。

  • true:關閉。

false

options.retrieve.doc.filter

string

從知識庫中召回篩選條件的數據時,需要明確指定相應的字段及滿足的條件。默認為空。filter使用示例可參考:filter參數

支持的字段:

  • table:文檔所在表。

  • raw_pk:文檔主鍵。

  • category:文檔分類。

  • score:文檔分數。

  • timestamp:文檔時間。

示例格式:

"filter" : "raw_pk=\"123\""   # 只從id為123的doc中獲取數據
"filter" : "category=\"value1\""   # 只從category為value1的doc中獲取數據
"filter" : "category=\"value1\" OR category=\"value2\"" #只從category為value1和value2的doc中獲取數據
"filter" : "score>1.0"   # 只從score大于1.0的doc中獲取數據
"filter" : "timestamp>1356969600"   # 只從timestamp大于2013-1-1的doc中獲取數據

category=\"value1\"

options.retrieve.doc.sf

float

控制向量召回的向量分的閾值。

  • 當沒有開啟稀疏向量時,取值范圍為[0, 2.0],默認值是1.3,該值越小,結果越相關,但結果數會越少;反之,可能會召回不太相關的結果。

  • 但開啟了稀疏向量時,默認值是0.35。其值越大,召回的結果越相關,結果數會越少;反之,結果可能會不太相關。

1.3

options.retrieve.doc.top_n

integer

召回的文檔數量,默認為5個,取值范圍:(0, 50]。

5

options.retrieve.doc.formula

string

指定召回時,文檔排序的排序公式。

說明

語法請參考業務排序函數,其中的算法相關性地理位置相關性的特征不支持。

-timestamp: 按文檔的timestamp字段降序

options.retrieve.doc.rerank_size

integer

開啟rerank重排功能時,參與重排的文檔數。默認值為30,取值范圍:(0,100]。

30

options.retrieve.doc.operator

string

在知識庫召回時,question.text分詞后的term的關系。該參數只有在沒有啟用稀疏向量時生效。

  • AND:表示所有term都需要出現才能被召回。默認為AND。

  • OR:表示只要有一個term出現就可以召回。

AND

options.retrieve.doc.dense_weight

float

開啟稀疏向量后,控制文檔召回時,稠密向量的權重。取值范圍:(0.0, 1.0),默認值為0.7。

0.7

options.retrieve.entry

map

用來控制從人工干預數據中召回結果的相關參數

options.retrieve.entry.disable

boolean

是否關閉人工干預數據的召回。

  • false:不關閉,默認為false。

  • true:關閉。

false

options.retrieve.entry.sf

float

控制召回人工干預的向量分閾值。取值范圍:[0, 2.0],默認值是0.3,該值越小,結果越相關,但結果數會越少;反之,可能會召回不太相關的結果。

0.3

options.retrieve.image

map

用來控制從知識庫中召回圖片結果的相關參數。

options.retrieve.image.disable

boolean

是否需要關閉圖片數據的召回,默認為false。

  • false:不關閉,默認為false。

  • true:關閉。

false

options.retrieve.image.sf

float

控制向量召回的向量分的閾值。

  • 當沒有開啟稀疏向量時,取值范圍:[0, 2.0],默認值為1.0,該值越小,結果越相關,但結果數會越少;反之,可能會召回不太相關的結果。

  • 但開啟了稀疏向量時,默認值為0.5。其值越大,召回的結果越相關,結果數會越少;反之,結果可能會不太相關。

1.0

options.retrieve.image.dense_weight

float

開啟稀疏向量后,控制圖片召回時,稠密向量的權重。取值范圍:(0.0, 1.0),默認值為0.7。

0.7

options.retrieve.qp

map

用戶query改寫的選項。

options.retrieve.qp.query_extend

boolean

是否對用戶query進行擴展,擴展query會用來在引擎中召回文檔切片。默認為false。

  • 默認為false,和原來邏輯保持一致,即表示不進行query擴展。

  • 如果設置為true,則會多一次與大模型的交互,所以回復速度會變慢。對耗時敏感的應用請勿開啟。

false

options.retrieve.qp.query_extend_num

integer

開啟相似query擴展時,最多擴展幾個query,默認值為5。

5

options.retrieve.rerank

map

用戶設置文檔召回時重排的選項。

options.retrieve.rerank.enable

boolean

是否對召回的結果用模型進行相關性的重排。取值:

  • true:用模型對召回結果進行重排。

  • false:不用模型對召回結果進行重排。

  • 當options.retrieve.doc.formula不為空時,默認為false,其他情況默認為true。

true

options.retrieve.rerank.model

string

用于重排的大模型名稱。

  • ops-bge-reranker-larger:bge-reranker模型(默認)

  • ops-text-reranker-001:自研的reranker模型

ops-bge-reranker-larger

options.retrieve.return_hits

boolean

是否在結果中返回文檔召回的結果,即response中的search_hits。

false

請求體示例

{
    "question" : {
        "text" : "user question",
        "session" : "對話的session,設置了之后,會有多輪對話的功能",
        "type" : "TEXT"
    },
    "options": {
        "chat": {
            "disable" : false, # 是否不走chat模型,僅作文檔召回,默認為false。
            "stream" : false, # 是否流式返回,默認false。
            "model" : "Qwen", # 選擇的LLM模型
            "prompt_template" : "user_defined_prompt_name", # 用戶自定的prompt名稱
            "prompt_config" : { # 自定義prompt配置,可選
                "key" : "value" # key和value在實際使用時應替換為具體的鍵值對
            },
            "generate_config" : {
                "repetition_penalty": 1.01,
                "top_k": 50,
                "top_p": 0.5,
                "temperature": 0.7
            },
            "history_max": 20, # 多輪對話歷史最大輪數,
            "link": false, # 返回鏈接,
            "agent":{
                "tools":["knowledge_search"]
            }
        },
        "retrieve": {
            "doc": {
                "disable": false, # 是否需要關閉文檔召回,默認false。
                "filter": "category=\"type\"", # 召回時根據category字段做過濾,默認為空
                "sf": 1.3,    # 向量召回閾值,默認1.3;閾值越大,文檔可能約不相關
                "top_n": 5,    # 文檔召回多少個文檔,默認是5個,取值返回(0, 50],
                "formula" : "", #默認為向量相似度
                "rerank_size" : 5,  #精排文檔數,默認不用設置,系統自己決定
                "operator":"OR"  # 表示文本召回時,文本token之間的關系是OR,默認是AND
            },
            "entry": {
                "disable": false, # 是否需要關閉人工干預數據的召回,默認false。
                "sf": 0.3 # 干預數據召回的向量相關性,默認0.3
            },
            "image": {
                "disable": false,  # 是否需要關閉圖片數據的召回,默認false。
                "sf": 1.0          # 圖片數據召回的向量相關性,默認1.0
            },
            "qp": {
                "query_extend": false, # 是否需要對用戶query進行query擴展
                "query_extend_num": 5 # 表示擴展query的數量,默認值為5
            },
            "rerank" : {
                "enable": true  # 召回后是否使用大模型進行重排,默認為true,
                "model":"model_name" # 實際使用時應替換為具體的模型名稱
            },
            "return_hits": false   # 是否在結果中返回文檔召回的結果, 即response里面的search_hits
        }
    }
}

返回參數

參數

類型

描述

request_id

string

請求ID。

status

string

請求的處理狀態。

  • OK:表示請求成功。

  • FAIL:表示請求失敗。

latency

float

請求成功時,服務器處理請求所花費的時間,單位為毫秒。

id

integer

主鍵ID。

title

string

文檔的標題。

category

string

類目名。

url

string

文檔鏈接。

answer

string

問答結果。

type

string

返回結果類型。

scores

array

文檔內容分。

code

string

返回的錯誤碼。

message

string

返回的錯誤信息。

響應體示例

{
  "request_id": "6859E98D-D885-4AEF-B61C-9683A0184744",
  "status": "OK",
  "latency": 6684.410397,
  "result" : {
    "data" : [
      {
        "answer" : "answer text",
        "type" : "TEXT",
        "reference" : [
          {"url" : "http://....","title":"doc title"}
    		]
      },
      {
        "reference": [
          {"id": "16","title": "測試標題","category": "測試類目","url": "測試鏈接"}
        ],
        "answer": "https://ecmb.bdimg.com/tam-ogel/-xxxx.jpg",
        "type": "IMAGE"
      }
    ],
    "search_hits" : [  // 查詢請求中設置了options.retrieve.return_hits才會有
      {
        "fields" : {
          "content" : "...."
          "key1" : "value1"
        },
        "scores" : ["10000.1234"],
        "type" : "doc"
      },
      {
        "fields"{
          "answer" : "...",
          "key1" : "value1"
        },
        "scores" : ["10000.1234"],
        "type" : "entry"
      }
    ]
  }
  "errors" : [
    {
      "code" : "如果有錯誤,這里填錯誤碼",
      "message" : "如果有錯誤,這里填錯誤信息"
    }
  ]
}