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 ist ein Open-Source-Stack für industrietaugliche LLM-Anwendungen:

  • Gateway
    • Zugriff auf alle großen LLM-Anbieter (API oder selbst gehostet) über eine einheitliche API
    • Inferenz mit Streaming, Tool-Nutzung, strukturierter Generierung (JSON-Modus), Batch-Verarbeitung, multimodalen Eingaben (VLMs), Dateiinputs, Caching etc.
    • Definieren von Prompt-Vorlagen und Schemas für eine konsistente, typisierte Schnittstelle zwischen Anwendung und LLMs
    • Erfüllung extremer Durchsatz- und Latenzanforderungen dank Rust: <1ms p99 Latenzoverhead bei 10k+ QPS
    • Integration über unseren Python-Client, beliebige OpenAI-SDKs oder OpenAI-kompatible Clients oder unsere HTTP-API (nutzbar mit jeder Programmiersprache)
    • Gewährleistung hoher Verfügbarkeit durch Routing, Retries, Fallbacks, Lastenausgleich, granulare Timeouts etc.
    • Bald: Embeddings; Echtzeit-Sprache
  • Observability
    • Speicherung von Inferenzen und Feedback (Metriken, manuelle Bearbeitungen etc.) in Ihrer eigenen Datenbank
    • Analyse einzelner Inferenzen oder aggregierter Muster über die TensorZero-UI oder programmatisch
    • Erstellung von Datensätzen für Optimierung, Evaluierungen und andere Workflows
    • Wiedergabe historischer Inferenzen mit neuen Prompts, Modellen, Inferenzstrategien etc.
    • Export von OpenTelemetry (OTLP)-Traces zu Ihrem bevorzugten Observability-Tool
    • Bald: KI-gestütztes Debugging und Root-Cause-Analyse; KI-gestütztes Data-Labeling
  • Optimization
    • Optimierung Ihrer Modelle durch Supervised Fine-Tuning, RLHF und andere Techniken
    • Optimierung Ihrer Prompts durch automatisierte Prompt-Engineering-Algorithmen wie MIPROv2
    • Optimierung Ihrer Inferenzstrategie durch dynamisches In-Context-Learning, Chain-of-Thought, Best/Mixture-of-N-Sampling etc.
    • Einrichtung eines Feedback-Loops für Ihre LLMs: Eine Daten- & Lernschleife, die Produktionsdaten in intelligentere, schnellere und kostengünstigere Modelle umwandelt
    • Bald: programmatische Optimierung; synthetische Datengenerierung
  • Evaluations
    • Evaluierung einzelner Inferenzen mit statischen Evaluierungen basierend auf Heuristiken oder LLM-Judges (≈ Unit-Tests für LLMs)
    • Evaluierung end-to-end Workflows mit dynamischen Evaluierungen mit voller Flexibilität (≈ Integrationstests für LLMs)
    • Optimierung von LLM-Judges wie jede andere TensorZero-Funktion, um sie an menschliche Präferenzen anzupassen
    • Bald: mehr integrierte Evaluatoren; headless Evaluierungen
  • Experimentation
    • Sichere Auslieferung mit integriertem A/B-Testing für Modelle, Prompts, Anbieter, Hyperparameter etc.
    • Durchführung prinzipiengetreuer Experimente (RCTs) in komplexen Workflows, einschließlich mehrstufiger und zusammengesetzter LLM-Systeme
    • Bald: Multi-Armed Bandits; KI-gesteuerte Experimente
  • & mehr!
    • Entwicklung einfacher Anwendungen oder massiver Deployments mit GitOps-fähiger Orchestrierung
    • Erweiterung von TensorZero mit integrierten Escape-Hatches, programmatischer Nutzung, direktem Datenbankzugriff und mehr
    • Integration mit Drittanbietertools: Spezialisierte Observability- und Evaluationslösungen, Model-Provider, Agent-Orchestrierungsframeworks etc.
    • Bald: UI-Playground

Nutzen Sie, was Sie benötigen, führen Sie schrittweise ein und ergänzen Sie mit anderen Tools.


Website · Dokumentation · Twitter · Slack · Discord

Schnellstart (5 Min.) · Deployment-Leitfaden · API-Referenz · Konfigurationsreferenz


