Last translated: 16 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

TensorZero Logo

TensorZero

#1 Repository Of The Day

TensorZero es una pila de código abierto para aplicaciones de LLM de grado industrial:

  • Gateway
    • Accede a todos los principales proveedores de LLM (API o autoalojados) a través de una única API unificada
    • Inferencia con streaming, uso de herramientas, generación estructurada (modo JSON), procesamiento por lotes, multimodal (VLMs), entradas de archivos, caché, etc.
    • Define plantillas de prompts y esquemas para garantizar una interfaz consistente y tipada entre tu aplicación y los LLMs
    • Satisface necesidades extremas de rendimiento y latencia, gracias a Rust: sobrecarga de latencia p99 <1ms a más de 10k QPS
    • Integra usando nuestro cliente Python, cualquier SDK de OpenAI o cliente compatible con OpenAI, o nuestra API HTTP (usa cualquier lenguaje de programación)
    • Garantiza alta disponibilidad con enrutamiento, reintentos, respaldos, balanceo de carga, tiempos de espera granulares, etc.
    • Próximamente: embeddings; voz en tiempo real
  • Observabilidad
    • Almacena inferencias y feedback (métricas, ediciones humanas, etc.) en tu propia base de datos
    • Explora inferencias individuales o patrones agregados de alto nivel usando la interfaz de TensorZero o programáticamente
    • Construye conjuntos de datos para optimización, evaluaciones y otros flujos de trabajo
    • Reproduce inferencias históricas con nuevos prompts, modelos, estrategias de inferencia, etc.
    • Exporta trazas OpenTelemetry (OTLP) a tu herramienta de observabilidad general favorita
    • Próximamente: depuración asistida por IA y análisis de causa raíz; etiquetado de datos asistido por IA
  • Optimización
    • Optimiza tus modelos con fine-tuning supervisado, RLHF y otras técnicas
    • Optimiza tus prompts con algoritmos automáticos de ingeniería de prompts como MIPROv2
    • Optimiza tu estrategia de inferencia con aprendizaje en contexto dinámico, cadena de pensamiento, muestreo best/mixture-of-N, etc.
    • Habilita un ciclo de feedback para tus LLMs: un volante de datos y aprendizaje que convierte datos de producción en modelos más inteligentes, rápidos y económicos
    • Próximamente: optimización programática; generación de datos sintéticos
  • Evaluaciones
    • Evalúa inferencias individuales con evaluaciones estáticas impulsadas por heurísticas o jueces LLM (≈ pruebas unitarias para LLMs)
    • Evalúa flujos de trabajo completos con evaluaciones dinámicas con total flexibilidad (≈ pruebas de integración para LLMs)
    • Optimiza jueces LLM como cualquier otra función de TensorZero para alinearlos con preferencias humanas
    • Próximamente: más evaluadores integrados; evaluaciones sin interfaz
  • Experimentación
    • Implementa con confianza gracias a pruebas A/B integradas para modelos, prompts, proveedores, hiperparámetros, etc.
    • Aplica experimentos fundamentados (RCTs) en flujos de trabajo complejos, incluyendo sistemas LLM multiturno y compuestos
    • Próximamente: bandidos multiarmados; experimentos gestionados por IA
  • ¡Y más!
    • Construye aplicaciones simples o despliegues masivos con orquestación compatible con GitOps
    • Extiende TensorZero con escapes integrados, uso prioritariamente programático, acceso directo a bases de datos y más
    • Integra con herramientas de terceros: observabilidad y evaluaciones especializadas, proveedores de modelos, frameworks de orquestación de agentes, etc.
    • Próximamente: playground de interfaz

Toma lo que necesites, adopta incrementalmente y complementa con otras herramientas.


Sitio web · Documentación · Twitter · Slack · Discord

Inicio rápido (5min) · Guía de despliegue · Referencia de API · Referencia de configuración


¿Qué es TensorZero?TensorZero es una pila de código abierto para aplicaciones de LLM de grado industrial. Unifica un gateway de LLM, observabilidad, optimización, evaluaciones y experimentación.
¿En qué se diferencia TensorZero de otros frameworks de LLM? 1. TensorZero te permite optimizar aplicaciones complejas de LLM basadas en métricas de producción y feedback humano.
2. TensorZero soporta las necesidades de aplicaciones de LLM de grado industrial: baja latencia, alto rendimiento, seguridad de tipos, autoalojamiento, GitOps, personalización, etc.
3. TensorZero unifica toda la pila de LLMOps, creando beneficios compuestos. Por ejemplo, las evaluaciones de LLM pueden usarse para fine-tuning de modelos junto con jueces de IA.
¿Puedo usar TensorZero con ___?Sí. Se soporta cualquier lenguaje de programación principal. Puedes usar TensorZero con nuestro cliente Python, cualquier SDK de OpenAI o cliente compatible con OpenAI, o nuestra API HTTP.
¿Está TensorZero listo para producción?Sí. Aquí hay un estudio de caso: Automatización de registros de cambios de código en un gran banco con LLMs
¿Cuánto cuesta TensorZero?Nada. TensorZero es 100% autoalojado y de código abierto. No hay características de pago.
¿Quién está construyendo TensorZero?Nuestro equipo técnico incluye a un antiguo mantenedor del compilador de Rust, investigadores de aprendizaje automático (Stanford, CMU, Oxford, Columbia) con miles de citas, y el director de producto de una startup decacorn. Estamos respaldados por los mismos inversores que proyectos de código abierto líderes (ej. ClickHouse, CockroachDB) y laboratorios de IA (ej. OpenAI, Anthropic).
¿Cómo empiezo?Puedes adoptar TensorZero incrementalmente. Nuestro Inicio rápido va desde un wrapper básico de OpenAI a una aplicación LLM lista para producción con observabilidad y fine-tuning en solo 5 minutos.

