StarlightSearch/EmbedAnything
Highly Performant, Modular, Memory Safe and Production-ready Inference, Ingestion and Indexing built in Rust 🦀
What it solves
EmbedAnything 提供了一個高效能的本地嵌入管線,簡化了將各種資料來源(文字、影像、音訊、PDF、網站)轉換為向量嵌入並串流寫入向量資料庫的過程。它消除對 PyTorch 的沉重依賴,降低記憶體占用,使雲端部署更為容易。
How it works
此專案使用 Rust 建置,以確保速度與記憶體安全,採用模組化架構並支援多種後端(Candle、ONNX 與雲端模型)。它實作了「Vector Streaming」,透過多執行緒(MPSC)將文件前處理與模型推論分離,降低延遲,並直接將嵌入寫入資料庫以防止記憶體洩漏。
Who it’s for
適合需要建構 RAG(檢索增強生成)管線的 AI 工程師,想要一種輕量、快速且本地化的方式來產生與索引跨多模態的嵌入,而不必承擔大型機器學習框架的負擔。
Highlights
- Multi-modal Support: 支援文字(PDF、MD、TXT)、影像(JPG)、音訊(.WAV)與網站。
- Flexible Backends: 支援 Candle(無縫整合 Hugging Face 模型)、ONNX(更快推論)與雲端 API(如 Cohere)。
- Advanced Chunking: 內建語意分塊與後期分塊,以更好保留上下文。
- Vector DB Integration: 提供 Elastic、Weaviate、Pinecone、Qdrant、Milvus、Chroma 等流行資料庫的介面。
- Hardware Acceleration: 支援 GPU 加速以提升效能。