Was ist TensorZero?TensorZero ist ein Open-Source-Stack für industrietaugliche LLM-Anwendungen. Er vereint ein LLM-Gateway, Observability, Optimierung, Evaluierungen und Experimentation.
Wie unterscheidet sich TensorZero von anderen LLM-Frameworks? 1. TensorZero ermöglicht die Optimierung komplexer LLM-Anwendungen basierend auf Produktionsmetriken und menschlichem Feedback.
2. TensorZero unterstützt die Anforderungen industrietauglicher LLM-Anwendungen: niedrige Latenz, hoher Durchsatz, Typsicherheit, Self-Hosting, GitOps, Anpassbarkeit etc.
3. TensorZero vereint den gesamten LLMOps-Stack, was synergetische Vorteile schafft. Beispielsweise können LLM-Evaluierungen für das Fine-Tuning von Modellen neben KI-Judges genutzt werden.
Kann ich TensorZero mit ___ verwenden?Ja. Alle gängigen Programmiersprachen werden unterstützt. Sie können TensorZero mit unserem Python-Client, beliebigen OpenAI-SDKs oder OpenAI-kompatiblen Clients oder unserer HTTP-API nutzen.
Ist TensorZero produktionsreif?Ja. Hier ein Fallbeispiel: Automatisierung von Code-Changelogs in einer Großbank mit LLMs
Was kostet TensorZero?Nichts. TensorZero ist 100% selbst gehostet und Open-Source. Es gibt keine kostenpflichtigen Features.
Wer entwickelt TensorZero?Unser technisches Team umfasst einen ehemaligen Rust-Compiler-Maintainer, Machine-Learning-Forscher (Stanford, CMU, Oxford, Columbia) mit tausenden Zitationen und den Chief Product Officer eines Decacorn-Startups. Wir werden von denselben Investoren unterstützt wie führende Open-Source-Projekte (z.B. ClickHouse, CockroachDB) und KI-Labore (z.B. OpenAI, Anthropic).
Wie starte ich?Sie können TensorZero schrittweise einführen. Unser Schnellstart führt Sie in nur 5 Minuten von einem einfachen OpenAI-Wrapper zu einer produktionsreifen LLM-Anwendung mit Observability und Fine-Tuning.

Funktionen

🌐 LLM-Gateway

Integrieren Sie sich einmal mit TensorZero und erhalten Sie Zugriff auf alle großen LLM-Anbieter.

Model-ProviderFunktionen

Das TensorZero-Gateway unterstützt nativ:

Fehlt etwas? Ihr Provider wird höchstwahrscheinlich unterstützt, da TensorZero mit jeder OpenAI-kompatiblen API (z.B. Ollama) integriert.

Das TensorZero-Gateway unterstützt erweiterte Funktionen wie:

Das TensorZero-Gateway ist in Rust 🦀 mit Fokus auf Performance entwickelt (<1ms p99 Latenzoverhead @ 10k QPS). Siehe Benchmarks.

Sie können Inferenzen mit dem TensorZero-Client (empfohlen), dem OpenAI-Client oder der HTTP-API durchführen.


Nutzung: Python — TensorZero-Client (Empfohlen)

Sie können jeden Provider über den TensorZero-Python-Client nutzen.

  1. pip install tensorzero
  2. Optional: TensorZero-Konfiguration einrichten.
  3. Inferenz durchführen:
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.",
                }
            ]
        },
    )

Weitere Informationen im Schnellstart.

Nutzung: Python — OpenAI-Client

Sie können jeden Provider über den OpenAI-Python-Client mit TensorZero nutzen.

  1. pip install tensorzero
  2. Optional: TensorZero-Konfiguration einrichten.
  3. Inferenz durchführen:
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.",
        }
    ],
)

Weitere Informationen im Schnellstart.

Nutzung: JavaScript/TypeScript (Node) — OpenAI-Client

Sie können jeden Provider über den OpenAI-Node-Client mit TensorZero nutzen.

  1. tensorzero/gateway per Docker bereitstellen. Detaillierte Anleitung →
  2. TensorZero-Konfiguration einrichten.
  3. Inferenz durchführen:
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.",
    },
  ],
});

Weitere Informationen im Schnellstart.

Nutzung: Andere Sprachen & Plattformen — HTTP-API

TensorZero unterstützt praktisch jede Programmiersprache oder Plattform über seine HTTP-API.

  1. tensorzero/gateway per Docker bereitstellen. Detaillierte Anleitung →
  2. Optional: TensorZero-Konfiguration einrichten.
  3. Inferenz durchführen:
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."
        }
      ]
    }
  }'

Weitere Informationen im Schnellstart.


📈 LLM-Optimierung

Senden Sie Produktionsmetriken und menschliches Feedback, um Ihre Prompts, Modelle und Inferenzstrategien einfach zu optimieren — über die UI oder programmatisch.

Modelloptimierung

Optimieren Sie Closed-Source- und Open-Source-Modelle mit Supervised Fine-Tuning (SFT) und Preference Fine-Tuning (DPO).

Supervised Fine-Tuning — UIPreference Fine-Tuning (DPO) — Jupyter Notebook

Inferenzzeit-Optimierung

Steigern Sie die Performance durch dynamische Anpassung Ihrer Prompts mit relevanten Beispielen, Kombination von Antworten aus mehreren Inferenzen und mehr.