Características

🌐 Gateway de LLM

Integra con TensorZero una vez y accede a todos los principales proveedores de LLM.

Proveedores de ModelosCaracterísticas

El Gateway de TensorZero soporta nativamente:

¿Necesitas algo más? Es muy probable que tu proveedor sea compatible porque TensorZero se integra con cualquier API compatible con OpenAI (ej. Ollama).

El Gateway de TensorZero soporta características avanzadas como:

El Gateway de TensorZero está escrito en Rust 🦀 con rendimiento en mente (<1ms p99 sobrecarga de latencia @ 10k QPS). Ver Benchmarks.

Puedes ejecutar inferencias usando el cliente de TensorZero (recomendado), el cliente de OpenAI, o la API HTTP.


Uso: Python — Cliente de TensorZero (Recomendado)

Puedes acceder a cualquier proveedor usando el cliente Python de TensorZero.

  1. pip install tensorzero
  2. Opcional: Configura la configuración de TensorZero.
  3. Ejecuta inferencia:
from tensorzero import TensorZeroGateway  # or AsyncTensorZeroGateway


with TensorZeroGateway.build_embedded(clickhouse_url="...", config_file="...") as client:
    response = client.inference(
        model_name="openai::gpt-4o-mini",
        # Try other providers easily: "anthropic::claude-3-7-sonnet-20250219"
        input={
            "messages": [
                {
                    "role": "user",
                    "content": "Write a haiku about artificial intelligence.",
                }
            ]
        },
    )

Ver Inicio rápido para más información.

Uso: Python — Cliente de OpenAI

Puedes acceder a cualquier proveedor usando el cliente Python de OpenAI con TensorZero.

  1. pip install tensorzero
  2. Opcional: Configura la configuración de TensorZero.
  3. Ejecuta inferencia:
from openai import OpenAI  # or AsyncOpenAI
from tensorzero import patch_openai_client

client = OpenAI()

patch_openai_client(
    client,
    clickhouse_url="http://chuser:chpassword@localhost:8123/tensorzero",
    config_file="config/tensorzero.toml",
    async_setup=False,
)

response = client.chat.completions.create(
    model="tensorzero::model_name::openai::gpt-4o-mini",
    # Try other providers easily: "tensorzero::model_name::anthropic::claude-3-7-sonnet-20250219"
    messages=[
        {
            "role": "user",
            "content": "Write a haiku about artificial intelligence.",
        }
    ],
)

Ver Inicio rápido para más información.

Uso: JavaScript / TypeScript (Node) — Cliente de OpenAI

Puedes acceder a cualquier proveedor usando el cliente Node de OpenAI con TensorZero.

  1. Despliega tensorzero/gateway usando Docker. Instrucciones detalladas →
  2. Configura la configuración de TensorZero.
  3. Ejecuta inferencia:
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:3000/openai/v1",
});

const response = await client.chat.completions.create({
  model: "tensorzero::model_name::openai::gpt-4o-mini",
  // Try other providers easily: "tensorzero::model_name::anthropic::claude-3-7-sonnet-20250219"
  messages: [
    {
      role: "user",
      content: "Write a haiku about artificial intelligence.",
    },
  ],
});

Ver Inicio rápido para más información.

Uso: Otros Lenguajes y Plataformas — API HTTP

TensorZero soporta prácticamente cualquier lenguaje de programación o plataforma a través de su API HTTP.

  1. Despliega tensorzero/gateway usando Docker. Instrucciones detalladas →
  2. Opcional: Configura la configuración de TensorZero.
  3. Ejecuta inferencia:
curl -X POST "http://localhost:3000/inference" \
  -H "Content-Type: application/json" \
  -d '{
    "model_name": "openai::gpt-4o-mini",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": "Write a haiku about artificial intelligence."
        }
      ]
    }
  }'

Ver Inicio rápido para más información.


📈 Optimización de LLM

Envía métricas de producción y feedback humano para optimizar fácilmente tus prompts, modelos y estrategias de inferencia — usando la interfaz o programáticamente.

Optimización de Modelos

