本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Infinity 是一个高吞吐量、低延迟的 REST API,用于提供向量嵌入服务,支持所有 sentence-transformer 模型和框架。该项目基于 MIT 许可证开发,为 Gradient.ai 等平台提供推理支持。
Infinity 的核心功能是将文本转换为低维密集向量,这些向量可用于检索、分类、聚类或语义搜索等任务,也可用于为大型语言模型(LLM)提供向量数据库支持。
使用预构建的 Docker 容器是部署 Infinity 的推荐方式。确保已安装 nvidia-docker 以支持 GPU 加速。
port=7997 model="BAAI/bge-small-en-v1.5" volume=$PWD/data docker run -it --gpus all \ -v $volume:/app/.cache \ -p $port:$port \ michaelf34/infinity:latest \ v2 \ --model-id $model \ --port $port
port=7997 model1="michaelfeil/bge-small-en-v1.5" model2="mixedbread-ai/mxbai-rerank-xsmall-v1" volume=$PWD/data docker run -it --gpus all \ -v $volume:/app/.cache \ -p $port:$port \ michaelf34/infinity:latest \ v2 \ --model-id $model1 \ --model-id $model2 \ --port $port
HF_HOME: 容器内缓存路径,默认为 /app/.cacheINFINITY_MODEL_ID: 模型ID,多个模型用分号分隔INFINITY_PORT: 服务端口号使用 --help 命令查看所有可用参数:
docker run michaelf34/infinity:latest v2 --help
主要参数:
--model-id: 模型ID或路径,可指定多个--port: 服务端口号--engine: 推理引擎,可选值: torch, optimum, ctranslate2--embedding-dtype: 嵌入输出数据类型--dtype: 模型计算数据类型--api-key: API密钥认证--host: 绑定主机地址curl -X POST "http://localhost:7997/v1/embeddings" \ -H "Content-Type: application/json" \ -d '{ "input": ["这是一个测试句子", "巴黎在法国"], "model": "BAAI/bge-small-en-v1.5" }'
curl -X POST "http://localhost:7997/v1/rerank" \ -H "Content-Type: application/json" \ -d '{ "query": "什么是Python包infinity_emb?", "documents": [ "这是一个与Python包infinity_emb无关的文档", "巴黎在法国!", "infinity_emb是一个用于句子嵌入和重排序的Python包" ], "model": "mixedbread-ai/mxbai-rerank-xsmall-v1" }'
除了 REST API,还可以通过 Python API 直接使用 Infinity:
import asyncio from infinity_emb import AsyncEngineArray, EngineArgs sentences = ["通过Infinity嵌入这句话", "巴黎在法国。"] array = AsyncEngineArray.from_args([ EngineArgs(model_name_or_path="BAAI/bge-small-en-v1.5", engine="torch") ]) async def embed_text(): async with array[0]: embeddings, usage = await array[0].embed(sentences=sentences) print("嵌入结果:", embeddings) print("使用情况:", usage) asyncio.run(embed_text())
从版本 0.0.34 开始,Infinity 支持同时部署多个模型:
docker run -it --gpus all \ -p 7997:7997 \ michaelf34/infinity:latest \ v2 \ --model-id BAAI/bge-small-en-v1.5 \ --model-id mixedbread-ai/mxbai-rerank-xsmall-v1 \ --port 7997
Infinity 可与多种工具和框架集成:
嵌入模型可以将任何文本映射到低维密集向量,用于检索、分类、聚类或语义搜索等任务,也可用于大型语言模型的向量数据库。最知名的架构是仅编码器的Transformer(如BERT),最流行的实现包括SentenceTransformers。
所有 sentence-transformers 组织的模型都受支持。使用不同引擎时要求不同:
--engine torch: 模型必须与 SentenceTransformers 和 AutoModel 兼容--engine optimum: 必须有 ONNX 文件,推荐使用 Xenova 提供的模型--engine ctranslate2: 仅支持 BERT 模型最新的模型趋势可查看 MTEB 排行榜:[***]
Infinity 已正式集成到 Langchain(需要 langchain>=0.342):
from langchain.embeddings.infinity import InfinityEmbeddings from langchain.docstore.document import Document documents = [Document(page_content="Hello world!", metadata={"source": "unknown"})] emb_model = InfinityEmbeddings(model="BAAI/bge-small", infinity_api_url="http://localhost:7997/v1") print(emb_model.embed_documents([doc.page_content for doc in documents]))
http://localhost:7997/docs免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429