Home
Login
bentoml/BentoML

La forma más sencilla de implementar aplicaciones y servicios de modelos de IA: cree API de inferencia de modelos, colas de tareas, aplicaciones LLM, canalizaciones de modelos múltiples, etc.

Apache-2.0Python 7.8kbentoml Last Updated: 2025-06-13
https://github.com/bentoml/BentoML

Introducción Detallada al Proyecto BentoML

Resumen

BentoML es una potente biblioteca de Python diseñada específicamente para construir aplicaciones de IA en línea y sistemas de servicio de inferencia de modelos. Considerada como "la forma más sencilla de servir aplicaciones e inferencia de modelos de IA", ayuda a los desarrolladores a construir fácilmente API de inferencia de modelos, colas de tareas, aplicaciones de modelos de lenguaje grandes, pipelines de modelos múltiples y otros sistemas complejos de servicios de IA.

La idea central de BentoML es simplificar, hacer más eficiente y confiable el despliegue de modelos de IA desde el entorno de desarrollo al entorno de producción. A través de flujos de trabajo estandarizados y potentes funciones de optimización, BentoML reduce significativamente la barrera técnica para el despliegue de modelos de IA, permitiendo a los desarrolladores centrarse en el modelo en sí en lugar de la complejidad del despliegue.

Funciones y Características Principales

🍱 Simplificación de la Construcción de APIs

  • Simple y Rápido: Con solo unas pocas líneas de código y sugerencias de tipo estándar de Python, puede convertir cualquier script de inferencia de modelos en un servidor de API REST.
  • Independiente del Framework: Soporta cualquier framework de aprendizaje automático, incluyendo PyTorch, TensorFlow, Scikit-learn, etc.
  • Soporte Integral de Modalidades: Soporta múltiples modalidades de datos como texto, imagen, audio, video, etc.

🐳 Simplificación de la Contenedorización con Docker

  • Gestión de Dependencias: ¡Diga adiós al infierno de las dependencias! Gestione el entorno, las dependencias y las versiones de los modelos a través de archivos de configuración sencillos.
  • Generación Automática: BentoML genera automáticamente imágenes de Docker, asegurando la reproducibilidad.
  • Consistencia del Entorno: Simplifica el proceso de despliegue en diferentes entornos, asegurando la consistencia entre los entornos de desarrollo y producción.

🧭 Optimización del Rendimiento

  • Maximización de la Utilización de CPU/GPU: Construya APIs de inferencia de alto rendimiento a través de funciones de optimización de servicios integradas.
  • Procesamiento por Lotes Dinámico: Procesa automáticamente las solicitudes por lotes para aumentar el rendimiento.
  • Paralelismo de Modelos: Soporta el procesamiento paralelo de modelos para acelerar la inferencia.
  • Pipelines Multietapa: Soporta pipelines de inferencia complejos de múltiples etapas.
  • Orquestación de Modelos Múltiples: Orquestación inteligente de gráficos de inferencia de modelos múltiples.

👩‍💻 Totalmente Personalizable

  • Diseño de API Flexible: Implemente fácilmente APIs personalizadas o colas de tareas.
  • Integración de Lógica de Negocio: Soporta lógica de negocio personalizada, inferencia de modelos y combinación de modelos múltiples.
  • Soporte de Tiempo de Ejecución: Soporta cualquier tiempo de ejecución de inferencia y entorno de despliegue.

🚀 Listo para Producción

  • Desarrollo Local: Desarrolle, ejecute y depure en un entorno local.
  • Despliegue Sin Problemas: Despliegue sin problemas en un entorno de producción a través de contenedores Docker o BentoCloud.
  • Soporte Nativo de la Nube: Soluciones completas de despliegue nativas de la nube.

Ejemplo de Inicio Rápido

Instalación

# Requiere Python ≥ 3.9
pip install -U bentoml

Definición del Servicio

import bentoml

@bentoml.service(
    image=bentoml.images.Image(python_version="3.11").python_packages("torch", "transformers"),
)
class Summarization:
    def __init__(self) -> None:
        import torch
        from transformers import pipeline
        device = "cuda" if torch.cuda.is_available() else "cpu"
        self.pipeline = pipeline('summarization', device=device)

    @bentoml.api(batchable=True)
    def summarize(self, texts: list[str]) -> list[str]:
        results = self.pipeline(texts)
        return [item['summary_text'] for item in results]

Ejecución Local

bentoml serve

Construcción y Contenedorización

bentoml build
bentoml containerize summarization:latest
docker run --rm -p 3000:3000 summarization:latest

Rico Ecosistema

