michaelfeil/infinity

Infinity is a high-throughput, low-latency serving engine for text-embeddings, reranking models, clip, clap and colpali

解决的问题

Infinity 提供了一个高吞吐量、低延迟的 REST API,用于服务检索增强生成 (RAG) 和搜索中使用的各种 AI 模型。它简化了来自 HuggingFace 的嵌入、重排序和多模态模型的部署,无需为这些特定任务构建自定义推理服务器。

运作原理

Infinity 基于 FastAPI 构建,使用 PyTorch、Optimum (ONNX/TensorRT) 和 CTranslate2 等快速推理后端来编排多个模型。它利用动态批处理、专用的分词工作线程和 FlashAttention,在包括 NVIDIA CUDA、AMD ROCm、CPU、AWS INF2 和 Apple MPS 在内的各种硬件加速器上优化性能。

目标用户

需要为搜索、聚类或多模态检索系统部署可扩展且与 OpenAI 兼容的嵌入和重排序服务的开发人员和机器学习工程师。

特色亮点

  • 广泛的模型支持:支持文本嵌入、重排序模型、CLIP、CLAP、ColBERT 和 ColPali 模型。
  • 硬件灵活性:支持多种加速器,包括 NVIDIA、AMD、Apple Silicon 和 CPU。
  • 与 OpenAI 兼容的 API:符合 OpenAI 的 API 规范,易于集成。
  • 多模型编排:能够通过单一 CLI 或环境变量同时启动和混合搭配多个模型。
  • 高效推理:实现动态批处理并支持实验性的 int8 和 fp8 精度。

相关

  • 项目
  • 项目
  • 项目
  • 项目