Best-of-N-SamplingMixture-of-N-Sampling
Dynamic In-Context Learning (DICL)Chain-of-Thought (CoT)

Mehr demnächst...


Prompt-Optimierung

Optimieren Sie Ihre Prompts programmatisch mit forschungsbasierten Optimierungstechniken.

MIPROv2DSPy Integration
MIPROv2 diagram TensorZero bietet mehrere vordefinierte Optimierungsrezepte, aber Sie können auch ganz einfach eigene erstellen. Dieses Beispiel zeigt, wie Sie eine TensorZero-Funktion mit einem beliebigen Tool optimieren können – hier DSPy, eine beliebte Bibliothek für automatisiertes Prompt-Engineering.

Weitere Beispiele folgen in Kürze...


🔍 LLM-Observabilität

Zoomen Sie herein, um einzelne API-Aufrufe zu debuggen, oder heraus, um Metriken über Modelle und Prompts im Zeitverlauf zu überwachen – alles mit der Open-Source-TensorZero-UI.

Observabilität » InferenzObservabilität » Funktion

📊 LLM-Evaluierungen

Vergleichen Sie Prompts, Modelle und Inferenzstrategien mit TensorZero Evaluations – mit Unterstützung für Heuristiken und LLM-Judges.

Evaluation » UIEvaluation » 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

Demo

Beobachten Sie in Echtzeit, wie LLMs mit TensorZero besser in der Datenextraktion werden!

Dynamisches In-Context-Learning (DICL) ist eine leistungsstarke Inferenzzeit-Optimierung, die standardmäßig in TensorZero verfügbar ist. Es verbessert die LLM-Leistung, indem automatisch relevante historische Beispiele in den Prompt integriert werden – ohne dass ein Modell-Fine-Tuning erforderlich ist.

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

Erste Schritte

Beginnen Sie noch heute mit dem Aufbau. Der Schnellstart zeigt, wie einfach es ist, eine LLM-Anwendung mit TensorZero einzurichten.

Fragen? Fragen Sie uns auf Slack oder Discord.

Verwenden Sie TensorZero im Beruf? Schreiben Sie uns eine E-Mail an [email protected], um einen Slack- oder Teams-Kanal für Ihr Team einzurichten (kostenlos).

Arbeiten Sie mit uns. Wir stellen in NYC ein. Wir freuen uns auch über Open-Source-Beiträge!

Beispiele

Wir arbeiten an einer Reihe von vollständig ausführbaren Beispielen, die den Daten- & Lern-Flywheel von TensorZero veranschaulichen.

Optimierung der Datenextraktion (NER) mit TensorZero

Dieses Beispiel zeigt, wie Sie TensorZero zur Optimierung einer Datenextraktions-Pipeline verwenden können. Wir demonstrieren Techniken wie Fine-Tuning und dynamisches In-Context-Learning (DICL). Am Ende übertrifft ein optimiertes GPT-4o Mini-Modell GPT-4o bei dieser Aufgabe – bei einem Bruchteil der Kosten und Latenz – unter Verwendung einer kleinen Menge an Trainingsdaten.

Agentisches RAG – Multi-Hop-Fragebeantwortung mit LLMs

Dieses Beispiel zeigt, wie Sie einen Multi-Hop-Retrieval-Agenten mit TensorZero erstellen können. Der Agent durchsucht iterativ Wikipedia, um Informationen zu sammeln, und entscheidet, wann er genug Kontext hat, um eine komplexe Frage zu beantworten.

Haikus schreiben, um einen Judge mit versteckten Präferenzen zu überzeugen

Dieses Beispiel trainiert GPT-4o Mini so, dass es Haikus nach einem bestimmten Geschmack generiert. Sie sehen den "Daten-Flywheel in einer Box" von TensorZero in Aktion: Bessere Varianten führen zu besseren Daten, und bessere Daten führen zu besseren Varianten. Sie sehen Fortschritte durch mehrfaches Fine-Tuning des LLM.

Verbesserung der Schachfähigkeiten von LLMs mit Best-of-N-Sampling

Dieses Beispiel zeigt, wie Best-of-N-Sampling die Schachfähigkeiten eines LLM erheblich verbessern kann, indem die vielversprechendsten Züge aus mehreren generierten Optionen ausgewählt werden.

Verbesserung des mathematischen Denkens mit einem benutzerdefinierten Rezept für automatisiertes Prompt-Engineering (DSPy)

TensorZero bietet eine Reihe vordefinierter Optimierungsrezepte für gängige LLM-Engineering-Workflows. Aber Sie können auch ganz einfach eigene Rezepte und Workflows erstellen! Dieses Beispiel zeigt, wie Sie eine TensorZero-Funktion mit einem beliebigen Tool optimieren können – hier DSPy.

& viele weitere folgen!