Antfly 是一個基於 etcd raft 函式庫建構的分布式搜尋引擎。它結合了全文檢索 (BM25)、向量相似度以及圖譜遍歷,可處理多模態資料,包括文字、圖像、音訊和影片。

在您寫入資料時,嵌入 (Embeddings)、分塊 (chunking) 和圖譜邊緣 (graph edges) 會自動生成。內建的 RAG 代理透過檢索增強生成 (retrieval-augmented generation) 將所有功能整合在一起。

這讓您可以使用 Antfarm dashboard (http://localhost:8080) — 提供搜尋、RAG、知識圖譜、嵌入、重排序等互動介面。

請參閱快速入門指南以取得完整說明。

pgaf 將 Antfly 搜尋功能整合至 Postgres。建立索引,使用 @@@ 運算子,即可完成設定:

@antfly/components 提供即插即用的 React 組件,用於搜尋介面 — 包括 SearchBox、Autosuggest、Facet、Results、RAGBox、AnswerBox,以及串流式勾子 (hooks) 如 useAnswerStream 和 useCitations。

Antfly inference 負責機器學習部分:嵌入、分塊、重排序、分類、命名實體識別 (NER)、光學字元辨識 (OCR)、語音轉文字、生成等。它透過 antfly inference CLI 運行,並在獨立模式下自動啟動,無需單獨設定。

Antfly 採用多 raft 設計,具有獨立的共識群組:

端對端混沌測試 — 靈感來自 Jepsen — 涵蓋節點崩潰、領導者故障、負載下的分片分割和叢集擴展。這些測試運行真實的多節點叢集並注入故障,以驗證 Raft 共識、交易和複寫在故障情況下的行為是否正確。

關鍵的分布式協定已透過 TLA+ 進行形式化規格說明和模型檢查: