推論,攝入和索引 - 由生鏽增壓嗎?
探索文檔»
查看演示·台詞·矢量流適配器。在音頻空間中搜索
嵌入是一種極簡,性能高,閃電,輕巧,多源,多模式和局部嵌入管道內置的管道。無論您是使用文本,圖像,音頻,PDF,網站或其他媒體,嵌入內容都會簡化從各種來源生成嵌入的過程,並無縫流(內存效率 - 索引)它們到矢量數據庫。它支持緻密,稀疏,ONNX和晚期嵌入,為廣泛的用例提供了靈活性。
向量流動使您可以處理並生成文件的嵌入式並流式傳輸它們,因此,如果您有10 GB的文件,它可以不斷地生成嵌入的嵌入塊,您可以將語義分段並將其存儲在您選擇的矢量數據庫中,從而消除散裝嵌入在RAM上的嵌入。嵌入過程與主過程分開發生,以維持Rust MPSC啟用的高性能。
➡qaster執行。
➡️MEMORY管理:RUST同時執行內存管理,防止記憶洩漏和崩潰可能困擾其他語言
➡️True多線程
➡quring語言模型或在本地有效地嵌入模型
➡️Candle允許從開箱即用的啟用CUDA的GPU上推斷。
➡測試嵌入的內存使用情況。
我們支持蠟燭上的任何擁抱臉模型。我們還支持Bert和Colpali的ONNX運行時。
model = EmbeddingModel . from_pretrained_hf (
WhichModel . Bert , model_id = "model link from huggingface"
)
config = TextEmbedConfig ( chunk_size = 200 , batch_size = 32 )
data = embed_anything . embed_file ( "file_address" , embedder = model , config = config )| 模型 | 自定義鏈接 |
|---|---|
| 吉納 | jinaai/jina-embeddings-v2-base-en |
| jinaai/jina-embeddings-v2-small-en | |
| 伯特 | 句子轉換器/全米尼-L6-V2 |
| 句子轉換器/全米尼L12-V2 | |
| 句子轉換器/釋義minilm-l6-v2 | |
| 夾子 | Openai/clip-vit-base-patch32 |
| 耳語 | Huggingface的大多數露天低語都得到了支持。 |
model = EmbeddingModel.from_pretrained_hf(
WhichModel.SparseBert, "prithivida/Splade_PP_en_v1"
)
model = EmbeddingModel.from_pretrained_onnx(
WhichModel.Bert, model_id="onnx_model_link"
)
model: ColpaliModel = ColpaliModel.from_pretrained_onnx("starlight-ai/colpali-v1.2-merged-onnx", None)
model = EmbeddingModel . from_pretrained_hf (
WhichModel . Bert , model_id = "sentence-transformers/all-MiniLM-L12-v2"
)
# with semantic encoder
semantic_encoder = EmbeddingModel . from_pretrained_hf ( WhichModel . Jina , model_id = "jinaai/jina-embeddings-v2-small-en" )
config = TextEmbedConfig ( chunk_size = 256 , batch_size = 32 , splitting_strategy = "semantic" , semantic_encoder = semantic_encoder )pip install embed-anything
用於GPU並使用諸如Colpali之類的特殊模型
pip install embed-anything-gpu
model = EmbeddingModel . from_pretrained_local (
WhichModel . Bert , model_id = "Hugging_face_link"
)
data = embed_anything . embed_file ( "test_files/test.pdf" , embedder = model ) import embed_anything
from embed_anything import EmbedData
model = embed_anything . EmbeddingModel . from_pretrained_local (
embed_anything . WhichModel . Clip ,
model_id = "openai/clip-vit-base-patch16" ,
# revision="refs/pr/15",
)
data : list [ EmbedData ] = embed_anything . embed_directory ( "test_files" , embedder = model )
embeddings = np . array ([ data . embedding for data in data ])
query = [ "Photo of a monkey?" ]
query_embedding = np . array (
embed_anything . embed_query ( query , embedder = model )[ 0 ]. embedding
)
similarities = np . dot ( embeddings , query_embedding )
max_index = np . argmax ( similarities )
Image . open ( data [ max_index ]. text ). show () import embed_anything
from embed_anything import (
AudioDecoderModel ,
EmbeddingModel ,
embed_audio_file ,
TextEmbedConfig ,
)
# choose any whisper or distilwhisper model from https://huggingface.co/distil-whisper or https://huggingface.co/collections/openai/whisper-release-6501bba2cf999715fd953013
audio_decoder = AudioDecoderModel . from_pretrained_hf (
"openai/whisper-tiny.en" , revision = "main" , model_type = "tiny-en" , quantized = False
)
embedder = EmbeddingModel . from_pretrained_hf (
embed_anything . WhichModel . Bert ,
model_id = "sentence-transformers/all-MiniLM-L6-v2" ,
revision = "main" ,
)
config = TextEmbedConfig ( chunk_size = 200 , batch_size = 32 )
data = embed_anything . embed_audio_file (
"test_files/audio/samples_hp0.wav" ,
audio_decoder = audio_decoder ,
embedder = embedder ,
text_embed_config = config ,
)
print ( data [ 0 ]. metadata )首先,感謝您抽出寶貴的時間為該項目做出貢獻。我們非常感謝您的貢獻,無論是錯誤報告,功能建議還是提取請求。您的時間和精力在這個項目中受到高度重視。
本文檔提供了指南和最佳實踐,以幫助您有效貢獻。這些旨在作為準則,而不是嚴格的規則。我們鼓勵您使用自己的最佳判斷力,並通過拉動請求感到舒適地建議對本文檔的更改。
嵌入的目的之一是允許AI工程師輕鬆地在典型的文件和文檔上使用嵌入模型的狀態。這裡已經完成了很多工作,這些是我們現在支持的格式,還必須完成一些格式。
我們很高興分享我們已經擴展了平台以支持多種方式,包括:
音頻文件
降價
網站
圖像
影片
圖形
這使您可以靈活地使用各種數據類型!
我們已經在0.3版中推出了一些重大更新,以提高功能和性能。這是新事物:
語義分解:優化的分塊策略,以更好地檢索傑出的一代(RAG)工作流程。
流量以進行有效的索引:我們引入了流媒體數據庫中的記憶效率索引。想知道更多嗎?在此處查看有關此功能的文章:https://www.analyticsvidhya.com/blog/2024/09/vector-streaming/
零拍攝應用程序:探索我們的零彈應用程序演示,以查看這些更新的功能。
直觀功能:0.3版本包含一個完整的重構功能,以實現更直觀的功能,從而使平台更易於使用。
塊狀流:現在我們支持塊流的流媒體,而不是逐文件流媒體,可以進行更靈活,有效的數據處理。
查看最新版本:看看這些功能如何增強您的Generativeai管道!
我們已經收到了很多有關使用蠟燭的問題的問題,所以這是一個快速的解釋:
主要原因之一是蠟燭不需要任何特定的ONX格式模型,這意味著它可以與任何擁抱的面部模型無縫地工作。這種靈活性一直是我們的關鍵因素。但是,我們也認識到,我們一直在損害一些靈活性的速度。
接下來是什麼?為了解決這個問題,我們很高興地宣布,我們正在介紹Canduc-innx以及我們以前關於擁抱面的框架,
➡️支持GGUF模型
從第一天開始,我們就有多模式的基礎設施。我們已經將其包括在網站,圖像和音頻上,但我們希望將其進一步擴展到。
☑️Graph嵌入 - 首先構建深條嵌入深度,並向VEC單詞
☑️VIDEO嵌入
☑️Yolo剪輯
目前,我們支持廣泛的矢量數據庫用於流嵌入,包括:
但是我們不在那兒停下來!我們正在積極努力擴展此列表。
想貢獻嗎?如果您想增加對自己喜歡的矢量數據庫的支持,我們很樂意獲得您的幫助!查看我們的貢獻。 md以獲取指南,或者隨時直接聯繫[email protected]。讓我們一起建造一些驚人的東西!