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

文檔切片

AI搜索開放平臺支持通過API的方式調用文檔切片服務,您可以將服務集成到您的業務處理鏈路中,來提升檢索或處理效率。

服務名稱

服務ID

服務描述

文檔切片服務-001

ops-document-split-001

提供通用的文本切片策略,可基于文檔段落格式、文本語義、指定規則,對html, markdown, txt格式的結構化數據進行拆分,同時支持富文本形式提取代碼,圖片,表格。

在基于檢索的生成(Retrieval-Augmented Generation,簡稱RAG)中,通常的做法是將待檢索的文本處理成向量,并保存在向量數據庫中,方便后續檢索。切片服務可以將長文檔分成較小的片段,可以很好地匹配文本向量化模型對每段文本長度的要求,從而達到將超長文檔向量化的目的。

基礎使用方法

切片API輸入是一條純文本的字符串以及附加配置,輸出是切成片段的文本(和可能的富文本)。一共返回4個list:chunks,nodes,rich_texts,sentences。只需要將chunks list,以及rich_texts list中type!=image的content字段內容提取出來,即可作為文檔切片結果進行下一步embedding??梢詤⒖紙鼍爸行牡拇a模板,python代碼如下:

# 提取切片結果,注意這里只用了["chunks"]和除了圖片外的["rich_texts"]
doc_list = []
for chunk in document_split_result.body.result.chunks:
    doc_list.append({"id": chunk.meta.get("id"), "content": chunk.content})

for rich_text in document_split_result.body.result.rich_texts:
    if rich_text.meta.get("type") != "image":
        doc_list.append({"id": rich_text.meta.get("id"), "content": rich_text.content})

進階使用方法

文檔切片服務可將復雜的文檔內容按照指定Token數量進行切分,最終形成一個由多節點組成的樹形結構。樹形結構可以用于RAG的retrieval階段,補全召回切片的上下文信息,實現更高的回答準確率。

文檔切片服務的邏輯是盡可能地將文本按照最宏觀的結構去切分,如果此時每個切片的長度不能滿足要求,那么則會遞歸地繼續切分每個切片,直到所有的切片長度都符合要求。遞歸切分的過程形成了一棵切片樹,其中每個葉子節點對應了一個真正的切片結果,即最終節點。

在后續的向量召回切片的過程中,您可以使用切片樹的信息做上下文補全。例如,可以在模型Token數限制范圍內將召回切片的同一級其他切片一同補齊,提高信息的完整度。

例如,給出一段文本

首次開通AI搜索開放平臺服務成功后,系統會自動創建出一個默認的工作空間:Default。
點擊創建空間。輸入自定義的工作空間名稱,點擊確認即可。點擊創建新的API-KEY后,系統會創建生成API-KEY,此處客戶可以點擊復制按鈕將API-KEY的內容復制保存。

以下是一個可能的切片樹:

root (6b15)
  |
  +-- paragraph_node (557b)
       |
       +-- newline_node (ef4d)[首次開通AI搜索開放平臺...Default。]
       |
       +-- newline_node (c618)
            |
            +-- sentence_node (98ce)[點擊創建空間...點擊確認即可。]
            |
            +-- sentence_node (922a)[點擊創建新的API-KEY后...復制按鈕將API-KEY的內容復制保存。]

在指定切片最大長度的前提下,完整的切片樹包含最終節點(有切片內容的節點)及中間節點(不包含任何內容,僅為邏輯節點)兩種類型。整棵樹會以所有節點列表的形式被返回(nodes),同時最終節點還會在一個列表中單獨返回(chunks)。以下是可能出現的一些節點種類:

  • root:根節點

  • paragraph_node:段落節點,代表對于"\n\n"分隔符的切分,用于標識段落位置(示例中無\n\n,因此只有一個這樣的中間節點)

  • newline_node:換行節點,代表對于"\n"分隔符的切分(示例中newline_node (ef4d)節點滿足切片長度要求,則為最終節點;newline_node (c618)節點需進一步切分,則為中間節點)

  • sentence_node:句子節點,代表對于“?!钡那蟹?/p>

  • subsentence_node:子句節點,代表對于“,”的切分(示例未出現)