Optimiza modelos de código cerrado y abierto usando fine-tuning supervisado (SFT) y fine-tuning por preferencias (DPO).

Fine-tuning supervisado — InterfazFine-tuning por preferencias (DPO) — Jupyter Notebook

Optimización en Tiempo de Inferencia

Mejora el rendimiento actualizando dinámicamente tus prompts con ejemplos relevantes, combinando respuestas de múltiples inferencias, y más.

Muestreo Best-of-NMuestreo Mixture-of-N
Aprendizaje en Contexto Dinámico (DICL)Cadena de Pensamiento (CoT)

Próximamente más...


Optimización de Prompts

Optimiza tus prompts programáticamente usando técnicas de optimización basadas en investigación.

MIPROv2Integración con DSPy
Diagrama de MIPROv2 TensorZero incluye varias recetas de optimización, pero también puedes crear las tuyas fácilmente. Este ejemplo muestra cómo optimizar una función de TensorZero utilizando una herramienta arbitraria — en este caso, DSPy, una biblioteca popular para la ingeniería automática de prompts.

Próximamente más...


🔍 Observabilidad de LLM

Amplía para depurar llamadas individuales a la API, o reduce para monitorear métricas entre modelos y prompts a lo largo del tiempo — todo usando la interfaz de usuario de código abierto de TensorZero.

Observabilidad » InferenciaObservabilidad » Función

📊 Evaluaciones de LLM

Compara prompts, modelos y estrategias de inferencia usando Evaluaciones de TensorZero — con soporte para heurísticas y jueces basados en LLM.

Evaluación » InterfazEvaluación » CLI
docker compose run --rm evaluations \
  --evaluation-name extract_data \
  --dataset-name hard_test_cases \
  --variant-name gpt_4o \
  --concurrency 5
Run ID: 01961de9-c8a4-7c60-ab8d-15491a9708e4
Number of datapoints: 100
██████████████████████████████████████ 100/100
exact_match: 0.83 ± 0.03
semantic_match: 0.98 ± 0.01
item_count: 7.15 ± 0.39

Demostración

¡Observa cómo los LLM mejoran en la extracción de datos en tiempo real con TensorZero!

Aprendizaje dinámico en contexto (DICL) es una potente optimización durante la inferencia disponible directamente en TensorZero. Mejora el rendimiento de los LLM incorporando automáticamente ejemplos históricos relevantes en el prompt, sin necesidad de ajuste fino del modelo.

https://github.com/user-attachments/assets/4df1022e-886e-48c2-8f79-6af3cdad79cb

Comienza

Empieza a construir hoy mismo. La Guía Rápida muestra lo fácil que es configurar una aplicación con LLM usando TensorZero.

¿Preguntas? Pregúntanos en Slack o Discord.

¿Usas TensorZero en el trabajo? Escríbenos a [email protected] para configurar un canal de Slack o Teams con tu equipo (gratis).

Trabaja con nosotros. Estamos contratando en NYC. También agradecemos contribuciones de código abierto.

Ejemplos

Estamos trabajando en una serie de ejemplos ejecutables completos que ilustran el ciclo de datos y aprendizaje de TensorZero.

Optimización de Extracción de Datos (NER) con TensorZero

Este ejemplo muestra cómo usar TensorZero para optimizar un pipeline de extracción de datos. Demostramos técnicas como ajuste fino y aprendizaje dinámico en contexto (DICL). Al final, un modelo optimizado GPT-4o Mini supera a GPT-4o en esta tarea — con una fracción del costo y latencia — usando una pequeña cantidad de datos de entrenamiento.

RAG Agéntico — Respuesta a Preguntas Multi-Etapas con LLMs

Este ejemplo muestra cómo construir un agente de recuperación multi-etapa usando TensorZero. El agente busca iterativamente en Wikipedia para recopilar información y decide cuándo tiene suficiente contexto para responder una pregunta compleja.

Escribiendo Haikus para Satisfacer un Juez con Preferencias Ocultas

Este ejemplo ajusta GPT-4o Mini para generar haikus adaptados a un gusto específico. Verás el "ciclo de datos en una caja" de TensorZero en acción: mejores variantes llevan a mejores datos, y mejores datos llevan a mejores variantes. Verás progreso al ajustar el LLM múltiples veces.

Mejorando la Habilidad de Ajedrez de un LLM con Muestreo Best-of-N

Este ejemplo muestra cómo el muestreo best-of-N puede mejorar significativamente las habilidades de ajedrez de un LLM seleccionando los movimientos más prometedores entre múltiples opciones generadas.

Mejorando el Razonamiento Matemático con una Receta Personalizada para Ingeniería Automática de Prompts (DSPy)

TensorZero proporciona varias recetas de optimización preconstruidas que cubren flujos de trabajo comunes de ingeniería de LLM. ¡Pero también puedes crear fácilmente tus propias recetas y flujos de trabajo! Este ejemplo muestra cómo optimizar una función de TensorZero usando una herramienta arbitraria — en este caso, DSPy.

¡Y muchos más en camino!