Modelos de Lenguaje Grandes (LLMs)

  • Llama 3.2: Soporte para el modelo de instrucciones visuales de 11B
  • Mistral: Modelo de instrucciones Ministral-8B
  • DeepSeek Distil: Modelo optimizado para la llamada de herramientas

Generación de Imágenes

  • Stable Diffusion 3 Medium: Generación de imágenes de alta calidad
  • Stable Video Diffusion: Capacidad de generación de video
  • SDXL Turbo: Generación rápida de imágenes
  • ControlNet: Generación de imágenes controlable
  • LCM LoRAs: Adaptación de modelos de bajo costo

Modelos de Inserción (Embedding)

  • SentenceTransformers: Inserción de texto
  • ColPali: Recuperación multimodal

Procesamiento de Audio

  • ChatTTS: Texto a voz conversacional
  • XTTS: Síntesis de voz multilingüe
  • WhisperX: Reconocimiento de voz
  • Bark: Generación de audio

Visión por Computadora

  • YOLO: Detección de objetos
  • ResNet: Clasificación de imágenes

Aplicaciones Avanzadas

  • Function Calling: Capacidad de llamada de funciones
  • LangGraph: Integración de gráficos de lenguaje
  • CrewAI: Sistema multiagente

Características Avanzadas

Composición y Orquestación de Modelos

  • Composición de Modelos: Soporta el uso combinado de múltiples modelos.
  • Procesamiento Paralelo: Soporte para paralelización de trabajadores y modelos.
  • Procesamiento por Lotes Adaptativo: Ajusta automáticamente el tamaño del lote según la carga.

Optimización del Rendimiento

  • Inferencia en GPU: Soporte completo de aceleración de GPU.
  • Servicio Distribuido: Construcción de sistemas de inferencia distribuidos.
  • Concurrencia y Autoescalado: Gestión inteligente de recursos.

Soporte de Operaciones

  • Carga y Gestión de Modelos: Almacenamiento y gestión unificados de modelos.
  • Observabilidad: Monitoreo y registro completos.
  • Despliegue en la Nube: Despliegue con un solo clic en BentoCloud.

Integración con BentoCloud

BentoCloud proporciona infraestructura de computación para la adopción rápida y confiable de GenAI, ayudando a acelerar el proceso de desarrollo de BentoML y simplificando el despliegue, la escalabilidad y la operación de BentoML en entornos de producción.

Principales Ventajas

  • Despliegue Rápido: Despliegue en la nube con un solo clic.
  • Autoescalado: Ajusta automáticamente los recursos según la carga.
  • Soporte Empresarial: Proporciona servicios de seguridad y soporte de nivel empresarial.

Comunidad y Ecosistema

Comunidad Activa

  • Comunidad Slack: Miles de ingenieros de IA/ML se ayudan mutuamente, contribuyen a proyectos y discuten la construcción de productos de IA.
  • Soporte de GitHub: Comunidad de código abierto activa, actualizaciones continuas de funciones y corrección de errores.
  • Documentación Completa: Documentación detallada y guías de tutoriales.

Privacidad y Seguridad de Datos

El framework BentoML recopila datos de uso anónimos para ayudar a la comunidad a mejorar el producto, pero protege estrictamente la privacidad del usuario:

  • Solo Llamadas Internas de API: Solo informa las llamadas internas de API de BentoML.
  • Exclusión de Información Sensible: No incluye código de usuario, datos de modelos, nombres de modelos o seguimientos de pila.
  • Opción de Salida: Los usuarios pueden optar por no participar en el seguimiento a través de opciones de CLI o variables de entorno.

Conclusión

BentoML es una plataforma revolucionaria para el despliegue de modelos de IA que ha resuelto con éxito el problema de la "última milla" del despliegue de la IA desde el laboratorio al entorno de producción. A través de su diseño de API conciso, su potente optimización del rendimiento, su soporte completo de contenedorización y su rico ecosistema, BentoML proporciona a los desarrolladores de IA una solución de servicio de modelos unificada, eficiente y escalable.

Ya sea un desarrollador individual o un equipo empresarial, ya sea una inferencia de modelo simple o un sistema complejo de modelos múltiples, BentoML puede proporcionar la solución correspondiente. Su filosofía de diseño nativa de la nube y el soporte de nivel empresarial de BentoCloud hacen de BentoML la herramienta preferida para el desarrollo y despliegue de aplicaciones de IA modernas.

Con el rápido desarrollo de la tecnología de IA, BentoML continúa evolucionando, integrando constantemente los últimos modelos y tecnologías de IA, y brindando un fuerte apoyo a los desarrolladores de IA para construir la próxima generación de aplicaciones inteligentes.