tensorzero
App Archived
TensorZero is an open-source LLMOps platform that unifies an LLM gateway, observability, evaluation, optimization, and experimentation.
- Downloads
- 35
- Dependents
- Not applicable
- Stars
- 11,705
- Forks
- 966
- Contributors
- 117
- Commits
- 4,100
- Latest release
- 0.0.0 ·
Why Archived
GitHub reports the repository as archived.
Check notes
- published from commit 0dc7ab01b16cfe9df7d54815167f8af7a05cccbe that no branch or tag of the repo holds
Exact rules: Instant archive. The check on applied thresholds version 9.
Every rule outcome, as the check records it
instant-archive: repository is archived
About
TensorZero is an open-source LLMOps platform that unifies:
- Gateway: access every LLM provider through a unified API, built for performance (<1ms p99 latency)
- Observability: store inferences and feedback in your database, available programmatically or in the UI
- Evaluation: benchmark individual inferences or end-to-end workflows using heuristics, LLM judges, etc.
- Optimization: collect metrics and human feedback to optimize prompts, models, and inference strategies
- Experimentation: ship with confidence with built-in A/B testing, routing, fallbacks, retries, etc.
You can take what you need, adopt incrementally, and complement with other tools. It plays nicely with the OpenAI SDK, OpenTelemetry, and every major LLM provider.
TensorZero is used by companies ranging from frontier AI startups to the Fortune 10 and fuels ~1% of global LLM API spend today.
Website
·
Docs
·
Twitter
·
Slack
·
Discord
Quick Start (5min)
·
Deployment Guide
·
API Reference
·
Configuration Reference
Read the full README
Demo
Features
[!NOTE]
🆕 TensorZero Autopilot
TensorZero Autopilot is an automated AI engineer powered by TensorZero that analyzes LLM observability data, sets up evals, optimizes prompts and models, and runs A/B tests.
It dramatically improves the performance of LLM agents across diverse tasks:
![]()
🌐 LLM Gateway
Integrate with TensorZero once and access every major LLM provider.
- [x] Call any LLM (API or self-hosted) through a single unified API
- [x] Infer with tool use, structured outputs (JSON), batch, embeddings, multimodal (images, files), caching, etc.
- [x] Create prompt templates and schemas to enforce a structured interface between your application and the LLMs
- [x] Satisfy extreme throughput and latency needs, thanks to 🦀 Rust: <1ms p99 latency overhead at 10k+ QPS
- [x] Ensure high availability with routing, retries, fallbacks, load balancing, granular timeouts, etc.
- [x] Track usage and cost and enforce custom rate limits with granular scopes (e.g. tags)
- [x] Set up auth for TensorZero to allow clients to access models without sharing provider API keys
Supported Model Providers
Anthropic, AWS Bedrock, AWS SageMaker, Azure, DeepSeek, Fireworks, GCP Vertex AI Anthropic, GCP Vertex AI Gemini, Google AI Studio (Gemini API), Groq, Hyperbolic, Mistral, OpenAI, OpenRouter, SGLang, TGI, Together AI, vLLM, and xAI (Grok).
Need something else? TensorZero also supports any OpenAI-compatible API (e.g. Ollama).
Usage Example
You can use TensorZero with any OpenAI SDK (Python, Node, Go, etc.) or OpenAI-compatible client.
- Deploy the TensorZero Gateway (one Docker container).
- Update the
base_urlandmodelin your OpenAI-compatible client. - Run inference:
from openai import OpenAI
# Point the client to the TensorZero Gateway
client = OpenAI(base_url="http://localhost:3000/openai/v1", api_key="not-used")
response = client.chat.completions.create(
# Call any model provider (or TensorZero function)
model="tensorzero::model_name::anthropic::claude-sonnet-4-6",
messages=[
{
"role": "user",
"content": "Share a fun fact about TensorZero.",
}
],
)
See Quick Start for more information.
🔍 LLM Observability
Zoom in to debug individual API calls, or zoom out to monitor metrics across models and prompts over time — all using the open-source TensorZero UI.
- [x] Store inferences and feedback (metrics, human edits, etc.) in your own database
- [x] Dive into individual inferences or high-level aggregate patterns using the TensorZero UI or programmatically
- [x] Build datasets for optimization, evaluation, and other workflows
- [x] Replay historical inferences with new prompts, models, inference strategies, etc.
- [x] Export OpenTelemetry traces (OTLP) and export Prometheus metrics to your favorite application observability tools
- [ ] Soon: AI-assisted debugging and root cause analysis; AI-assisted data labeling
📈 LLM Optimization
Send production metrics and human feedback to easily optimize your prompts, models, and inference strategies — using the UI or programmatically.
- [x] Optimize your models with supervised fine-tuning, RLHF, and other techniques
- [x] Optimize your prompts with automated prompt engineering algorithms like GEPA
- [x] Optimize your inference strategy with dynamic in-context learning, best/mixture-of-N sampling, etc.
- [x] Enable a feedback loop for your LLMs: a data & learning flywheel turning production data into smarter, faster, and cheaper models
- [ ] Soon: synthetic data generation
📊 LLM Evaluation
Compare prompts, models, and inference strategies using evaluations powered by heuristics and LLM judges.
- [x] Evaluate individual inferences with inference evaluations powered by heuristics or LLM judges (≈ unit tests for LLMs)
- [x] Evaluate end-to-end workflows with workflow evaluations with complete flexibility (≈ integration tests for LLMs)
- [x] Optimize LLM judges just like any other TensorZero function to align them to human preferences
- [ ] Soon: more built-in evaluators; headless evaluations
| Evaluation » UI | Evaluation » CLI |
|
🧪 LLM Experimentation
Ship with confidence with built-in A/B testing, routing, fallbacks, retries, etc.
- [x] Run adaptive A/B tests to ship with confidence and identify the best prompts and models for your use cases.
- [x] Enforce principled experiments in complex workflows, including support for multi-turn LLM systems, sequential testing, and more.
& more!
Build with an open-source stack well-suited for prototypes but designed from the ground up to support the most complex LLM applications and deployments.
- [x] Build simple applications or massive deployments with GitOps-friendly orchestration
- [x] Extend TensorZero with built-in escape hatches, programmatic-first usage, direct database access, and more
- [x] Integrate with third-party tools: specialized observability and evaluations, model providers, agent orchestration frameworks, etc.
- [x] Iterate quickly by experimenting with prompts interactively using the Playground UI
Frequently Asked Questions
How is TensorZero different from other LLM frameworks?
- TensorZero enables you to optimize complex LLM applications based on production metrics and human feedback.
- TensorZero supports the needs of industrial-grade LLM applications: low latency, high throughput, type safety, self-hosted, GitOps, customizability, etc.
- TensorZero unifies the entire LLMOps stack, creating compounding benefits. For example, LLM evaluations can be used for fine-tuning models alongside AI judges.
Can I use TensorZero with ___?
Yes. Every major programming language is supported. It plays nicely with the OpenAI SDK, OpenTelemetry, and every major LLM provider.
Is TensorZero production-ready?
Yes. TensorZero is used by companies ranging from frontier AI startups to the Fortune 10 and powers ~1% of the global LLM API spend today.
Here's a case study: Automating Code Changelogs at a Large Bank with LLMs
How much does TensorZero cost?
TensorZero (LLMOps platform) is 100% self-hosted and open-source.
TensorZero Autopilot (automated AI engineer) is a complementary paid product powered by TensorZero.
Who is building TensorZero?
Our technical team includes a former Rust compiler maintainer, machine learning researchers (Stanford, CMU, Oxford, Columbia) with thousands of citations, and the chief product officer of a decacorn startup. We're backed by the same investors as leading open-source projects (e.g. ClickHouse, CockroachDB) and AI labs (e.g. OpenAI, Anthropic). See our $7.3M seed round announcement and coverage from VentureBeat. We're hiring in NYC.
How do I get started?
You can adopt TensorZero incrementally. Our Quick Start goes from a vanilla OpenAI wrapper to a production-ready LLM application with observability and fine-tuning in just 5 minutes.
Get Started
Start building today. The Quick Start shows it's easy to set up an LLM application with TensorZero.
Questions? Ask us on Slack or Discord.
Using TensorZero at work? Email us at hello@tensorzero.com to set up a Slack or Teams channel with your team (free).
Examples
We are working on a series of complete runnable examples illustrating TensorZero's data & learning flywheel.
Optimizing Data Extraction (NER) with TensorZero
This example shows how to use TensorZero to optimize a data extraction pipeline. We demonstrate techniques like fine-tuning and dynamic in-context learning (DICL). In the end, an optimized GPT-4o Mini model outperforms GPT-4o on this task — at a fraction of the cost and latency — using a small amount of training data.
Agentic RAG — Multi-Hop Question Answering with LLMs
This example shows how to build a multi-hop retrieval agent using TensorZero. The agent iteratively searches Wikipedia to gather information, and decides when it has enough context to answer a complex question.
Writing Haikus to Satisfy a Judge with Hidden Preferences
This example fine-tunes GPT-4o Mini to generate haikus tailored to a specific taste. You'll see TensorZero's "data flywheel in a box" in action: better variants leads to better data, and better data leads to better variants. You'll see progress by fine-tuning the LLM multiple times.
Image Data Extraction — Multimodal (Vision) Fine-tuning
This example shows how to fine-tune multimodal models (VLMs) like GPT-4o to improve their performance on vision-language tasks. Specifically, we'll build a system that categorizes document images (screenshots of computer science research papers).
Improving LLM Chess Ability with Best-of-N Sampling
This example showcases how best-of-N sampling can significantly enhance an LLM's chess-playing abilities by selecting the most promising moves from multiple generated options.
Blog Posts
We write about LLM engineering on the TensorZero Blog. Here are some of our favorite posts:
- Bandits in your LLM Gateway: Improve LLM Applications Faster with Adaptive Experimentation (A/B Testing)
- Is OpenAI's Reinforcement Fine-Tuning (RFT) Worth It?
- Distillation with Programmatic Data Curation: Smarter LLMs, 5-30x Cheaper Inference
- From NER to Agents: Does Automated Prompt Engineering Scale to Complex Tasks?
Compatibility
- Runs on
- GPU support unknown
What shows it
- no dependency or feature matches a backend row
- Native code
- None found
- No native code found
- Python bindings
- No Python binding crate found
- License
- Apache-2.0
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
TensorZero is an open-source LLMOps platform that unifies an LLM gateway, observability, evaluation, optimization, and experimentation. |
35 downloads over 30 days | Not applicable | 11,705 | 0.0.0 | GPU support unknown | No native code found | Apache-2.0 |
|
Right-size LLM models to your system hardware. Interactive TUI and CLI to match models against available RAM, CPU, and GPU. |
3,821 binary downloads per release | Not applicable | 38,787 | 1.1.20 | Metal | No native code found | MIT |
|
Ship your code, on autopilot. An open source agent that lives on your machines 24/7 and keeps your apps running. 🦀 |
19,860 binary downloads per release | Not applicable | 1,859 | 0.3.88 | GPU support unknown | Binds native code: tree-sitter, tree-sitter-language, tikv-jemalloc-sys (feature jemalloc) | Apache-2.0 |
|
A CLI tool to convert your codebase into a single LLM prompt with source tree, prompt templating, and token counting. |
2,317 binary downloads per release | Not applicable | 7,756 | 4.3.0 | GPU support unknown | Binds native code: libgit2-sys, libz-sys | MIT |
|
LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed to assist and empower software engineers, not replace them. |
2,314 binary downloads per release | Not applicable | 3,210 | 0.7.0 | CUDA, Metal | Binds native code: tree-sitter, tree-sitter-language, llama-cpp-sys-2 (feature cuda). Build uses a native toolchain: cc | MIT |
|
opentelemetry-langfuse Listed
OpenTelemetry components and utilities for Langfuse LLM observability |
2,119 downloads over 30 days | 2 | 4 | 0.7.2 | GPU support unknown | No native code found | Apache-2.0 OR MIT |
|
An open protocol that gives AI agents a secure, sandboxed place to run code and use tools — with lean context usage. AXP works alongside MCP |
Not measured | Not applicable | 3 | Not measured | Not measured | Not measured | Apache-2.0 |
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources6 sources
- Description: the GitHub repository description
- crates.io database dump, fetched
- GitHub releases, fetched
- GitHub repository, fetched
- crates.io package, fetched
- GitHub contributors, fetched
Adoption0 binary downloads per release4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | Not measured | Yes | ||
| New dependents (365 days) | Not measured | Yes | ||
| Peak active dependents | Not measured | Yes | ||
| Active dependents as a share of the peak | Not measured | Yes | ||
| Binary downloads per release | 0 | GitHub releases | Yes |
MaintenanceLatest human commit: 5 months ago4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2026-06-04 | GitHub repository | Yes | |
| Latest release | 2026-06-04 | GitHub releases | Yes | |
| First release | 2024-08-26 | crates.io database dump | Yes | |
| Latest version | 0.0.0 | crates.io database dump | No | |
| Days the oldest outside issue waits for a reply | 0 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 0 | GitHub repository | Yes | |
| Repository archived | true | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | false | crates.io package | No | |
| Published docs | Not measured | Yes | ||
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | Not measured | Yes | ||
| RustSec unmaintained advisory | Not measured | Yes | ||
| Deprecation notice | Not measured | Yes | ||
| Deprecated requirement | Not measured | Yes |
Distribution1 releases, 35 downloads over 30 days6 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | 1 | crates.io database dump | No | |
| Downloads over 30 days | 35 | crates.io database dump | No | |
| Binary downloads over the last 3 releases | 0 | GitHub releases | Yes | |
| Homebrew installs on request over 365 days | Not measured | Yes | ||
| Repology repository families | Not measured | Yes | ||
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | true | crates.io database dump | Yes | |
| Every version 0.0.x | true | crates.io database dump | Yes | |
| Every version yanked | Not measured | Yes | ||
| Crate deleted from crates.io | Not measured | Yes |
Repository11,705 stars, 966 forks, 117 contributors, 4,100 commits. Stars alone never qualify a project.
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 11705 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 966 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 117 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 4100 | GitHub repository | No | |
| Repository's main crate left out of the entry | none | crates.io database dump | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | Apache-2.0 | crates.io database dump | No | |
| Runs on, from listed crates and their direct dependencies | GPU support unknown | crates.io database dump | No | |
| What shows each backend | no dependency or feature matches a backend row | crates.io database dump | No | |
| Native code, from listed crates and their dependencies | No native code found | crates.io database dump | No | |
| Python bindings, from direct dependencies of listed crates | No Python binding crate found | crates.io database dump | No | |
| Crates that depend on a listed crate directly | Not measured | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.