首页 > 其他分享 >使用Infinity部署Embedding和Reranking模型

使用Infinity部署Embedding和Reranking模型

时间:2024-08-06 12:17:27浏览次数:13  
标签:m3 Infinity bge -- BAAI xx 7997 Embedding Reranking

使用Infinity部署Embedding和Reranking模型

说明:

下载权重

pip install -U "huggingface_hub[cli]"

export HF_ENDPOINT=https://hf-mirror.com

huggingface-cli download BAAI/bge-m3
huggingface-cli download BAAI/bge-reranker-v2-m3

使用 hf-mirror.com 的镜像,下载模型权重

模型权重默认缓存到了$HOME/.cache下,使用tree命令检查下:

~/.cache$ tree -L 3 .
.
├── huggingface
│   └── hub
│       ├── huggingface
│       ├── models--BAAI--bge-m3
│       ├── models--BAAI--bge-reranker-v2-m3
│       └── version.txt

运行Docker容器

docker run 启动infinity容器:

docker run -it --gpus all \
 --env HF_ENDPOINT=https://hf-mirror.com \
 -v $HOME/.cache:/app/.cache \
 -p 7997:7997 \
 michaelf34/infinity:latest \
 v2 \
 --model-id BAAI/bge-m3 \
 --model-id BAAI/bge-reranker-v2-m3 \
 --port 7997

其中

  • -it: 交互式运行容器,分配一个伪终端。(如果要在后台运行,将-it改为-d
  • -v $HOME/.cache:/app/.cache:将本地下载的模型权重映射到Docker容器中了

启动完成后,可以看到以下日志:

INFO     2024-08-06 03:52:57,665 infinity_emb INFO:

         ♾️  Infinity - Embedding Inference Server                           
         MIT License; Copyright (c) 2023 Michael Feil                        
         Version 0.0.53
                                                      
         Open the Docs via Swagger UI:                                       
         http://0.0.0.0:7997/docs
                                                 
         Access model via 'GET':                                             
         curl http://0.0.0.0:7997/models
                                 
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:7997 (Press CTRL+C to quit)

打开 http://xx.xx.xx.xx:7997/docs,可以看到 API 文档。(其中 xx.xx.xx.xx代指 IP 地址)

调用测试

Embedding模型:

curl --location 'http://xx.xx.xx.xx:7997/embeddings' \
--header 'Content-Type: application/json' \
--data '{
    "input": "喝水吃饼干",
    "model": "BAAI/bge-m3"
  }'

Reranking模型:

curl -X 'POST' \
  'http://xx.xx.xx.xx:7997/rerank' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": "like it",
  "documents": [
    "like", "hate", "sky"
  ],
  "return_documents": false,
  "model": "BAAI/bge-reranker-v2-m3"
}'

标签:m3,Infinity,bge,--,BAAI,xx,7997,Embedding,Reranking
From: https://www.cnblogs.com/shizidushu/p/18344910

相关文章

  • 说一说和transformer的embedding 的区别
    在iTransformer模型中,Embedding层与传统Transformer模型中的Embedding层存在显著的区别。这些区别主要体现在对时间序列数据的处理方式以及如何利用Transformer组件来捕捉时间序列中的信息。传统Transformer的Embedding在传统的Transformer模型中,Embedding层通常用于将离散的......
  • 为什么 Langchain HuggingFaceEmbeddings 模型尺寸与 HuggingFace 上所述的不一样
    我使用的是langchainHuggingFaceEmbeddings模型:dunzhang/stella_en_1.5B_v5。当我查看https://huggingface.co/spaces/mteb/leaderboard时,我可以看到型号是8192。但当我这样做时len(embed_model.embed_query("heyyou"))它给了我1024。请问为什么会有这种差......
  • AI全知道 - 测试人员应该了解的Embedding Model知识结构
    引言在人工智能和机器学习领域,嵌入模型(EmbeddingModel)逐渐成为不可或缺的工具。对于软件测试人员来说,了解嵌入模型的基本概念和应用场景,不仅有助于更好地理解AI系统的工作原理,还能提升在测试AI驱动应用时的有效性。本文将从嵌入模型的定义、主要应用、常见类型及具体案例......
  • Context-Aware Safe Medication Recommendations with Molecular Graph and DDI Graph
    这篇文章是2023年AAAI会议上的一篇论文,主要是利用分子图和DDI图嵌入来提供上下文感知信息,从而进行安全药物推荐。链接Context-AwareSafeMedicationRecommendationswithMolecularGraphandDDIGraphEmbedding|ProceedingsoftheAAAIConferenceonArtificialInt......
  • 无法在 Llama Index 中加载 HuggingFace Embeddings llama3.1
    我有一个非常简单的代码,如下所示:fromllama_index.embeddings.huggingfaceimportHuggingFaceEmbeddingembed_model=HuggingFaceEmbedding(model_name="meta-llama/Meta-Llama-3-8B")我看到这个模型,meta-llama/Meta-Llama-3-8B,只有4.5GB,而我有16GBRAM,最多只使用20......
  • 冻鳗蔓延设在MC游玩上的一些解决方案(以当期Modpacks Infinte Infinity为例,并拓展)
    文章组成一、前言二、游玩须知三、Mod解决方案四、联机解决方案五、拓展一、前言关于MC一时起兴,然后大部分人不知道怎么搞我们正在玩的模组,所以写这样一则博客来记录本期MC游玩的一些技术和方式,可以提供参考,并且照着本博客做应该会简单不少。本着让更多人一起快乐玩MC......
  • Transformer-Embedding
    导包#导入包importtorchfromtorchimportnnimporttorch.nn.functionalasfimportmathTokenEmbedding#首先定义tokenembaddingfromtorchimportTensor"""将输入词汇表的索引转换成指定维度的Embedding"""classTokenEmbedding(nn.Embedding......
  • 多源谱嵌入融合学习算法(Multi-source Spectral Embedding Fusion Learning Algorithm,
    多源谱嵌入融合学习算法(Multi-sourceSpectralEmbeddingFusionLearningAlgorithm,简称MSEF)是一种专门设计用于处理多源数据的高级学习方法,其目标是在不同数据源之间建立一致的表示,从而提高聚类性能和数据理解的全面性。这种算法的核心在于利用全局和局部谱嵌入的融合,以......
  • 【Pytorch实用教程】transformer中创建嵌入层的模块nn.Embedding的用法
    文章目录1.nn.Embedding的简单介绍1.1基本用法1.2示例代码1.3注意事项2.通俗的理解num_embeddings和embedding_dim2.1num_embeddings2.2embedding_dim2.3使用场景举例结合示例1.nn.Embedding的简单介绍nn.Embedding是PyTorch中的......
  • ollama IsEmbedding() 方法含义与 BERT
     func(m*Model)IsEmbedding()bool{returnslices.Contains(m.Config.ModelFamilies,"bert")||slices.Contains(m.Config.ModelFamilies,"nomic-bert")}该函数用于判断模型是否是BERT嵌入模型。它通过检查模型配置中的ModelFamilies字段是否包含"bert"或"n......