[{"data":1,"prerenderedAt":613},["ShallowReactive",2],{"tool-braintrust-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":21,"sources":31,"cover":56,"og":57,"expertise":58,"locales":59,"lang":60,"title":63,"description":64,"coverAlt":65,"url":24,"pricing":66,"kind":67,"metaTitle":68,"takeaways":69,"faq":75,"toc":88,"blocks":113,"others":382},"braintrust","2026-07-07",10,"llmops",[9,10,11,12,13],"Evaluations","Observability","LLM-as-a-judge","CI gates","Tracing",[4,15,16,17,18,19,20],"braintrust pricing","braintrust eval","autoevals library","braintrust vs langfuse","llm evaluation platform","eval driven development",[22,25,28],{"name":23,"url":24},"Braintrust","https:\u002F\u002Fwww.braintrust.dev",{"name":26,"url":27},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",{"name":29,"url":30},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",[32,35,38,41,44,47,50,53],{"title":33,"url":34},"Braintrust pricing: plans, credits and usage rates","https:\u002F\u002Fwww.braintrust.dev\u002Fpricing",{"title":36,"url":37},"Braintrust documentation: plans and limits","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs\u002Fplans-and-limits",{"title":39,"url":40},"Braintrust documentation: evaluation quickstart","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs\u002Fevaluation-quickstart",{"title":42,"url":43},"Braintrust documentation: get started","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs",{"title":45,"url":46},"GitHub: Braintrust organisation repositories","https:\u002F\u002Fgithub.com\u002Forgs\u002Fbraintrustdata\u002Frepositories",{"title":48,"url":49},"Arize Phoenix documentation: self-hosting","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Fself-hosting",{"title":51,"url":52},"Langfuse pricing: cloud plans and billable units","https:\u002F\u002Flangfuse.com\u002Fpricing",{"title":54,"url":55},"LangChain pricing: LangSmith plans","https:\u002F\u002Fwww.langchain.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fbraintrust\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbraintrust\u002Fog.jpg","ai-engineer",[60,61,62],"en","de","hu","Braintrust review: eval-first observability with a hard meter","Braintrust turns production traces into datasets and gated experiments. What Starter and Pro really include, which parts are open source, and where Phoenix, Langfuse and LangSmith win.","A loop from instrumented application logs into a dataset, an experiment with scorers, and a comparison that gates the pull request before the change returns to the application.","Free · from $249 per month","Evaluation platform","Braintrust: eval-first observability · Balázs Csorba",[70,71,72,73,74],"Starter is genuinely usable but small: 1 GB of processed data, 10,000 scores and 14 days of retention, then Pro at $249 a month for 5 GB, 50,000 scores and 30 days.","Processed data is measured at ingestion, so deleting traces does not reduce the bill, and overage runs $4 per GB on Starter and $3 per GB on Pro.","The platform is closed source while the tooling is open: SDKs for six languages under Apache-2.0, autoevals under MIT and the bt CLI under Apache-2.0.","BYOC and self-hosted deployment require Enterprise, and SAML SSO, audit logging, custom retention and SOC 2 attestation are Enterprise rows as well.","There is no tier between $0 and $249, which makes Braintrust cheap for a solo evaluation project and expensive for a team that only wanted dashboards.",[76,79,82,85],{"q":77,"a":78},"How much does Braintrust cost?","Starter is $0 with $10 of model credits, 1 GB of processed data, 10,000 scores and 14 days of retention, plus unlimited users, projects, datasets, playgrounds and experiments. Pro is $249 a month for $100 of credits, 5 GB, 50,000 scores, 30 days of retention, custom charts, environments, RBAC and priority support. Enterprise is custom-priced and adds BYOC, self-hosted deployment, SAML or OIDC single sign-on, audit logging, a BAA and an uptime SLA.",{"q":80,"a":81},"Is Braintrust open source?","The platform is not; much of the tooling is. The Python, TypeScript, Go, Ruby, Java and C# SDKs are Apache-2.0, autoevals is MIT with about a thousand GitHub stars, braintrust-proxy is MIT and the agentbehavior standard is Apache-2.0. There is no self-hosted edition of the service below the Enterprise plan.",{"q":83,"a":84},"What counts as a score in the pricing?","A score is one recorded evaluation result, whether it came from an LLM-as-a-judge call, an autoevals scorer or custom code, attached to a trace or an experiment row. Starter includes 10,000 a month and then charges $2.50 per thousand; Pro includes 50,000 and then $1.50 per thousand. Judge-based scoring multiplies quickly across a dataset, so the score quota is often reached before the data quota.",{"q":86,"a":87},"Braintrust or Arize Phoenix?","Choose Braintrust when evaluation belongs in CI and a platform fee is acceptable: the Eval API, the scorer library and the eval-action workflow are one integration. Choose Phoenix when traces cannot leave your infrastructure, because Braintrust's BYOC and self-hosted deployments require an Enterprise contract while Phoenix is free to self-host under the Elastic License 2.0.",[89,92,95,98,101,104,107,110],{"id":90,"title":91},"what-it-is","What it is",{"id":93,"title":94},"how-it-works","How it works",{"id":96,"title":97},"getting-started","Getting started",{"id":99,"title":100},"pricing","What it costs",{"id":102,"title":103},"open-or-closed","What is open and what is not",{"id":105,"title":106},"where-it-shingles","Where it falls short",{"id":108,"title":109},"verdict","Verdict",{"id":111,"title":112},"sources","Sources",[114,123,126,129,132,150,153,154,161,170,173,174,181,183,190,197,198,201,246,249,255,256,259,271,274,275,278,324,327,332,333,336,349,354,355],{"type":115,"content":116},"paragraph",[117,118,122],"Braintrust is a hosted platform for instrumenting an LLM application, keeping its traces and scoring them against datasets in a way that repeats. Its centre of gravity is the evaluation: an ",{"tag":119,"children":120},"code",[121],"Eval()"," call that runs a task over a dataset, scores the outputs and stores every run as a comparable experiment. The position of this review is that Braintrust is the strongest eval-first product in its class and the most tightly metered of its peers — the engineering is excellent, and the billing rewards teams who know exactly how much data they intend to send.",{"type":115,"content":124},[125],"It covers three jobs that are usually split between tools: tracing in production, offline evaluation, and the gate between them in continuous integration. Arize Phoenix and Langfuse compete on the open-source side, LangSmith for shops already building on LangGraph. What it tends to replace is worse: a set of test cases that call the model, print scores to stdout and get deleted the week they turn flaky.",{"type":127,"level":128,"id":90,"text":91},"heading",2,{"type":115,"content":130},[131],"Braintrust is a SaaS product from Braintrust Data, built on three objects: logs, which are traces from the application; datasets, which are rows of input and expected output; and experiments, which run a task over a dataset with scorers attached. The documentation describes a five-step workflow — instrument, observe, annotate, evaluate, deploy — and ships SDKs for Python, TypeScript, Go, Ruby, Java and C#. The platform itself is closed source; much of the tooling around it is not.",{"type":133,"ordered":134,"items":135},"list",false,[136,138,140,142,144,146,148],[137],"Licence: platform closed source; SDKs Apache-2.0, autoevals MIT, braintrust-proxy MIT",[139],"Instrumentation: braintrust.auto_instrument() wraps the provider clients already in the process, plus a bt CLI for setup from a coding agent",[141],"Evaluation: Eval() over a dataset with autoevals scorers, custom code or LLM-as-a-judge",[143],"Plans: Starter at $0, Pro at $249 a month and Enterprise by quotation, all with unlimited users, projects, datasets and experiments",[145],"Metering: processed data in gigabytes, scores in thousands, model credits in dollars",[147],"Deployment: SaaS on Starter and Pro, with BYOC and self-hosted deployment only on Enterprise",[149],"Extras: playgrounds, environments and custom charts on Pro and above, and Loop, a built-in agent that writes scorers, test cases and prompt iterations",{"type":115,"content":151},[152],"That last row is the tell. Braintrust assumes the platform is someone else's problem and the evaluation is yours, and teams that accept the premise get a very short loop from a production failure to a dataset row to a gated release. Teams that need the whole system inside their own account find that the price of that loop is an Enterprise contract, not the $249 tier.",{"type":127,"level":128,"id":93,"text":94},{"type":115,"content":155},[156,157,160],"Instrumentation happens in the process: ",{"tag":119,"children":158},[159],"braintrust.auto_instrument()"," patches the provider client the application already uses, so spans arrive with token costs attached and with no sidecar to deploy. Everything lands in a project, and logs, datasets and experiments share that project, which is what makes a production trace promotable into a test case.",{"type":162,"attrs":163,"inner":167,"caption":168},"diagram",{"viewBox":164,"role":165,"aria-labelledby":166},"0 0 715 300","img","d1-bt-t d1-bt-d","\u003Ctitle id='d1-bt-t'>The Braintrust loop from trace to gated release\u003C\u002Ftitle>\u003Cdesc id='d1-bt-d'>An instrumented application logs traces and their costs to a project. Production traces become rows of a dataset, an experiment runs a task over that dataset with scorers attached, and a comparison of two runs gates the pull request before the change goes back to the application.\u003C\u002Fdesc>\u003Ctext x='20' y='28' class='d-title'>One loop, three artefacts\u003C\u002Ftext>\u003Ctext x='695' y='28' text-anchor='end' class='d-label'>project scope\u003C\u002Ftext>\u003Crect x='20' y='50' width='150' height='64' rx='10' class='d-box'\u002F>\u003Ctext x='95' y='78' text-anchor='middle' class='d-text'>App + SDK\u003C\u002Ftext>\u003Ctext x='95' y='100' text-anchor='middle' class='d-small'>auto_instrument\u003C\u002Ftext>\u003Crect x='195' y='50' width='150' height='64' rx='10' class='d-accent'\u002F>\u003Ctext x='270' y='78' text-anchor='middle' class='d-text'>Logs\u003C\u002Ftext>\u003Ctext x='270' y='100' text-anchor='middle' class='d-small'>traces, cost\u003C\u002Ftext>\u003Crect x='370' y='50' width='150' height='64' rx='10' class='d-sky'\u002F>\u003Ctext x='445' y='78' text-anchor='middle' class='d-text'>Dataset\u003C\u002Ftext>\u003Ctext x='445' y='100' text-anchor='middle' class='d-small'>rows from traces\u003C\u002Ftext>\u003Crect x='545' y='50' width='150' height='64' rx='10' class='d-gold'\u002F>\u003Ctext x='620' y='78' text-anchor='middle' class='d-text'>Experiment\u003C\u002Ftext>\u003Ctext x='620' y='100' text-anchor='middle' class='d-small'>task + scorers\u003C\u002Ftext>\u003Cpath d='M172 82 H193' class='d-line' marker-end='url(#ah-bt)'\u002F>\u003Cpath d='M347 82 H368' class='d-line' marker-end='url(#ah-bt)'\u002F>\u003Cpath d='M522 82 H543' class='d-line' marker-end='url(#ah-bt)'\u002F>\u003Crect x='250' y='160' width='220' height='64' rx='10' class='d-mint'\u002F>\u003Ctext x='360' y='188' text-anchor='middle' class='d-text'>Compare runs\u003C\u002Ftext>\u003Ctext x='360' y='210' text-anchor='middle' class='d-small'>gate the pull request\u003C\u002Ftext>\u003Cpath d='M620 114 V192 H472' class='d-line' marker-end='url(#ah-bt)'\u002F>\u003Cpath d='M250 192 H95 V116' class='d-line' marker-end='url(#ah-bt)'\u002F>\u003Cdefs>\u003Cmarker id='ah-bt' viewBox='0 0 10 10' refX='9' refY='5' markerWidth='7' markerHeight='7' orient='auto-start-reverse'>\u003Cpath d='M0 0L10 5L0 10z' class='d-head'\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x='20' y='256' class='d-small'>Scorers may be autoevals, custom code or a judge call that spends a model request per row.\u003C\u002Ftext>\u003Ctext x='20' y='282' class='d-label'>Every experiment is a permanent record: the second run is diffed against the first\u003C\u002Ftext>",[169],"Traces, datasets and experiments share one project, so a production failure can become a test case without an export.",{"type":115,"content":171},[172],"The distinctive part is comparison. An experiment is a permanent record, and a second run under a new experiment name is diffed against the first in the interface. The documentation's own quickstart leans on this: the first run scores near zero under ExactMatch because the model answers with a sentence, the prompt is tightened to return a bare title, and the second experiment reports the gain as a score delta rather than an impression.",{"type":127,"level":128,"id":96,"text":97},{"type":115,"content":175},[176,177,180],"Two keys and a file: ",{"tag":119,"children":178},[179],"BRAINTRUST_API_KEY"," for the platform, your provider key for the model, and one Python file holding data, task and scorer. The snippet below is the documented quickstart shape with the repetition trimmed out:",{"type":119,"code":182},"# export BRAINTRUST_API_KEY=...  and  export OPENAI_API_KEY=...\n# pip install braintrust openai autoevals\nimport braintrust\nfrom braintrust import Eval\nfrom autoevals import ExactMatch\nfrom openai import OpenAI\n\nbraintrust.auto_instrument()  # traces every call this process makes\nclient = OpenAI()\n\ndef task(input):\n    r = client.responses.create(\n        model=\"gpt-5-mini\",\n        input=[{\"role\": \"system\", \"content\": \"Name the film.\"},\n               {\"role\": \"user\", \"content\": input}],\n    )\n    return r.output_text\n\nEval(\n    \"movie-matcher\",\n    experiment_name=\"baseline-v1\",\n    data=[{\"input\": \"A detective hunts a killer through the seven deadly sins.\",\n           \"expected\": \"Se7en\"}],\n    task=task,\n    scores=[ExactMatch],\n)",{"type":115,"content":184},[185,186,189],"Run it with ",{"tag":119,"children":187},[188],"bt eval movie_matcher.py"," and the terminal prints a link to the experiment; plain Python works as well, because the CLI only wraps the entry point. That same file is what a pull request runs: the eval-action GitHub workflow executes it against main and fails the build when a score regresses.",{"type":191,"variant":192,"title":193,"body":194},"callout","warn","Scoring is billed, not just computed",[195],[196],"Every scorer call that records a score counts against the monthly quota — 10,000 on Starter, 50,000 on Pro — and judge-based scoring is included, at one model request per row. Scorers should target the failures that matter, because a full run across a large dataset can cost more than the trace that produced it.",{"type":127,"level":128,"id":99,"text":100},{"type":115,"content":199},[200],"Three plans and no middle step: the pricing page lists Starter at $0, Pro at $249 a month and Enterprise by quotation, with users, projects, datasets, playgrounds and experiments unlimited on all three. What differs is the meter:",{"type":202,"head":203,"rows":214},"table",[204,206,208,210,212],[205],"Plan",[207],"Price",[209],"Processed data",[211],"Scores",[213],"Retention",[215,226,237],[216,218,220,222,224],[217],"Starter",[219],"$0",[221],"1 GB, then $4\u002FGB",[223],"10,000, then $2.50 per 1,000",[225],"14 days",[227,229,231,233,235],[228],"Pro",[230],"$249 a month",[232],"5 GB, then $3\u002FGB",[234],"50,000, then $1.50 per 1,000",[236],"30 days, then $0.50 per GB-month",[238,240,242,243,244],[239],"Enterprise",[241],"Custom",[241],[241],[245],"Custom, up to 365 days",{"type":115,"content":247},[248],"Model credits run alongside: $10 a month on Starter and $100 on Pro cover built-in models and platform features such as Topics, after which token rates apply. The tier jump is binary — a team that outgrows 1 GB and 14 days pays the full $249, though the docs offer six to twelve months of Pro to qualifying new startup customers.",{"type":191,"variant":250,"title":251,"body":252},"note","Processed data is counted at ingestion",[253],[254],"The plans page is explicit that processed data measures bytes at ingestion and that deleting data does not reduce it, so pruning noisy traces never shrinks a bill retroactively. Experiment results are kept for up to 365 days on every plan, while logs and playground data follow the 14-day or 30-day window, which is also the horizon of what the lower tiers can still query.",{"type":127,"level":128,"id":102,"text":103},{"type":115,"content":257},[258],"The split deserves its own section, because the sentence Braintrust is open source is wrong in the way that matters: below Enterprise you cannot run the platform yourself. What is open is the instrumentation and the scoring tooling around it.",{"type":133,"ordered":134,"items":260},[261,263,265,267,269],[262],"braintrust-sdk-python, -javascript, -go and -ruby: Apache-2.0",[264],"autoevals: MIT, about a thousand stars, the scorer library the quickstart imports",[266],"braintrust-proxy: MIT, a proxy in front of model traffic",[268],"agentbehavior: Apache-2.0, an open standard and dataset for agent behaviour",[270],"The bt CLI and the coding-agent plugins: Apache-2.0 or MIT; the hosted web application is not published",{"type":115,"content":272},[273],"For an engineering team that distinction is mostly philosophical until procurement asks, and then it is the whole discussion. It also sets the exit path: the SDKs can be repointed at another backend without rewriting the application, but datasets, experiments and dashboards live in Braintrust's service, and scheduled export to S3 or Google Cloud Storage is an Enterprise feature.",{"type":127,"level":128,"id":105,"text":106},{"type":115,"content":276},[277],"The first weakness is arithmetic. There is no tier between $0 and $249, the free tier's 1 GB and 14 days are a demo budget for a production agent, and scoring meters on top of ingestion, so a team running a judge across every production trace hits the score quota before the data quota. The second is what the lower tiers do not carry: SAML single sign-on, audit logging, custom retention, export automations, SOC 2 attestation and a business associate agreement are Enterprise rows, while Starter is limited to the owner permission group and one human-review score per project. The third is contractual drift: the documentation still carries a legacy-plan note for accounts created before 16 March 2026, so an evaluation done under the old terms is worth redoing.",{"type":202,"head":279,"rows":288},[280,282,284,286],[281],"Tool",[283],"Free tier",[285],"Paid entry",[287],"Self-host",[289,297,306,315],[290,291,293,295],[23],[292],"1 GB, 10,000 scores, 14 days",[294],"Pro $249 a month",[296],"Enterprise only",[298,300,302,304],[299],"Arize Phoenix",[301],"No caps on a local install",[303],"AX Pro $50 a month",[305],"Free under ELv2",[307,309,311,313],[308],"Langfuse",[310],"50,000 units, 30 days, 2 users",[312],"Core $29 a month",[314],"Free, Docker Compose",[316,318,320,322],[317],"LangSmith",[319],"1 seat, 5,000 base traces",[321],"Plus $39 a seat",[323],"Enterprise add-on",{"type":115,"content":325},[326],"Read honestly, Braintrust and Phoenix are not competing on the same axis: one is priced for teams buying an evaluation process, the other for teams owning the infrastructure. Langfuse is the closest direct substitute at roughly a third of the entry price, and LangSmith is the natural pick when the application already sits on LangGraph and first-party trace formats matter more than the scorer library.",{"type":328,"content":329},"quote",[330,331],"SaaS is available on all plans. BYOC and self-hosted deployments, which keep data in your own cloud, require Enterprise."," — Braintrust documentation, plans and limits",{"type":127,"level":128,"id":108,"text":109},{"type":115,"content":334},[335],"Braintrust earns its price when evaluation is a recurring engineering ritual rather than a one-off script: the experiment model, the scorer library and the CI action form a loop that is tedious to assemble from parts. It is a poor fit for a team whose main need is trace storage behind a dashboard, because that is a $249 habit with a data bill attached to it.",{"type":133,"ordered":337,"items":338},true,[339,341,343,345,347],[340],"Choose it when a pull request should fail on an eval regression and you want the scorer library to already exist.",[342],"Choose it when several roles — engineers, reviewers, a product manager — need the same experiments and dashboards; seats are unlimited on every plan.",[344],"Choose it when volume is predictable: 5 GB and 50,000 scores a month is a known quantity, and the overage rates are published.",[346],"Do not choose it when traces must stay inside your own account; BYOC and self-hosting need an Enterprise contract.",[348],"Do not choose it when the workload is chatty and unbounded: metering at ingestion plus per-score charges makes a noisy agent expensive in a way per-seat tools are not.",{"type":191,"variant":250,"title":350,"body":351},"Bottom line",[352],[353],"For the price of one engineer's part-time attention a month, Braintrust supplies the evaluation discipline most teams intend to build and never finish. Buy it for the evaluation loop, not for trace storage; for storage alone, self-hosted Phoenix or a $29 Langfuse plan does the same job at a fraction of the cost.",{"type":127,"level":128,"id":111,"text":112},{"type":133,"ordered":337,"items":356},[357,361,364,367,370,373,376,379],[358],{"tag":359,"href":34,"children":360},"a",[33],[362],{"tag":359,"href":37,"children":363},[36],[365],{"tag":359,"href":40,"children":366},[39],[368],{"tag":359,"href":43,"children":369},[42],[371],{"tag":359,"href":46,"children":372},[45],[374],{"tag":359,"href":49,"children":375},[48],[377],{"tag":359,"href":52,"children":378},[51],[380],{"tag":359,"href":55,"children":381},[54],[383,432,514,570],{"slug":384,"published":385,"minutes":386,"category":7,"tags":387,"keywords":393,"about":400,"sources":404,"cover":423,"og":424,"expertise":58,"locales":425,"lang":60,"title":426,"description":427,"coverAlt":428,"url":429,"pricing":430,"kind":431},"ollama","2026-09-29",11,[388,389,390,391,392],"Local inference","Open models","llama.cpp","GGUF","Model serving",[384,394,395,396,397,398,399],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[401],{"name":402,"url":403},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[405,408,411,414,417,420],{"title":406,"url":407},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":409,"url":410},"Ollama on GitHub, with the MIT LICENSE file","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":412,"url":413},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":415,"url":416},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":418,"url":419},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":421,"url":422},"OpenAI compatibility, including what is not supported","https:\u002F\u002Fdocs.ollama.com\u002Fapi\u002Fopenai-compatibility","\u002Fimages\u002Fblog\u002Follama\u002Fcover.webp","\u002Fimages\u002Fblog\u002Follama\u002Fog.jpg",[60,61,62],"Ollama review: the friendly way to run open models","Ollama serves open models over one HTTP API on your own hardware. What it does well, where throughput falls short, and what the MIT licence does not cover.","Abstract cover art for the Ollama review","https:\u002F\u002Follama.com","MIT · free for personal use","Local inference runtime",{"slug":433,"published":434,"minutes":386,"category":7,"tags":435,"keywords":440,"about":448,"sources":455,"cover":507,"og":508,"expertise":58,"locales":509,"lang":60,"title":510,"description":511,"coverAlt":512,"url":451,"pricing":513,"kind":436},"portkey","2026-09-28",[436,437,438,10,439],"LLM gateway","Guardrails","Routing","Cost control",[441,442,443,444,445,446,447],"portkey ai gateway","portkey vs litellm","llm gateway comparison","llm gateway latency overhead","llm guardrails gateway","self-hosted llm gateway","portkey pricing",[449,452],{"name":450,"url":451},"Portkey","https:\u002F\u002Fportkey.ai",{"name":453,"url":454},"API gateway","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAPI_gateway",[456,459,462,465,468,471,474,477,480,483,486,489,492,495,498,501,504],{"title":457,"url":458},"Portkey docs: AI Gateway","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway",{"title":460,"url":461},"Portkey docs: Getting started with the AI Gateway","https:\u002F\u002Fdocs.portkey.ai\u002Fdocs\u002Fguides\u002Fgetting-started\u002Fgetting-started-with-ai-gateway",{"title":463,"url":464},"Portkey docs: Gateway config object","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fapi-reference\u002Fconfig-object",{"title":466,"url":467},"Portkey docs: Guardrails","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails",{"title":469,"url":470},"Portkey docs: Guardrail endpoints and capabilities","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails\u002Fcapabilities",{"title":472,"url":473},"Portkey docs: Cache, simple and semantic","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fcache-simple-and-semantic",{"title":475,"url":476},"Portkey docs: Load balancing","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fload-balancing",{"title":478,"url":479},"Portkey docs: Enterprise hybrid deployment architecture","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fself-hosting\u002Fhybrid-deployments\u002Farchitecture",{"title":481,"url":482},"Portkey pricing","https:\u002F\u002Fportkey.ai\u002Fpricing",{"title":484,"url":485},"Portkey gateway on GitHub, MIT licensed","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway",{"title":487,"url":488},"Portkey's own benchmark: gateway versus direct Bedrock","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fbenchmark-test",{"title":490,"url":491},"Portkey status page","https:\u002F\u002Fstatus.portkey.ai\u002F",{"title":493,"url":494},"Palo Alto Networks completes acquisition of Portkey, May 2026","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fcompany\u002Fpress\u002F2026\u002Fpalo-alto-networks-completes-acquisition-of-portkey-to-secure-ai-agents",{"title":496,"url":497},"Palo Alto Networks: Prisma AIRS AI Gateway","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fai-security\u002Fai-gateway",{"title":499,"url":500},"Cloudflare AI Gateway pricing","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fai-gateway\u002Freference\u002Fpricing\u002F",{"title":502,"url":503},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing",{"title":505,"url":506},"OpenRouter pricing","https:\u002F\u002Fopenrouter.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fportkey\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fportkey\u002Fog.jpg",[60,61,62],"Portkey: a production LLM gateway, reviewed for routing, guardrails and cost","Portkey puts retries, fallbacks, caching, guardrails and cost tracking behind one OpenAI-compatible endpoint. What the config object does well, what the gateway costs in latency, and when to self-host.","A request path from an application through the Portkey gateway to three model providers, with the guardrail verdict and the log written below the proxy.","Free · from $49 per month",{"slug":515,"published":516,"minutes":6,"category":7,"tags":517,"keywords":522,"about":530,"sources":539,"cover":563,"og":564,"expertise":58,"locales":565,"lang":60,"title":566,"description":567,"coverAlt":568,"url":532,"pricing":569,"kind":518},"langfuse","2026-08-13",[518,13,519,520,521],"LLM observability","OpenTelemetry","Self-hosting","Evaluation",[515,523,524,525,526,527,528,529],"langfuse vs langsmith","llm tracing tool","self-hosted llm observability","langfuse pricing","opentelemetry llm traces","llm cost tracking","prompt versioning",[531,533,535,538],{"name":308,"url":532},"https:\u002F\u002Flangfuse.com",{"name":519,"url":534},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":536,"url":537},"ClickHouse","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClickHouse",{"name":29,"url":30},[540,543,546,548,551,554,557,560],{"title":541,"url":542},"Langfuse documentation: observability and application tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Foverview",{"title":544,"url":545},"Langfuse documentation: get started with tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Fget-started",{"title":547,"url":52},"Langfuse pricing: cloud plans, billable units and worked examples",{"title":549,"url":550},"Langfuse pricing: self-hosted plans and the feature comparison","https:\u002F\u002Flangfuse.com\u002Fpricing-self-host",{"title":552,"url":553},"Self-host Langfuse: deployment options, containers and storage services","https:\u002F\u002Flangfuse.com\u002Fself-hosting",{"title":555,"url":556},"Langfuse changelog: v4 is live (17 August 2026)","https:\u002F\u002Flangfuse.com\u002Fchangelog\u002F2026-08-17-langfuse-v4",{"title":558,"url":559},"Langfuse blog: Langfuse joins ClickHouse (16 January 2026)","https:\u002F\u002Flangfuse.com\u002Fblog\u002Fjoining-clickhouse",{"title":561,"url":562},"GitHub: langfuse\u002Flangfuse, the platform repository","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse","\u002Fimages\u002Fblog\u002Flangfuse\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flangfuse\u002Fog.jpg",[60,61,62],"Langfuse review: tracing, prompts and evals you can host yourself","Langfuse puts LLM traces, prompt versions and experiments on one MIT-licensed platform. What self-hosting really costs, how the unit pricing adds up, and where it loses.","A pipeline from a batched application event through the Langfuse web container and object storage into ClickHouse, with Redis and PostgreSQL alongside.","MIT · paid from $59 per month",{"slug":571,"published":572,"minutes":6,"category":7,"tags":573,"keywords":578,"about":585,"sources":589,"cover":605,"og":606,"expertise":58,"locales":607,"lang":60,"title":608,"description":609,"coverAlt":610,"url":611,"pricing":612,"kind":436},"openrouter","2026-07-23",[436,574,575,576,577],"Model routing","Fallbacks","OpenAI-compatible","Pay per token",[571,579,443,580,581,582,583,584],"openrouter vs litellm","openrouter pricing","openai compatible api gateway","llm fallback routing","multi model api gateway","byok llm routing",[586],{"name":587,"url":588},"OpenRouter","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenRouter",[590,593,594,597,600,603],{"title":591,"url":592},"OpenRouter documentation: quickstart","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fquickstart",{"title":505,"url":506},{"title":595,"url":596},"OpenRouter documentation: model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":598,"url":599},"OpenRouter documentation: provider routing","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fprovider-selection",{"title":601,"url":602},"OpenRouter documentation index","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fllms.txt",{"title":604,"url":588},"Wikipedia: OpenRouter","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fog.jpg",[60,61,62],"OpenRouter: one API key in front of every model you might call","OpenRouter puts 500+ models from 80+ providers behind one OpenAI-compatible endpoint, with fallbacks and pass-through pricing. What it costs, where it breaks.","Request path through OpenRouter: client, router, candidate providers, fallback list and the model that finally answers.","https:\u002F\u002Fopenrouter.ai","Pay per token, no subscription",1791383548909]