返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

【RAG】FastEmbed:一种轻量的快速文本嵌入工具

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 23:44 |阅读模式 打印 上一主题 下一主题

前言

在进行文本嵌入时,尤其是RAG系统,有一个快速高效的文本嵌入工具是非常有必要的。因此,FastEmbed设计目标是提升计算效率,同时保持嵌入表示的质量。此外,FastEmbed还支持一些图像嵌入模型。

特点:

  • 高效的计算速度,适合大规模数据处理;使用ONNX Runtime实现最优性能。
  • 低资源消耗,适用于多种设备和环境。FastEmbed刻意减少了对外部资源的依赖,并选择了ONNX Runtime作为其运行时框架。
  • 灵活性强,可应用于不同的 NLP 任务。
  • 兼容GPU,支持GPU加速计算,进一步提升效率。

使用

安装

#CPU版
pipinstallfastembed

#GPU版
pipinstallfastembed-gpu
fromfastembedimportTextEmbedding
fromtypingimportList

#Examplelistofdocuments
documentsist[str]=[
"Thisisbuilttobefasterandlighterthanotherembeddinglibrariese.g.Transformers,Sentence-Transformers,etc.",
"fastembedissupportedbyandmaintainedbyQdrant.",
]

#Thiswilltriggerthemodeldownloadandinitialization
embedding_model=TextEmbedding()
print("ThemodelBAAI/bge-small-en-v1.5isreadytouse.")

embeddings_generator=embedding_model.embed(documents)#reminderthisisagenerator
embeddings_list=list(embedding_model.embed(documents))
#youcanalsoconvertthegeneratortoalist,andthattoanumpyarray
print(len(embeddings_list[0]))#Vectorof384dimensions

密集文本嵌入

fromfastembedimportTextEmbedding

model=TextEmbedding(model_name="BAAI/bge-small-en-v1.5")
embeddings=list(model.embed(documents))

#[
#array([-0.1115,0.0097,0.0052,0.0195,...],dtype=float32),
#array([-0.1019,0.0635,-0.0332,0.0522,...],dtype=float32)
#]

稀疏文本嵌入

SPLADE++

fromfastembedimportSparseTextEmbedding

model=SparseTextEmbedding(model_name="prithivida/Splade_PP_en_v1")
embeddings=list(model.embed(documents))

#[
#SparseEmbedding(indices=[17,123,919,...],values=[0.71,0.22,0.39,...]),
#SparseEmbedding(indices=[38,12,91,...],values=[0.11,0.22,0.39,...])
#]

图像嵌入

fromfastembedimportImageEmbedding

images=[
"./path/to/image1.jpg",
"./path/to/image2.jpg",
]

model=ImageEmbedding(model_name="Qdrant/clip-ViT-B-32-vision")
embeddings=list(model.embed(images))

#[
#array([-0.1115,0.0097,0.0052,0.0195,...],dtype=float32),
#array([-0.1019,0.0635,-0.0332,0.0522,...],dtype=float32)
#]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