對于以markdown和html格式輸入的內容,切片服務還會將一些富文本(rich_texts)單獨輸出。例如html中的<img>,<table>,<code> tags. 這些富文本在切片原文中的位置將會被替換成[image_0],<table>table_0</table>, <code>code_0</code>,與此同時每個富文本塊都會在rich_texts字段被返回。這樣的設計方便單獨召回富文本塊,也可以在需要時放回原文中。每個富文本塊都歸屬于唯一切片的最終節點chunk。

此外,為了提升短query的召回率,客戶可以選擇配置strategy.need_sentence=true。此時會將原文按句子做切分并單獨返回sentences列表,可以作為一路獨立召回。為了方便擴展sentence,每個sentence塊都歸屬于唯一的切片的最終節點chunk。(注意這個sentences列表和上面的sentence_node沒有關系)

上文加粗的chunks,nodes,rich_texts,sentences就是API返回的全部字段了,您可以在下面的參數描述中找到詳細用法。為了切片的簡潔性,輸出的每個切片使用的是簡化版的html語法。

前提條件

  • 獲取身份鑒權信息

    通過API調用AI搜索開放平臺服務時,需要對調用者身份進行鑒權,如何獲取鑒權信息請參見獲取API-KEY。

  • 獲取服務調用地址

    支持通過公網和VPC兩種方式調用服務,詳情請參見獲取服務接入地址。

請求說明

公共說明

  • 請求body最大不能超過8MB。

請求方式

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/document-split/{service_id} 
  • host:調用服務的地址,支持通過公網和VPC兩種方式調用API服務,可參見獲取服務接入地址。Api—key兩種方式.png

  • workspace_name:工作空間名稱,例如default。

  • service_id: 系統內置服務id,例如ops-document-split-001。

請求參數

Header參數

API-KEY認證

參數

類型

必填

描述

示例值

Content-Type

String

請求類型:application/json

application/json

Authorization

String

API-Key

Bearer OS-d1**2a

Body參數

參數

類型

必填

描述

示例值

document.content

String

需要切片的純文本內容,根據JSON標準,string字段如果包含以下字符需要轉義:"\\、\"、\/、\b、\f、\n、\r、\t"。常用JSON庫生成的JSON 串都無需手動轉義。

"標題\n第一行\n第二行"

document.content_encoding

String

content編碼類型

  • utf8:默認編碼類型

utf8

document.content_type

String

content格式

  • html

  • markdown

  • text:默認格式(兼容plain格式)

html

strategy.type

String

段落切片策略

  • default:默認策略,根據文檔段落格式進行切分

default

strategy.max_chunk_size

Int

切片的最大長度,默認300。

300

strategy.compute_type

String

長度計算方式

  • token:默認方式,按照ops-text-embedding-001向量模型的tokenizer計算

token

strategy.need_sentence

Boolean

是否同時返回sentence級別切片,用于優化短query查詢

  • 默認false

  • 如有需要可選true,token使用量翻倍

false

補充說明:

  • strategy.need_sentence參數:sentence級別切片是一種獨立于段落切片的策略,簡單來說就是將每一句話都作為獨立的切片返回。開啟sentence級別切片策略后,短切片及長切片可以同時召回,作為相互補充提升整體召回率。

返回參數

參數

類型

描述

示例值

request_id

String

系統對一次API調用賦予的唯一標識。

B4AB89C8-B135-****-A6F8-2BAB801A2CE4

latency

Float/Int

請求耗時,單位ms。

10

usage

Object

本次調用產生的計量信息。

"usage": {

"token_count": 3072

}

usage.token_count

Int

Token數量。

3072

result.chunks

List(Chunk)

切片結果列表(最終節點),包含切片內容及切片標識信息。

[{

"content" : "xxx",

"meta":{'parent_id':x, 'id': x, 'type': 'text'}

}]

result.chunks[].content

String

切片結果中的切片內容。

"xxx"

result.chunks[].meta

Map

切片結果中的切片標識信息,以下字段都是string類型

  • parent_id:切片父節點id

  • id: 切片節點id

  • type: 切片內容輸出類型,目前全為text

  • token: 當前切片的token數量

{

'parent_id': '3b94a18555c44b67b193c6ab4f****',

'id': 'c9edcb38fdf34add90d62f6bf5c6****,

'type': 'text'

'token': 10,

}

result.rich_texts

List(RichText)

