TensorZero — это открытый стек для промышленных LLM-приложений:
Берите то, что вам нужно, внедряйте постепенно и дополняйте другими инструментами.
Website
·
Docs
·
Twitter
·
Slack
·
Discord
Quick Start (5min)
·
Deployment Guide
·
API Reference
·
Configuration Reference
Что такое TensorZero? | TensorZero — это открытый стек для промышленных LLM-приложений. Он объединяет LLM-шлюз, наблюдаемость, оптимизацию, оценки и экспериментирование. |
Чем TensorZero отличается от других LLM-фреймворков? |
1. TensorZero позволяет оптимизировать сложные LLM-приложения на основе продакшн-метрик и человеческой обратной связи. 2. TensorZero поддерживает потребности промышленных LLM-приложений: низкие задержки, высокая пропускная способность, типобезопасность, self-hosted, GitOps, кастомизируемость и т.д. 3. TensorZero объединяет весь стек LLMOps, создавая кумулятивные преимущества. Например, LLM-оценки можно использовать для тонкой настройки моделей вместе с AI-судами. |
Можно ли использовать TensorZero с ___? | Да. Поддерживаются все основные языки программирования. Вы можете использовать TensorZero с нашим Python-клиентом, любым OpenAI SDK или OpenAI-совместимым клиентом, или нашим HTTP API. |
Готов ли TensorZero к продакшену? | Да. Вот кейс: Automating Code Changelogs at a Large Bank with LLMs |
Сколько стоит TensorZero? | Ничего. TensorZero на 100% self-hosted и open-source. Платных функций нет. |
Кто разрабатывает TensorZero? | Наша техническая команда включает бывшего мейнтейнера компилятора Rust, исследователей машинного обучения (Stanford, CMU, Oxford, Columbia) с тысячами цитирований и CPO стартапа-декакорна. Нас поддерживают те же инвесторы, что и ведущие open-source проекты (например, ClickHouse, CockroachDB) и AI-лаборатории (например, OpenAI, Anthropic). |
Как начать? | Вы можете внедрять TensorZero постепенно. Наш Quick Start превращает обертку OpenAI в готовое к продакшену LLM-приложение с наблюдаемостью и тонкой настройкой всего за 5 минут. |
Интегрируйтесь с TensorZero один раз и получите доступ ко всем крупным LLM-провайдерам.
Провайдеры моделей | Функции |
TensorZero Gateway нативно поддерживает:
Нужно что-то другое? Ваш провайдер, скорее всего, поддерживается, так как TensorZero интегрируется с любым OpenAI-совместимым API (например, Ollama). |
TensorZero Gateway поддерживает продвинутые функции:
TensorZero Gateway написан на Rust 🦀 с упором на производительность (<1ms p99 задержки @ 10k QPS).
См. Бенчмарки. Вы можете выполнять вывод с помощью клиента TensorZero (рекомендуется), клиента OpenAI или HTTP API. |
Вы можете получить доступ к любому провайдеру через Python-клиент TensorZero.
pip install tensorzero
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.",
}
]
},
)
См. Quick Start для подробностей.
Вы можете получить доступ к любому провайдеру через клиент OpenAI с TensorZero.
pip install tensorzero
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.",
}
],
)
См. Quick Start для подробностей.
Вы можете получить доступ к любому провайдеру через Node-клиент OpenAI с TensorZero.
tensorzero/gateway
через Docker.
Подробные инструкции →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.",
},
],
});
См. Quick Start для подробностей.
TensorZero поддерживает практически любой язык программирования через HTTP API.
tensorzero/gateway
через Docker.
Подробные инструкции →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."
}
]
}
}'
См. Quick Start для подробностей.
Отправляйте продакшн-метрики и человеческую обратную связь, чтобы легко оптимизировать промпты, модели и стратегии вывода — через UI или программно.
Оптимизируйте закрытые и открытые модели с помощью supervised fine-tuning (SFT) и preference fine-tuning (DPO).
Supervised Fine-tuning — UI | Preference Fine-tuning (DPO) — Jupyter Notebook |
Повышайте производительность, динамически обновляя промпты релевантными примерами, комбинируя ответы из нескольких выводов и т.д.
Best-of-N Sampling | Mixture-of-N Sampling |
Dynamic In-Context Learning (DICL) | Chain-of-Thought (CoT) |
Скоро будет больше...
Оптимизируйте промпты программно с помощью исследовательских методов оптимизации.
MIPROv2 | Интеграция с DSPy |
TensorZero включает несколько готовых рецептов оптимизации, но вы также можете легко создавать свои собственные. В этом примере показано, как оптимизировать функцию TensorZero с помощью произвольного инструмента — в данном случае DSPy, популярной библиотеки для автоматизированного инжиниринга промптов. |
Скоро будет больше...
Приближайтесь для отладки отдельных API-вызовов или отдаляйтесь для мониторинга метрик моделей и промптов с течением времени — всё в открытом интерфейсе TensorZero.
Наблюдаемость » Вывод | Наблюдаемость » Функция |
Сравнивайте промпты, модели и стратегии вывода с помощью TensorZero Evaluations — с поддержкой эвристик и LLM-судей.
Оценка » Интерфейс | Оценка » CLI |
|
Наблюдайте, как LLM улучшают извлечение данных в реальном времени с TensorZero!
Динамическое обучение в контексте (DICL) — это мощная оптимизация времени вывода, доступная в TensorZero из коробки. Она повышает производительность LLM, автоматически включая релевантные исторические примеры в промпт, без необходимости тонкой настройки модели.
https://github.com/user-attachments/assets/4df1022e-886e-48c2-8f79-6af3cdad79cb
Начните строить уже сегодня. Быстрый старт показывает, как легко настроить LLM-приложение с TensorZero.
Вопросы? Задавайте их в Slack или Discord.
Используете TensorZero на работе? Напишите нам на [email protected], чтобы создать Slack или Teams канал для вашей команды (бесплатно).
Работайте с нами. Мы нанимаем в Нью-Йорке. Также приветствуются вклады в open-source!
Мы работаем над серией полноценных запускаемых примеров, демонстрирующих цикл данных и обучения TensorZero.
Оптимизация извлечения данных (NER) с TensorZero
В этом примере показано, как использовать TensorZero для оптимизации конвейера извлечения данных. Мы демонстрируем такие техники, как тонкая настройка и динамическое обучение в контексте (DICL). В итоге оптимизированная модель GPT-4o Mini превосходит GPT-4o в этой задаче — с меньшими затратами и задержкой — используя небольшой объём обучающих данных.
Агентный RAG — многошаговый вопросно-ответный поиск с LLM
В этом примере показано, как построить многошагового агента поиска с использованием TensorZero. Агент итеративно ищет информацию в Википедии и решает, когда у него достаточно контекста для ответа на сложный вопрос.
Написание хайку для удовлетворения судьи со скрытыми предпочтениями
В этом примере тонко настраивается GPT-4o Mini для генерации хайку, соответствующих определённому вкусу. Вы увидите "цикл данных в коробке" TensorZero в действии: лучшие варианты ведут к лучшим данным, а лучшие данные — к лучшим вариантам. Прогресс достигается за счёт многократной тонкой настройки LLM.
Улучшение шахматных способностей LLM с помощью выборки best-of-N
В этом примере показано, как выборка best-of-N может значительно улучшить шахматные способности LLM, выбирая наиболее перспективные ходы из нескольких сгенерированных вариантов.
TensorZero предоставляет несколько предустановленных рецептов оптимизации, охватывающих распространённые рабочие процессы инжиниринга LLM. Но вы также можете легко создавать свои собственные рецепты и рабочие процессы! В этом примере показано, как оптимизировать функцию TensorZero с помощью произвольного инструмента — здесь это DSPy.
И многое другое впереди!