本文介紹了文檔檢索系統的概念,以及搭建文檔檢索系統的流程。
概念
文檔檢索系統是一種用於快速準確地檢索和擷取文檔資訊的技術。它基於文檔的內容和結構,通過電腦自然語言處理和資訊檢索的技術,將文檔轉化為可檢索的形式,並根據使用者的查詢需求來匹配和排序相關的文檔。
文檔檢索系統的應用情境非常廣泛。諸如:
在企業和組織中,用於管理和檢索大量的文檔和知識資料,方便員工快速擷取所需的資訊。
在學術研究領域,用於檢索和擷取相關的學術文獻,協助研究人員快速瞭解和掌握最新的研究成果。
在新聞和媒體領域,用於檢索和擷取相關的新聞報道,以便及時瞭解和分析重要的新聞事件。
此外,文檔檢索系統還可以應用於法律和醫學領域,用於檢索和擷取相關的法律文書和醫學文獻。
搭建流程
建立文檔資料表
建立文檔資料表的SQL語句如下:
CREATE TABLE enterprise_context(
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
content text DEFAULT NULL COMMENT '內容',
PRIMARY KEY (id)
) ENGINE=InnoDB COMMENT='文本資料';
插入文檔資料
插入文檔資料的SQL語句如下:
INSERT INTO enterprise_context(id,content) VALUES
(1,'中科軟科技股份有限公司(英文:Sinosoft Company Limited,上市公司,證券簡稱:中科軟,證券代碼:603927 )是中國科學院軟體所實施知識創新試驗工程的產物,是研究所技術研究及開發主體轉制的結果。中科軟科技股份有限公司總部設在北京,註冊資金59360萬元,是專門從事電腦軟體研發、應用、服務的智能密集型高新技術企業。'),
(2,'中科軟科技以大型應用軟體開發和電腦系統整合為核心,集自主開發的行業通用軟體產品、網路資訊安全軟體產品、大型網路應用軟體組合平台、中介軟體軟體產品及應用工具於一體,涵蓋了系統軟體、支撐軟體、建築智能化工程、行業應用軟體等各個層次,並可為大型應用系統工程提供全方位支援。')建立文檔向量表
建立文檔向量表的SQL語句如下:
/*polar4ai*/CREATE TABLE vector_table(
id bigint,
content text,
content_vector vector_768,
primary key(id)
);文檔資料向量化
您可以根據實際使用情境,選擇將文檔資料離線向量化或線上向量化。
將文檔資料離線向量化的SQL語句如下:
/*polar4ai*/select id, content from predict(model _polar4ai_text2vec, select id,content from enterprise_context) with ( x_cols='content', primary_key='id', mode='async', vec_col='content_vector' ) into vector_table;其中,
_polar4ai_text2vec為文本轉向量化模型,目前僅支援輸出768維向量。with()中的參數說明如下:參數
說明
樣本值
primary_key
向量表的主鍵。
id
x_cols
用於儲存文本的欄位。
content
mode
文檔資料的寫入模式。目前僅支援async(非同步)模式。
async
vec_col
向量表中儲存向量的欄位。
content_vector
將文檔資料線上向量化的SQL語句如下:
/*polar4ai*/SELECT * FROM predict(model _polar4ai_text2vec, SELECT '中科軟證券代碼是多少') with();
進行向量檢索
進行向量檢索的SQL語句如下:
/*polar4ai*/SELECT id,'distance(content_vector,[1,2,3,4,5……,768])' FROM vector_table LIMIT 10;