富文本輸出形式,當document.content_type為markdown、html時,切片內容中的image, code, table信息會被替換為富文本形式

(注意:document.content_type為text時不支持該形式)

[{

"content" : "xxx",

"meta":{'belonged_chunk_id':x, 'id': x, 'type': 'table'}

}]

result.rich_texts[].content

String

富文本輸出形式中的切片內容。image的content是url,所以不會被切分,可能超過max_chunk_size。table會被切分為表頭+每一行內容的形式。code和正文的切分方法一致。

"<table><tr>\n<th>動作</th>\n<th>說明</th>\n</tr><tr>\n<td>隱藏組件</td>\n<td>隱藏組件,不需要參數。</td>\n</tr></table>"

result.rich_texts[].meta

Map

富文本輸出形式中的切片標識信息,字段都為string類型

  • belonged_chunk_id:歸屬切片節點id(每個富文本一定屬于一個切片節點)

  • id: 富文本id

  • type: code/image/table

  • token: 當前切片的token數量(image的token固定為-1)

{

'type': 'table',

'belonged_chunk_id': 'f0254cb7a5144a1fb3e5e024a3****b',

'id': 'table_2-1'

'token': 10

}

result.nodes

List(Node)

切片樹節點列表。

[{'parent_id':x, 'id': x, 'type': 'text'}]

result.nodes[]

Map

切片樹節點信息,字段都為string類型

  • id:節點id,如果節點同時是一個切片,那么和切片ID對應

  • type: string, 可選項有paragraph_node/newline_node/sentence_node/subsentence_node;如果是html或者markdown則可能為<h1>~<h6>,代表不同的分隔符

  • parent_id: string,父節點id

{

'id': 'f0254cb7a5144a1fb3e5e024a3****b',

'type': 'paragraph_node',

'parent_id': 'f0254cb7a5144a1fb3e5e024a3****b'

}

result.sentences(可選)

List(sentence)

request中strategy.need_sentence=true時,返回每個分片中分句的列表。

[{

"content" : "xxx",

"meta":{'belonged_chunk_id':x, 'id': x, 'type': 'sentence'}

}]

result.sentences[].content(可選)

String

句子內容

"123"

result.sentences[].meta(可選)

Map

句子信息:

  • belonged_chunk_id:歸屬切片節點id

  • id: 句子id

  • type: sentence,固定值

  • token: 當前切片的Token數量

{

'id': 'f0254cb7a5144a1fb3e5e024a3****b1-1',

'type': 'sentence',

'belonged_chunk_id': 'f0254cb7a5144a1fb3e5e024a3****b',

'token': 10

}

Curl請求示例

