原创 RAG 範式、技術和趨勢

這裏分享同濟大學 Haofen Wang的關於檢索增強生成的報告:《Retrieval-Augmented Generation (RAG): Paradigms, Technologies, and Trends》 ,RAG 範式、技術和

原创 In-batch negatives Embedding模型介紹與實踐

語義索引(可通俗理解爲向量索引)技術是搜索引擎、推薦系統、廣告系統在召回階段的核心技術之一。語義索引模型的目標是:給定輸入文本,模型可以從海量候選召回庫中快速、準確地召回一批語義相關文本。語義索引模型的效果直接決定了語義相關的物料能否被成功

原创 ReACT介紹與llama_index ReActAgent實踐

Agent是大模型的重要應用方向,而ReACT是學術界提出的重要方法,本文介紹ReACT論文,然後通過llama_index ReActAgent來分析ReACT的執行過程。 ReACT 《REACT: SYNERGIZING REASON

原创 LLM 推理和應用 開源框架梳理

之前對LLM 推理和應用瞭解不多,因此抽時間梳理了一下,我們從模型量化,模型推理,以及開發平臺等三個層面來梳理分析。 模型量化 模型訓練時爲了進度,採用的32位浮點數,因此佔用的空間較大,一些大的模型需要很大的顯存才能加載,且計算推理過程較

原创 RAPTOR 一種基於樹的RAG方法,RAG的準確率提高 20%

一種理解整個文檔上下文的新穎的 RAG 方法 RAG 是當前使用LLM的標準方法,大多數現有方法僅從檢索語料庫中檢索短的連續塊,限制了對整個文檔上下文的整體理解。 最近,一種名爲 RAPTOR (Recursive Abstractive

原创 Langchain 介紹與入門

官方介紹 LangChain 是一個利用LLM開發應用程序的框架。它讓應用程序具備: 上下文感知能力:將LLM連接到上下文源(提示說明、少量示例、用以形成其響應的內容等) 推理:依靠LLM進行推理(例如根據提供的上下文確定如何回答、採取什

原创 搜索引擎RAG召回效果評測MTEB介紹與使用入門

RAG 評測數據集建設尚處於初期階段,缺乏針對特定領域和場景的專業數據集。市面上常見的 MS-Marco 和 BEIR 數據集覆蓋範圍有限,且在實際使用場景中效果可能與評測表現不符。目前最權威的檢索榜單是 HuggingFace MTEB,

原创 索引構建磁盤IO太高,巧用tmpfs讓內存來幫忙

在文本索引構建這種需要大量佔用磁盤IO的任務,如果正巧你的內存還有點餘糧,是否可以先索引存儲到內存,然後再順序寫入到磁盤呢?,需要大量佔用磁盤IO,如果正巧你的內存還有點餘糧,是否可以先索引存儲到內存,然後再順序寫入到磁盤呢? 將Linu

原创 從TF-IDF 到BM25, BM25+,一文徹底理解文本相關度

相關性描述的是⼀個⽂檔和查詢語句匹配的程度。我們從搜索引擎召回時,肯定希望召回相關性高的數據,那麼如何來量化相關度呢。 首先,我們定義,一個文檔doc,由多個詞語 term 組成。 最早,通過最簡單的TF-IDF來衡量。 TF-IDF 樸素

原创 跨語言調用神器SWIG介紹與使用入門

安裝 依賴 PCRE 庫 apt-get install libpcre2-dev 下載安裝 $ ./configure $ make $ make install 介紹 SWIG 是一個軟件開發工具,能夠簡化不同編程語言與 C 和 C

原创 xapian 搜索引擎介紹與使用入門

Xapian 是一個開源搜索引擎庫,使用 C++ 編寫,並提供綁定(bindings )以允許從多種編程語言使用。它是一個高度適應性的工具包,允許開發人員輕鬆地將高級索引和搜索功能添加到自己的應用程序中。Xapian 支持多種加權模型和豐富

原创 從Bitcask存儲模型談超輕量級KV系統設計與實現

Bitcask介紹 Bitcask是一種“基於日誌結構的哈希表”(A Log-Structured Hash Table for Fast Key/Value Data) Bitcask 最初作爲分佈式數據庫 Riak 的後端出現,Riak

原创 Rocksdb 離線生成sst文件並在線加載

rocksdb簡介 RocksDB是Facebook的一個實驗項目,目的是希望能開發一套能在服務器壓力下,真正發揮高速存儲硬件(特別是Flash存儲)性能的高效數據庫系統。這是一個C++庫,允許存儲任意長度二進制kv數據。支持原子讀寫操作。

原创 Hnswlib 介紹與入門使用

Hnswlib是一個強大的近鄰搜索(ANN)庫, 官方介紹 Header-only C++ HNSW implementation with python bindings, insertions and updates. 熱門的向量數據庫

原创 trafilatura 網頁解析原理分析

trafilatura 介紹 Trafilatura是一個Python包和命令行工具,用於收集網絡上的文本。其主要應用場景包括網絡爬蟲下載和網頁解析等。 今天我們不討論爬蟲和抓取,主要看他的數據解析是如何做的。 extract初體驗 fro