Overview of F5-TTS Backbone Architectures
mainunett.py, dit.py, and mmdit.py. These architectures differ in their structural approach to handling text embeddings, noise, and conditioning.repository·main·Indexed 27 days ago
https://github.com/xorbitsai/inferenceA versatile model serving library for language, speech, and multimodal models designed for simplified deployment across distributed and heterogeneous hardware. Includes guides for benchmarking latency and throughput, local development of the Next.js frontend, and comprehensive cluster monitoring using Prometheus, Grafana dashboards, and Filebeat log collection.
unett.py, dit.py, and mmdit.py. These architectures differ in their structural approach to handling text embeddings, noise, and conditioning.Xinference provides two primary methods for image-related tasks via OpenAI-compatible endpoints:
| API Type | OpenAI-compatible Endpoint |
|---|---|
| Text-to-Image | /v1/images/generations |
| Image-to-image | /v1/images/variations |
Xorbits Inference (Xinference) is a powerful and comprehensive distributed inference framework designed for deploying various models, including Large Language Models (LLM), speech recognition models, and multi-modal models. It allows users to deploy their own models or use built-in open-source models with a single command.
Key capabilities include:
ggml to leverage both GPU and CPU for inference, reducing latency and increasing throughput.LangChain, LlamaIndex, Dify, and Chatbox.Xorbits Inference (Xinference) is a library for deploying language models, speech recognition, and multimodal models.
Key Capabilities:
Comparison with other frameworks: Unlike FastChat or OpenLLM, Xinference supports multi-node cluster deployment, diverse inference engines (GGML, TensorRT), and a wide range of model types including image (Text-to-Image), text embeddings, multimodal, and voice models.
Xinference is structured into several key modules that handle different aspects of model serving:
oauth2).oscar Actor Client for cluster interaction and a restful client for service interaction.worker.py & supervisor.py: Logic for worker actors (computation) and supervisor actors (lifecycle management and scheduling).model.py: Defines the Model Actor, which handles inference requests and data streams.status_guard.py: Monitors model statuses (creating, updating, terminating) via UIDs.cache_tracker.py: Manages model version cache locations and information.metrics.py & resource.py: Collects throughput, latency, CPU/GPU, and memory usage.event.py: Gathers runtime events like warnings and errors.Xinference (Xorbits Inference) is a library for deploying large language models (LLMs), speech recognition models, and multimodal models.
Key capabilities include:
deepseek-r1-distill-qwen model is a distilled version of DeepSeek-R1 based on the Qwen architecture. It supports chat and reasoning abilities and has a context length of 131,072 tokens. It is optimized for English (en) and Chinese (zh) languages.qwen2.5-coder-instruct model is a code-specific large language model (formerly CodeQwen) designed for chat and tool-use capabilities. It supports English and Chinese languages.Xinference supports Flexible Models for running traditional machine learning models alongside LLMs. This includes built-in support for HuggingFace Pipelines, ModelScope Pipelines, and YOLO for computer vision tasks.
Note: This feature was added in v1.7.1. The API is currently experimental and may change.
Xinference is built on the Xoscar actor framework. Each actor is a basic unit for model inference and can utilize specific CPU cores or GPU devices. Actors are hosted in asynchronous, non-blocking actor pools.
Key concepts for developers extending the system:
launch_model, list_models, or terminate_model within a class inheriting from xoscar.Actor.__post_create__ for initialization after an actor is created and __pre_destroy__ for cleanup before destruction.worker_ref.launch_model()), even synchronous methods are treated as asynchronous.import xoscar as xo
class WorkerActor(xo.Actor):
def __init__(self, *args, **kwargs):
...
async def launch_model(self, model_id, n_gpu, ...):
# launch an inference engine, use specific model class to load model checkpoints
...
async def list_models(self):
# list models on this actor
...
async def terminate_model(self, model_id):
# terminate the model
...
async def __post_create__(self):
# called after the actor instance is created
...
async def __pre_destroy__(self):
# called before the actor instance is destroyed
...Xinference provides two parallel monitoring systems for observability. You can use them independently or simultaneously depending on your infrastructure requirements:
Prometheus (Pull Model):
aioprometheus./metrics endpoint for scraping.XINFERENCE_DISABLE_METRICS=1.OpenTelemetry (Push Model):
opentelemetry-python.XINFERENCE_ENABLE_OTEL=true.