curl -XPOST -H"Content-Type: application/json"  
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/document-split/ops-document-split-001"  
-H "Authorization: Bearer 您的API-KEY"  
-d "{
    \"document\":{
          \"content\":\"產品優勢\\n行業算法版\\n智能\\n內置豐富的定制化算法模型,并結合不同行業搜索特點,推出行業召回、排序算法,保障更優搜索效果。\\n\\n靈活、可定制\\n開發者可基于自身業務特性與數據,定制相應的算法模型、應用結構、數據處理、查詢分析、排序等配置,滿足個性化搜索需求,提升搜索結果點擊率,實現業務快速迭代,極大縮短需求上線的周期。\\n\\n安全、穩定\\n提供7×24小時的運行維護,并以在線工單和電話報障等方式提供技術支持,具備完善的故障監控、自動告警、快速定位等一系列故障應急響應機制?;诎⒗镌频腁ccessKeyId和AccessKeySecret安全加密對,從訪問接口上進行權限控制和隔離,保證用戶級別的數據隔離,用戶數據安全有保障。數據冗余備份,保證數據不會丟失。\\n\\n彈性伸縮\\n具備彈性擴容能力,用戶可根據需要自行擴展或縮減所使用的資源。\\n\\n豐富的外圍功能\\n支持熱搜、底紋、下拉提示、統計報表等一系列搜索外圍功能,方便用戶展示及分析。\\n\\n開箱即用\\n無需運維部署集群,快速一站式接入搜索服務\\n\\n高性能檢索版\\n高吞吐\\n單表支持萬級別的寫入TPS,秒級更新。\\n\\n安全、穩定\\n提供7×24小時的運行維護,并以在線工單和電話報障等方式提供技術支持,具備完善的故障監控、自動告警、快速定位等一系列故障應急響應機制。基于阿里云的AccessKeyId和AccessKeySecret安全加密對,從訪問接口上進行權限控制和隔離,保證用戶級別的數據隔離,用戶數據安全有保障。數據冗余備份,保證數據不會丟失。\\n\\n彈性伸縮\\n具備彈性擴容能力,用戶可根據需要自行擴展或縮減所使用的資源。\\n\\n開箱即用\\n無需運維部署集群,快速一站式接入搜索服務\\n\\n向量檢索版\\n穩定\\n底層采用c++實現,經過十多年的發展,支撐了多個核心業務,非常穩定,非常適用于對穩定性要求較高的核心搜索場景。\\n\\n高效\\n分布式搜索引擎,可以高效的支持海量數據的檢索,同時也支持數據的實時更新(秒級生效),非常適用于對查詢耗時敏感、時效性要求高的搜索場景。\\n\\n低成本\\n支持多種索引壓縮策略,同時支持多值索引加載測試,能夠以較低的成本滿足用戶的查詢需求。\\n\\n向量算法\\n支持各種非結構化數據(如語音、圖片、視頻,語言文字、行為等)向量檢索。\\n\\nSQL查詢\\n支持SQL查詢語法,支持多表在線join,提供豐富的內置UDF函數和UDF函數定制機制,以滿足不同用戶的檢索需求。在運維系統中我們已經集成SQL studio,方便用戶進行SQL開發和測試。\\n\\n召回引擎版\\n穩定\\n底層采用c++實現,經過十多年的發展,支撐了多個核心業務,非常穩定,非常適用于對穩定性要求較高的核心搜索場景。\\n\\n高效\\n問天引擎是一個分布式搜索引擎,可以高效的支持海量數據的檢索,同時也支持數據的實時更新(秒級生效),非常適用于對查詢耗時敏感、時效性要求高的搜索場景。\\n\\n低成本\\n問天引擎支持多種索引壓縮策略,同時支持多值索引加載測試,能夠以較低的成本滿足用戶的查詢需求。\\n\\n功能豐富\\n問天引擎支持多種分析器類型、多種索引類型、強大的查詢語法,能夠很好的滿足用戶的檢索需求。同時我們還提供插件機制,方便用戶定制自己的業務處理邏輯。\\n\\nSQL查詢\\n問天引擎支持SQL查詢語法,支持多表在線join,提供豐富的內置UDF函數和UDF函數定制機制,以滿足不同用戶的檢索需求。在運維系統中我們即將集成SQL studio,方便用戶進行SQL開發和測試。\",
          \"content_encoding\":\"utf8\",\"content_type\":\"text\"
    },
    \"strategy\":{
          \"type\":\"default\",
          \"max_chunk_size\":300,
          \"compute_type\":\"token\",
          \"need_sentence\":false
    }
}"

響應示例

正常響應示例

{
	"request_id": "47EA146B-****-448C-A1D5-50B89D7EA434",
	"latency": 161,
	"usage": {
		"token_count": 800
	},
	"result": {
		"chunks": [
			{
				"content": "產品優勢\\n行業算法版\\n智能\\n內置豐富的定制化算法模型,并結合不同行業搜索特點,推出行業召回、排序算法,保障 更優搜索效果。\\n\\n靈活、可定制\\n開發者可基于自身業務特性與數據,定制相應的算法模型、應用結構、數據處理、查詢分析、排序等配置,滿足個性化搜索需求,提升搜索結果點擊率,實現業務快速迭代,極大縮短需求上線的周期。\\n\\n安全、穩定\\n提供7×24小時的運行維護,并以在線工單和電話報障等方式提供技術支持,具備完善的故障監控、自動告警、快速定位等一系列故障應急響應機制?;诎⒗镌频腁ccessKeyId和AccessKeySecret安全加密對,從訪問接口上進行權限控制和隔離,保證用戶級別的數據隔離,用戶 數據安全有保障。數據冗余備份,保證數據不會丟失。\\n\\n彈性伸縮\\n具備彈性擴容能力,用戶可根據需要自行擴展或縮減所使用的資源。\\n\\n豐富的外圍功能\\n支持熱搜、底紋、下拉提示、統計報表等一系列搜索外圍功能,方便用戶展示及分析。\\n\\n開箱即 用\\n無需運維部署集群,快速一站式接入搜索服務\\n\\n高性能檢索版\\n高吞吐\\n單表支持萬級別的寫入TPS,秒級更新",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "27eea7c6b2874cb7a5bf6c71afbf****",
					"type": "text"
				}
			},
			{
				"content": "。\\n\\n安全、穩定\\n提供7×24小時的運行維護,并以在線工單和電話報障等方式提供技術支持,具備完善的故障監控、自動告警、快速定位等一系列故障應急響應機制?;诎⒗镌频腁ccessKeyId和AccessKeySecret安全加密對,從訪問接口上進行權限控制和隔離,保證 用戶級別的數據隔離,用戶數據安全有保障。數據冗余備份,保證數據不會丟失。\\n\\n彈性伸縮\\n具備彈性擴容能力,用戶可根據需要自行擴展或縮減所使用的資源。\\n\\n開箱即用\\n無需運維部署集群,快速一站式接入搜索服務\\n\\n向量檢索版\\n穩定\\n底層 采用c++實現,經過十多年的發展,支撐了多個核心業務,非常穩定,非常適用于對穩定性要求較高的核心搜索場景。\\n\\n高效\\n分布式搜索引擎,可以高效的支持海量數據的檢索,同時也支持數據的實時更新(秒級生效),非常適用于對查詢耗時敏感、時效性要求 高的搜索場景。\\n\\n低成本\\n支持多種索引壓縮策略,同時支持多值索引加載測試,能夠以較低的成本滿足用戶的查詢需求。\\n\\n向量算法\\n支持各種非結構化數據(如語音、圖片、視頻,語言文字、行為等)向量檢索。\\n\\nSQL查詢\\n支持SQL查詢語法,支持多表在線join,提供豐富的內置UDF函數和UDF函數定制機制,以滿足不同用戶的檢索需求",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "bf9fcfb47fcf410aa05216e268df****",
					"type": "text"
				}
			},
			{
				"content": "。在運維系統中我們已經集成SQL studio,方便用戶進行SQL開發和測試。\\n\\n召回引擎版\\n穩定\\n底層采用c++實現,經過十多年的發展,支撐了多個核心業務,非常穩定,非常適用于對穩定性要求較高的核心搜索場景。\\n\\n高效\\n問天引擎是一個分布式搜索引擎,可以高效的支持海量數據的檢索,同時也支持數據的實時更新(秒級生效),非常適用于對查詢耗時敏感、時效性要求高的搜索場景。\\n\\n低成本\\n問天引擎支持多種索引壓縮策略,同時支持多值索引加載測試,能夠以較低的成本滿足用戶的查詢需求。\\n\\n功能豐富\\n問天引擎支持多種分析器類 型、多種索引類型、強大的查詢語法,能夠很好的滿足用戶的檢索需求。同時我們還提供插件機制,方便用戶定制自己的業務處理邏輯。\\n\\nSQL查詢\\n問天引擎支持SQL查詢語法,支持多表在線join,提供豐富的內置UDF函數和UDF函數定制機制,以滿足不同用戶的檢索需求。在運維系統中我們即將集成SQL studio,方便用戶進行SQL開發和測試。",
				"meta": {
					"parent_id": "dee776dda3ff4b078bccf989a6bd****",
					"id": "26ab0e4f7665487bb0a82c5a226a****",
					"type": "text"
				}
			}
		],
		"nodes": [
			{
				"id": "dee776dda3ff4b078bccf989a6bd****",
				"type": "root",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "27eea7c6b2874cb7a5bf6c71afbf****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "bf9fcfb47fcf410aa05216e268df****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			},
			{
				"id": "26ab0e4f7665487bb0a82c5a226a****",
				"type": "sentence",
				"parent_id": "dee776dda3ff4b078bccf989a6bd****"
			}
		],
		"rich_texts": []
	}
}

異常響應示例

在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。

{
    "request_id": "817964CD-1B84-4AE1-9B63-4FB99734****",
    "latency": 0,
    "code": "InvalidParameter",
    "message": "JSON parse error: Invalid UTF-8 start byte 0xbc; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 start byte 0xbc\n at line: 2, column: 19]"
}

狀態碼說明

請參見AI搜索開放平臺狀態碼說明。