[{"data":1,"prerenderedAt":2210},["ShallowReactive",2],{"blog-category-en-llmops":3},[4,77,124,181,250,312,369,439,493,547,605,659,705,812,902,1013,1083,1192,1251,1293,1376,1427,1479,1530,1609,1649,1697,1745,1793,1846,1900,1934,1981,2027,2070,2110],{"slug":5,"published":6,"minutes":7,"category":8,"tags":9,"tagPages":15,"keywords":17,"about":29,"sources":36,"cover":67,"og":68,"expertise":69,"locales":70,"lang":71,"title":74,"description":75,"coverAlt":76},"claude-plans-pricing-usage-limits","2026-10-21",11,"llmops",[10,11,12,13,14],"Claude","Pricing","Usage limits","Claude Code","LLM costs",[16],"claude-code",[18,19,20,21,22,23,24,25,26,27,28],"claude pricing","claude pro vs max","claude max plan","claude team plan price","claude usage limits","claude 5-hour limit","claude weekly limit","claude code usage limits","claude subscription vs api","claude api credits max plan","claude free plan",[30,33],{"name":31,"url":32},"Claude (AI)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClaude_(AI)",{"name":34,"url":35},"Anthropic","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAnthropic",[37,40,43,46,49,52,55,58,61,64],{"title":38,"url":39},"Anthropic pricing page (claude.com\u002Fpricing)","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":41,"url":42},"Claude Help Center: What is the Pro plan?","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F8325606-what-is-the-pro-plan",{"title":44,"url":45},"Claude Help Center: What is the Max plan?","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F11049741-what-is-the-max-plan",{"title":47,"url":48},"Claude Help Center: What is the Team plan?","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F9266767-what-is-the-team-plan",{"title":50,"url":51},"Claude Help Center: Understanding usage and length limits","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F11647753-understanding-usage-and-length-limits",{"title":53,"url":54},"Claude Help Center: Usage limit best practices","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F9797557-usage-limit-best-practices",{"title":56,"url":57},"Claude Help Center: Models, usage, and limits in Claude Code","https:\u002F\u002Fsupport.claude.com\u002Fen\u002Farticles\u002F14552983-models-usage-and-limits-in-claude-code",{"title":59,"url":60},"Claude Platform docs: pricing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":62,"url":63},"Anthropic: Introducing Claude Haiku 5.5 (7 October 2026)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-haiku-5-5",{"title":65,"url":66},"Claude blog: Claude Cowork is now Claude","https:\u002F\u002Fclaude.com\u002Fblog\u002Fcowork-is-now-claude","\u002Fimages\u002Fblog\u002Fclaude-plans-pricing-usage-limits\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fclaude-plans-pricing-usage-limits\u002Fog.jpg","ai-engineer",[71,72,73],"en","de","hu","Claude pricing explained: Free, Pro, Max, Team and the API, and how usage limits work","Claude plan prices as of October 2026, how the five-hour and weekly usage limits work, Team seats, API token prices and how to pick a plan.","Claude pricing and usage limits: three jars of growing size filled with tokens, next to a clock and an hourglass.",{"slug":78,"published":79,"minutes":80,"category":8,"tags":81,"tagPages":87,"keywords":88,"about":98,"sources":101,"cover":118,"og":119,"expertise":69,"locales":120,"lang":71,"title":121,"description":122,"coverAlt":123},"claude-haiku-5-5","2026-10-19",15,[82,83,84,85,86],"Claude Haiku 5.5","LLM pricing","Reasoning effort","Model routing","Subagents",[],[89,90,78,91,92,93,94,95,96,97],"claude haiku 5.5","haiku 5.5 pricing","haiku 5.5 vs haiku 4.5","haiku 5.5 vs sonnet 5.5","haiku 5.5 benchmarks","haiku 5.5 effort","claude subagent model","cheapest claude model","haiku 5.5 api",[99,100],{"name":31,"url":32},{"name":34,"url":35},[102,104,107,109,112,115],{"title":103,"url":63},"Anthropic: Introducing Claude Haiku 5.5 (October 7, 2026)",{"title":105,"url":106},"Claude Platform docs: Claude Haiku 5.5 overview","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fmodels\u002Fhaiku-5-5\u002Foverview",{"title":108,"url":60},"Claude Platform docs: Pricing",{"title":110,"url":111},"Claude Platform docs: Effort","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Feffort",{"title":113,"url":114},"Anthropic: Introducing Claude Sonnet 5.5 (September 28, 2026)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-sonnet-5-5",{"title":116,"url":117},"Claude Platform docs: Models overview","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fmodels\u002Foverview","\u002Fimages\u002Fblog\u002Fclaude-haiku-5-5\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fclaude-haiku-5-5\u002Fog.jpg",[71,72,73],"Claude Haiku 5.5: pricing, effort levels and the jobs it takes over from Sonnet","Claude Haiku 5.5 pricing by tier, benchmarks against Haiku 4.5 and Sonnet 5.5, effort levels, and which Sonnet 5.5 jobs can move to it.","Claude Haiku 5.5: a light paper airplane carrying a small coin flies quickly past a large, heavy jar.",{"slug":125,"published":126,"minutes":80,"category":8,"tags":127,"tagPages":133,"keywords":134,"about":148,"sources":156,"cover":175,"og":176,"expertise":69,"locales":177,"lang":71,"title":178,"description":179,"coverAlt":180},"deepseek-v4-1-flash-1017","2026-10-17",[128,129,130,131,132],"DeepSeek","Open-weight models","KV cache","Mixture of experts","LLM cost",[],[135,136,137,138,139,140,141,142,143,144,145,146,147],"DeepSeek V4.1 Flash 1017","DeepSeek V4.1 Flash","Causal Encoder-Decoder","Compressed Sparse Attention 2","CSA2","FP4 KV cache","KV cache compression","SWA Bounded Replay","Engram conditional memory","DSpark speculative decoding","DeepSeek pricing","DeepSWE benchmark","open-weight coding model",[149,151,153],{"name":128,"url":150},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDeepSeek",{"name":131,"url":152},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMixture_of_experts",{"name":154,"url":155},"Transformer (deep learning architecture)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransformer_(deep_learning_architecture)",[157,160,163,166,169,172],{"title":158,"url":159},"DeepSeek-AI: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression (arXiv:2609.19969)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.19969",{"title":161,"url":162},"Hugging Face: deepseek-ai\u002FDeepSeek-V4.1-Flash-1017 model card","https:\u002F\u002Fhuggingface.co\u002Fdeepseek-ai\u002FDeepSeek-V4.1-Flash-1017",{"title":164,"url":165},"OpenRouter: DeepSeek V4.1 Flash 1017, pricing and providers","https:\u002F\u002Fopenrouter.ai\u002Fdeepseek\u002Fdeepseek-v4.1-flash-1017",{"title":167,"url":168},"The Decoder: Deepseek V4.1 Flash 1017 beats larger rivals in agentic tasks while once again massively cutting per-task costs","https:\u002F\u002Fthe-decoder.com\u002Fdeepseek-v4-1-flash-1017-beats-larger-rivals-in-agentic-tasks-while-once-again-massively-cutting-per-task-costs\u002F",{"title":170,"url":171},"AI Weekly: DeepSeek opens V4.1-Flash-1017 weights and $0.75 Search API","https:\u002F\u002Faiweekly.co\u002Falerts\u002Fdeepseek-opens-v41-flash-1017-weights-and-075-search-api",{"title":173,"url":174},"DeepSeek on X: DeepSeek-V4.1-Flash-1017 announcement","https:\u002F\u002Fx.com\u002Fdeepseek_ai\u002Fstatus\u002F2111375640717033777","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fog.jpg",[71,72,73],"DeepSeek V4.1 Flash 1017: 890 bytes of KV cache per token, and what that buys an agent","DeepSeek V4.1 Flash 1017 deep dive: the encoder-decoder split, CSA2 cache sharing, FP4 KV cache, benchmarks, and the real cost per agent task.","DeepSeek V4.1 Flash 1017: a robot with a tiny backpack sets off on a long path next to a huge suitcase.",{"slug":182,"published":126,"minutes":183,"category":8,"tags":184,"tagPages":190,"keywords":191,"about":203,"sources":213,"cover":244,"og":245,"expertise":69,"locales":246,"lang":71,"title":247,"description":248,"coverAlt":249},"llm-rate-limits-retries-provider-fallback",10,[185,186,187,188,189],"Rate limits","Retries","Fallback","Reliability","LLM gateway",[],[192,193,194,195,196,197,198,199,200,201,202],"llm rate limit handling","429 too many requests llm api","exponential backoff with jitter","anthropic 529 overloaded error","openai rate limit retry","llm provider fallback","litellm fallbacks","retry-after header","llm circuit breaker","multi provider llm failover","claude api rate limits",[204,207,210],{"name":205,"url":206},"Token bucket","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FToken_bucket",{"name":208,"url":209},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",{"name":211,"url":212},"Circuit breaker design pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCircuit_breaker_design_pattern",[214,217,220,223,226,229,232,235,238,241],{"title":215,"url":216},"Claude Platform Docs: Rate limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":218,"url":219},"Claude Platform Docs: API errors","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Ferrors",{"title":221,"url":222},"OpenAI API Docs: Rate limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Frate-limits",{"title":224,"url":225},"AWS Builders Library: Timeouts, retries and backoff with jitter","https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3EumjoZascWd1oZiEgL8ORlv3qE\u002Ftimeouts-retries-and-backoff-with-jitter",{"title":227,"url":228},"MDN: Retry-After header","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FRetry-After",{"title":230,"url":231},"Martin Fowler: Circuit Breaker (2014)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FCircuitBreaker.html",{"title":233,"url":234},"LiteLLM Docs: Router, retries and cooldowns","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":236,"url":237},"LiteLLM Docs: Proxy fallbacks and reliability","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Freliability",{"title":239,"url":240},"OpenRouter Docs: Model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":242,"url":243},"AI SDK Docs: Settings (maxRetries, timeout)","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fsettings","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fog.jpg",[71,72,73],"LLM rate limits in production: retries, backoff and provider fallback","How LLM rate limits work, which errors to retry, backoff with jitter, retrying in one layer only, and fallback chains that do not break your output.","LLM rate limits and fallbacks: a van waits at a closed barrier with an hourglass, a side road leading to an open gate.",{"slug":251,"published":126,"minutes":252,"category":8,"tags":253,"tagPages":259,"keywords":260,"about":271,"sources":281,"cover":306,"og":307,"expertise":69,"locales":308,"lang":71,"title":309,"description":310,"coverAlt":311},"prompt-versioning-management",8,[254,255,256,257,258],"Prompt management","Versioning","LLMOps","Evals","Langfuse",[],[261,262,263,264,265,266,267,268,269,270],"prompt versioning","prompt management","prompt registry","version control for prompts","langfuse prompt management","mlflow prompt registry","prompts in git","openai prompt object deprecation","prompt rollback production","prompt ci evaluation",[272,275,278],{"name":273,"url":274},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":276,"url":277},"Version control","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVersion_control",{"name":279,"url":280},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[282,285,288,291,294,297,300,303],{"title":283,"url":284},"OpenAI API Docs: Migrate from prompt objects","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompting\u002Fmigrate-from-prompt-object",{"title":286,"url":287},"OpenAI API Docs: Prompt engineering (reusable prompts deprecation note)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-engineering",{"title":289,"url":290},"Langfuse Docs: Prompt version control","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fprompt-version-control",{"title":292,"url":293},"Langfuse Docs: Prompt caching in the SDKs","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fcaching",{"title":295,"url":296},"Langfuse Docs: Link prompts to traces","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Flink-to-traces",{"title":298,"url":299},"MLflow Docs: Prompt Registry","https:\u002F\u002Fmlflow.org\u002Fdocs\u002Flatest\u002Fgenai\u002Fprompt-registry\u002F",{"title":301,"url":302},"Promptfoo Docs: GitHub Action","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintegrations\u002Fgithub-action\u002F",{"title":304,"url":305},"Claude Platform Docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fog.jpg",[71,72,73],"Prompt versioning in production: git, registries, labels and rollbacks","Prompt versioning in production: what belongs in a version, git vs a prompt registry, labels and rollbacks, eval gates in CI, and cache side effects.","Prompt versioning in production: a hand pulls an older jar with a scroll forward from a labelled row on a shelf.",{"slug":313,"published":126,"minutes":314,"category":8,"tags":315,"tagPages":320,"keywords":321,"about":332,"sources":342,"cover":363,"og":364,"expertise":69,"locales":365,"lang":71,"title":366,"description":367,"coverAlt":368},"llm-batch-api-offline-workloads",9,[316,317,256,318,319],"Batch API","Cost","Prompt caching","Data pipelines",[],[322,323,324,325,326,327,328,329,330,331],"llm batch api","anthropic message batches api","openai batch api","gemini batch mode","batch inference llm cost","batch api 50 percent discount","openai flex processing","bedrock batch inference","llm offline processing","batch api prompt caching",[333,336,339],{"name":334,"url":335},"Batch processing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBatch_processing",{"name":337,"url":338},"JSON Lines","https:\u002F\u002Fjsonlines.org\u002F",{"name":340,"url":341},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[343,346,348,349,352,355,357,360],{"title":344,"url":345},"Claude Platform Docs: Batch processing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fbatch-processing",{"title":347,"url":216},"Claude Platform Docs: Rate limits (Message Batches API)",{"title":304,"url":305},{"title":350,"url":351},"OpenAI API Docs: Batch API","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fbatch",{"title":353,"url":354},"OpenAI API Docs: Flex processing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fflex-processing",{"title":356,"url":222},"OpenAI API Docs: Rate limits (batch queue limits)",{"title":358,"url":359},"Google AI for Developers: Gemini Batch API","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fbatch-api",{"title":361,"url":362},"Amazon Bedrock User Guide: Batch inference","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbatch-inference.html","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fog.jpg",[71,72,73],"LLM batch APIs: half-price inference for work that can wait","When to use the Anthropic, OpenAI and Gemini batch APIs, how limits, result matching and failures work, and how batch discounts stack with prompt caching.","LLM batch APIs: a tray of envelopes waits overnight beside a laptop and a half-coin price tag.",{"slug":370,"published":126,"minutes":7,"category":8,"tags":371,"tagPages":375,"keywords":376,"about":388,"sources":396,"cover":433,"og":434,"expertise":69,"locales":435,"lang":71,"title":436,"description":437,"coverAlt":438},"small-language-models-when-enough",[372,373,374,85,256],"Small language models","Distillation","Quantization",[],[377,378,379,380,381,382,383,384,385,386,387],"small language models","when to use a small language model","SLM vs LLM cost","model distillation","quantization aware training","Q4_K_M","LLM routing","small model evaluation","on-device LLM","Gemma 4 E4B","local LLM privacy",[389,392,395],{"name":390,"url":391},"Small language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSmall_language_model",{"name":393,"url":394},"Knowledge distillation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_distillation",{"name":340,"url":341},[397,400,403,406,409,412,415,418,421,424,427,430],{"title":398,"url":399},"Belcak et al.: Small Language Models are the Future of Agentic AI (arXiv 2506.02153)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.02153",{"title":401,"url":402},"Google: Gemma 4 model card","https:\u002F\u002Fai.google.dev\u002Fgemma\u002Fdocs\u002Fcore\u002Fmodel_card_4",{"title":404,"url":405},"Google: Gemma 3 QAT models, state-of-the-art AI on consumer GPUs","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fgemma-3-quantized-aware-trained-state-of-the-art-ai-to-consumer-gpus\u002F",{"title":407,"url":408},"Google: Introducing Gemma 3 270M","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fintroducing-gemma-3-270m\u002F",{"title":410,"url":411},"Microsoft Research: Phi-4 Technical Report (arXiv 2412.08905)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.08905",{"title":413,"url":414},"Qwen: Qwen3 Technical Report (arXiv 2505.09388)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.09388",{"title":416,"url":417},"Apple: Apple Intelligence Foundation Language Models, Tech Report 2025 (arXiv 2507.13575)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.13575",{"title":419,"url":420},"Ong et al.: RouteLLM, Learning to Route LLMs with Preference Data (arXiv 2406.18665)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.18665",{"title":422,"url":423},"LMSYS: RouteLLM, an open-source framework for cost-effective LLM routing","https:\u002F\u002Flmsys.org\u002Fblog\u002F2024-07-01-routellm\u002F",{"title":425,"url":426},"Gomes et al.: On the Generalization vs Fidelity Paradox in Knowledge Distillation (arXiv 2505.15442)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.15442",{"title":428,"url":429},"llama.cpp: quantize tool documentation","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fquantize\u002FREADME.md",{"title":431,"url":432},"European Commission: AI Act","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Fpolicies\u002Fregulatory-framework-ai","\u002Fimages\u002Fblog\u002Fsmall-language-models-when-enough\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsmall-language-models-when-enough\u002Fog.jpg",[71,72,73],"Small language models: when a 4B model is enough","When a small model beats a frontier API: cost per resolved case, latency, privacy, distillation, quantization, routing and an eval plan for your traffic.","Small language models: a hand picks a pocket knife over a large toolbox to cut a parcel string.",{"slug":440,"published":126,"minutes":183,"category":8,"tags":441,"tagPages":444,"keywords":445,"about":457,"sources":463,"cover":487,"og":488,"expertise":69,"locales":489,"lang":71,"title":490,"description":491,"coverAlt":492},"reasoning-models-effort-thinking-budget",[442,443,256,317,257],"Reasoning models","Effort",[],[446,447,448,449,450,451,452,453,454,455,456],"reasoning effort parameter","claude effort parameter","claude adaptive thinking","budget_tokens deprecated","openai reasoning effort","gemini thinking_level","thinking tokens cost","reasoning tokens billing","task budget claude","overthinking reasoning models","max_tokens thinking",[458,461,462],{"name":459,"url":460},"Reasoning language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FReasoning_language_model",{"name":340,"url":341},{"name":273,"url":274},[464,466,469,472,475,478,481,484],{"title":465,"url":111},"Claude Platform Docs: Effort",{"title":467,"url":468},"Claude Platform Docs: Extended thinking (manual budget_tokens mode)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fextended-thinking",{"title":470,"url":471},"Claude Platform Docs: Steering thinking (cost, caching, pricing)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fthinking-steering-and-cost",{"title":473,"url":474},"Claude Platform Docs: Task budgets","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Ftask-budgets",{"title":476,"url":477},"OpenAI API Docs: Reasoning models","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Freasoning",{"title":479,"url":480},"Google AI for Developers: Gemini thinking","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fthinking",{"title":482,"url":483},"Chen et al.: Do NOT Think That Much for 2+3=? On the Overthinking of o1-Like LLMs (arXiv 2412.21187)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.21187",{"title":485,"url":486},"Gema et al.: Inverse Scaling in Test-Time Compute (arXiv 2507.14417)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.14417","\u002Fimages\u002Fblog\u002Freasoning-models-effort-thinking-budget\u002Fcover.webp","\u002Fimages\u002Fblog\u002Freasoning-models-effort-thinking-budget\u002Fog.jpg",[71,72,73],"Reasoning effort and thinking budgets: how much should a model think?","Reasoning effort on Claude, OpenAI and Gemini: adaptive thinking, what thinking tokens cost, and how to pick a level with an effort sweep.","Thinking budgets and effort: a robot thinks under a thought bubble beside a large hourglass and a three-step dial.",{"slug":494,"published":495,"minutes":314,"category":8,"tags":496,"tagPages":502,"keywords":503,"about":515,"sources":522,"cover":541,"og":542,"expertise":69,"locales":543,"lang":71,"title":544,"description":545,"coverAlt":546},"structured-outputs-json-schema-llm","2026-10-16",[497,498,499,500,501],"Structured outputs","JSON Schema","Constrained decoding","LLM APIs","Validation",[],[504,505,506,507,508,509,510,511,512,513,514],"structured outputs LLM","JSON schema LLM output","OpenAI structured outputs strict mode","Claude structured outputs","Gemini structured output","constrained decoding","JSON mode vs structured outputs","validate LLM JSON output","Zod structured output","Pydantic LLM output","vLLM structured outputs",[516,519,521],{"name":517,"url":518},"JSON","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON",{"name":498,"url":520},"https:\u002F\u002Fjson-schema.org\u002F",{"name":340,"url":341},[523,526,529,532,535,538],{"title":524,"url":525},"OpenAI API docs: Structured model outputs","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs",{"title":527,"url":528},"Claude API docs: Structured outputs","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fstructured-outputs",{"title":530,"url":531},"Gemini API docs: Structured outputs","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fstructured-output",{"title":533,"url":534},"vLLM docs: Structured Outputs","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Ffeatures\u002Fstructured_outputs.html",{"title":536,"url":537},"Tam et al.: Let Me Speak Freely? A Study on the Impact of Format Restrictions on Performance of LLMs (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2408.02442",{"title":539,"url":540},"Geng et al.: JSONSchemaBench: A Rigorous Benchmark of Structured Outputs for Language Models (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.10868","\u002Fimages\u002Fblog\u002Fstructured-outputs-json-schema-llm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fstructured-outputs-json-schema-llm\u002Fog.jpg",[71,72,73],"Structured outputs with JSON Schema: what the guarantee covers, and what it does not","How structured outputs and constrained decoding work on OpenAI, Claude, Gemini and vLLM, which schema rules matter, and what you still validate.","Structured outputs with JSON Schema: a cookie cutter makes a perfect shape, one cookie beside it shaped right but cracked.",{"slug":548,"published":495,"minutes":314,"category":8,"tags":549,"tagPages":555,"keywords":556,"about":569,"sources":577,"cover":599,"og":600,"expertise":69,"locales":601,"lang":71,"title":602,"description":603,"coverAlt":604},"evaluating-ai-agents-trajectories",[550,551,552,553,554],"Agent evals","Trajectories","Tool calling","pass^k","LLM-as-judge",[],[557,558,559,560,561,562,563,564,565,566,567,568],"evaluating AI agents","agent trajectory evaluation","agent evals","tool call accuracy","trajectory match evaluator","pass^k metric","tau-bench","LLM as a judge for agents","agent regression testing","outcome vs trajectory evaluation","agentevals","tool correctness metric",[570,573,576],{"name":571,"url":572},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":574,"url":575},"Software testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_testing",{"name":340,"url":341},[578,581,584,587,590,593,596],{"title":579,"url":580},"Anthropic: Demystifying evals for AI agents (Jan 2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fdemystifying-evals-for-ai-agents",{"title":582,"url":583},"Yao et al.: τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.12045",{"title":585,"url":586},"Barres et al.: τ²-Bench: Evaluating Conversational Agents in a Dual-Control Environment (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.07982",{"title":588,"url":589},"LangChain: agentevals (GitHub)","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fagentevals",{"title":591,"url":592},"DeepEval docs: Tool Correctness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-tool-correctness",{"title":594,"url":595},"Ragas docs: Agentic or tool use metrics","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fagents\u002F",{"title":597,"url":598},"OpenAI API docs: Trace grading","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ftrace-grading","\u002Fimages\u002Fblog\u002Fevaluating-ai-agents-trajectories\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fevaluating-ai-agents-trajectories\u002Fog.jpg",[71,72,73],"Evaluating AI agents: grading trajectories, outcomes and reliability","How to evaluate AI agents: outcome vs trajectory graders, trajectory match modes, pass^k, isolated environments and LLM judges that hold up.","Evaluating AI agents: a robot's footprint trail through a maze is checked by a large pencil, a flag at the exit.",{"slug":606,"published":495,"minutes":183,"category":8,"tags":607,"tagPages":613,"keywords":614,"about":626,"sources":633,"cover":653,"og":654,"expertise":69,"locales":655,"lang":71,"title":656,"description":657,"coverAlt":658},"llm-model-migration-regression-testing",[608,609,610,611,612],"Model migration","Regression testing","Deprecations","LLM evals","Canary releases",[],[615,616,617,618,619,620,621,622,623,624,625],"LLM model migration","LLM regression testing","model deprecation OpenAI","Claude model deprecation","switch LLM model without breaking","LLM model upgrade checklist","prompt regression testing","shadow testing LLM","model retirement date","golden dataset LLM","LLM drift monitoring",[627,629,630],{"name":609,"url":628},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRegression_testing",{"name":340,"url":341},{"name":631,"url":632},"Feature toggle","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeature_toggle",[634,637,640,643,646,649,652],{"title":635,"url":636},"Claude API docs: Model deprecations","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fmodel-deprecations",{"title":638,"url":639},"OpenAI API docs: Deprecations","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fdeprecations",{"title":641,"url":642},"Gemini API docs: Models and version name patterns","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels",{"title":644,"url":645},"Claude API docs: Claude Opus 5.5 migration guide","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fmodels\u002Fopus-5-5\u002Fmigration-guide",{"title":647,"url":648},"Chen, Zaharia, Zou: How is ChatGPT's behavior changing over time? (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.09009",{"title":650,"url":651},"Sclar et al.: Quantifying Language Models' Sensitivity to Spurious Features in Prompt Design (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.11324",{"title":579,"url":580},"\u002Fimages\u002Fblog\u002Fllm-model-migration-regression-testing\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-model-migration-regression-testing\u002Fog.jpg",[71,72,73],"LLM model migrations without regressions: deprecations, evals, shadow traffic","A playbook for switching LLM models: deprecation timelines, contract fixes, a regression suite, prompt re-tuning, shadow traffic and canary rollout.","LLM model migrations: moving boxes on a hand truck travel from an old house to a new one, a tape measure between them.",{"slug":660,"published":495,"minutes":661,"category":8,"tags":662,"tagPages":667,"keywords":669,"about":680,"sources":688,"cover":699,"og":700,"expertise":69,"locales":701,"lang":71,"title":702,"description":703,"coverAlt":704},"semantic-caching-llm-responses",6,[663,132,664,665,666],"Semantic cache","Latency","Embeddings","Redis",[668],"embeddings",[670,671,672,673,674,675,676,677,678,679],"semantic caching llm","semantic cache","llm response cache","gptcache","semantic cache similarity threshold","prompt caching vs semantic caching","reduce llm api cost","cache llm answers redis","semantic cache false positive","llm cache invalidation",[681,684,687],{"name":682,"url":683},"Cache (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCache_(computing)",{"name":685,"url":686},"Sentence embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSentence_embedding",{"name":340,"url":341},[689,692,695,696],{"title":690,"url":691},"Regmi and Pun: GPT Semantic Cache: Reducing LLM Costs and Latency via Semantic Embedding Caching (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.05276",{"title":693,"url":694},"Zilliz: GPTCache README (modules, similarity evaluation, eviction)","https:\u002F\u002Fgithub.com\u002Fzilliztech\u002FGPTCache",{"title":304,"url":305},{"title":697,"url":698},"pgvector README: vector types and indexes","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector","\u002Fimages\u002Fblog\u002Fsemantic-caching-llm-responses\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemantic-caching-llm-responses\u002Fog.jpg",[71,72,73],"Semantic caching for LLM apps: when reusing answers is safe, and when it is not","How semantic caches reuse LLM answers for similar questions, how they differ from prompt caching, and how to avoid wrong hits, leaks and stale answers.","Semantic caching for LLM apps: a hand hands in a ticket at a coat check and gets back a coat from the hooks.",{"slug":706,"published":707,"updated":708,"minutes":183,"category":8,"tags":709,"tagPages":714,"keywords":717,"about":726,"sources":736,"cover":806,"og":807,"expertise":69,"locales":808,"lang":71,"title":809,"description":810,"coverAlt":811},"self-hosted-llm-gdpr-cost","2026-10-09","2026-10-10",[710,711,712,713,129],"Self-hosting","GDPR","vLLM","GPU cost",[715,716],"self-hosting","gdpr",[718,719,720,721,722,723,724,725],"self-hosted LLM GDPR","self-host LLM data protection","LLM GPU memory requirements","vLLM throughput benchmark","EU GPU cloud for LLMs","LLM API vs self-hosting break-even","open-weight LLM hardware cost","data processing agreement LLM",[727,730,731,734],{"name":728,"url":729},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",{"name":340,"url":341},{"name":732,"url":733},"Graphics processing unit","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGraphics_processing_unit",{"name":712,"url":735},"https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm",[737,740,743,746,749,752,755,758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803],{"title":738,"url":739},"openai\u002Fgpt-oss-120b model card (Hugging Face)","https:\u002F\u002Fhuggingface.co\u002Fopenai\u002Fgpt-oss-120b",{"title":741,"url":742},"mistralai\u002FMistral-Small-3.2-24B-Instruct-2506 model card (Hugging Face)","https:\u002F\u002Fhuggingface.co\u002Fmistralai\u002FMistral-Small-3.2-24B-Instruct-2506",{"title":744,"url":745},"meta-llama\u002FLlama-3.3-70B-Instruct model card (Hugging Face)","https:\u002F\u002Fhuggingface.co\u002Fmeta-llama\u002FLlama-3.3-70B-Instruct",{"title":747,"url":748},"mistralai\u002FMistral-Large-3-675B-Instruct-2512 model card (Hugging Face)","https:\u002F\u002Fhuggingface.co\u002Fmistralai\u002FMistral-Large-3-675B-Instruct-2512",{"title":750,"url":751},"vLLM blog: v0.6.0 performance update (September 2024)","https:\u002F\u002Fblog.vllm.ai\u002F2024\u002F09\u002F05\u002Fperf-update.html",{"title":753,"url":754},"vLLM documentation: engine arguments","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fconfiguration\u002Fengine_args.html",{"title":756,"url":757},"vLLM documentation: vllm bench serve","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fcli\u002Fbench\u002Fserve.html",{"title":759,"url":760},"SemiAnalysis InferenceX: Llama 3.3 70B on H100 vs H200","https:\u002F\u002Finferencex.semianalysis.com\u002Fcompare\u002Fllama-3-3-70b-h100-vs-h200",{"title":762,"url":763},"Scaleway GPU instances pricing","https:\u002F\u002Fwww.scaleway.com\u002Fen\u002Fpricing\u002Fgpu\u002F",{"title":765,"url":766},"Scaleway blog: a transparent update on Scaleway pricing (27 April 2026)","https:\u002F\u002Fwww.scaleway.com\u002Fen\u002Fblog\u002Fa-transparent-update-on-scaleway-pricing\u002F",{"title":768,"url":769},"Scaleway Generative APIs pricing","https:\u002F\u002Fwww.scaleway.com\u002Fen\u002Fpricing\u002Fmodel-as-a-service\u002F",{"title":771,"url":772},"OVHcloud public cloud price list","https:\u002F\u002Fwww.ovhcloud.com\u002Fen\u002Fpublic-cloud\u002Fprices\u002F",{"title":774,"url":775},"OVHcloud AI Endpoints","https:\u002F\u002Fwww.ovhcloud.com\u002Fen\u002Fpublic-cloud\u002Fai-endpoints\u002F",{"title":777,"url":778},"OVHcloud AI Endpoints model catalogue","https:\u002F\u002Fwww.ovhcloud.com\u002Fen\u002Fpublic-cloud\u002Fai-endpoints\u002Fcatalog\u002F",{"title":780,"url":781},"Hetzner dedicated GPU servers","https:\u002F\u002Fwww.hetzner.com\u002Fdedicated-rootserver\u002Fmatrix-gpu\u002F",{"title":783,"url":784},"NVIDIA newsroom: GeForce RTX 50 Series launch","https:\u002F\u002Fnvidianews.nvidia.com\u002Fnews\u002Fnvidia-blackwell-geforce-rtx-50-series-opens-new-world-of-ai-computer-graphics",{"title":786,"url":787},"NVIDIA GeForce RTX 5090","https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fgeforce\u002Fgraphics-cards\u002F50-series\u002Frtx-5090\u002F",{"title":789,"url":790},"NVIDIA GeForce software licence","https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdrivers\u002Fgeforce-license\u002F",{"title":792,"url":793},"GDPR Article 28: processor","https:\u002F\u002Fgdpr-info.eu\u002Fart-28-gdpr\u002F",{"title":795,"url":796},"GDPR Article 44: general principle for transfers","https:\u002F\u002Fgdpr-info.eu\u002Fart-44-gdpr\u002F",{"title":798,"url":799},"European Commission: EU-US data transfers (Data Privacy Framework)","https:\u002F\u002Fcommission.europa.eu\u002Flaw\u002Flaw-topic\u002Fdata-protection\u002Finternational-dimension-data-protection\u002Feu-us-data-transfers_en",{"title":801,"url":802},"EDPB Opinion 28\u002F2024 on AI models (adopted 17 December 2024)","https:\u002F\u002Fwww.edpb.europa.eu\u002Fsystem\u002Ffiles\u002F2024-12\u002Fedpb_opinion_202428_ai-models_en.pdf",{"title":804,"url":805},"Mistral AI pricing","https:\u002F\u002Fmistral.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fself-hosted-llm-gdpr-cost\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fself-hosted-llm-gdpr-cost\u002Fog.jpg",[71,72,73],"Self-hosting LLMs for GDPR: when it is required and what it costs","Self-hosting an LLM for GDPR: when it is required, GPU memory for open-weight models, EU prices as of October 2026 and break-even per million tokens.","Self-hosted LLMs under GDPR: a server rack inside a locked house next to a piggy bank and coins.",{"slug":813,"published":814,"minutes":252,"category":8,"tags":815,"tagPages":821,"keywords":823,"about":831,"sources":842,"cover":896,"og":897,"expertise":69,"locales":898,"lang":71,"title":899,"description":900,"coverAlt":901},"deepeval","2026-10-06",[816,817,818,819,820],"LLM evaluation","pytest","LLM-as-a-judge","Red teaming","Open source",[822],"open-source",[813,824,825,826,827,828,829,830],"deepeval vs ragas","llm evaluation framework","pytest for llm outputs","g-eval metric","llm judge cost","deepeval pricing","llm red teaming open source",[832,835,838,841],{"name":833,"url":834},"DeepEval","https:\u002F\u002Fdeepeval.com",{"name":836,"url":837},"Confident AI","https:\u002F\u002Fwww.confident-ai.com",{"name":839,"url":840},"Pytest","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPytest",{"name":340,"url":341},[843,846,849,852,855,858,861,863,866,869,872,875,878,881,884,887,890,893],{"title":844,"url":845},"DeepEval documentation: getting started","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fgetting-started",{"title":847,"url":848},"GitHub: confident-ai\u002Fdeepeval, the README and licence","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval",{"title":850,"url":851},"PyPI: deepeval, the latest release and Python requirement","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeepeval\u002F",{"title":853,"url":854},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":856,"url":857},"DeepEval documentation: G-Eval","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-llm-evals",{"title":859,"url":860},"DeepEval documentation: Faithfulness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-faithfulness",{"title":862,"url":592},"DeepEval documentation: Tool Correctness",{"title":864,"url":865},"DeepEval documentation: generate goldens from documents","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fsynthesizer-generate-from-docs",{"title":867,"url":868},"DeepEval documentation: unit testing in CI\u002FCD","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fevaluation-unit-testing-in-ci-cd",{"title":870,"url":871},"DeepEval FAQ","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Ffaq",{"title":873,"url":874},"DeepEval documentation: data privacy","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fdata-privacy",{"title":876,"url":877},"GitHub: confident-ai\u002Fdeepteam, the red-teaming framework","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepteam",{"title":879,"url":880},"Confident AI pricing","https:\u002F\u002Fwww.confident-ai.com\u002Fpricing",{"title":882,"url":883},"Confident AI documentation: data residency","https:\u002F\u002Fwww.confident-ai.com\u002Fdocs\u002Fsettings\u002Fdata-residency",{"title":885,"url":886},"Confident AI subprocessor list","https:\u002F\u002Fwww.confident-ai.com\u002Fsubprocessors-list",{"title":888,"url":889},"GitHub: explodinggradients\u002Fragas, the README","https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas",{"title":891,"url":892},"GitHub: promptfoo\u002Fpromptfoo, the README","https:\u002F\u002Fgithub.com\u002Fpromptfoo\u002Fpromptfoo",{"title":894,"url":895},"Braintrust pricing","https:\u002F\u002Fwww.braintrust.dev\u002Fpricing","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fog.jpg",[71,72,73],"DeepEval review: pytest for LLM outputs, and the judge bill","DeepEval: LLM checks as pytest-style tests with built-in judge metrics. The library is free and Apache-2.0; judge calls and data flow are the real cost.","DeepEval review: a judge's gavel beside a rack of test tubes and an open coin purse.",{"slug":903,"published":814,"minutes":252,"category":8,"tags":904,"tagPages":910,"keywords":912,"about":920,"sources":931,"cover":1007,"og":1008,"expertise":69,"locales":1009,"lang":71,"title":1010,"description":1011,"coverAlt":1012},"dspy",[905,906,907,908,909],"Prompt optimisation","LLM programs","MIPROv2","GEPA","Python",[911],"python",[903,913,914,915,916,917,918,919],"dspy tutorial","dspy optimizer","miprov2","gepa prompt optimization","dspy vs prompt engineering","automatic prompt optimization","dspy signatures",[921,924,925,928],{"name":922,"url":923},"DSPy","https:\u002F\u002Fdspy.ai",{"name":273,"url":274},{"name":926,"url":927},"Bayesian optimization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBayesian_optimization",{"name":929,"url":930},"Fine-tuning (deep learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFine-tuning_(deep_learning)",[932,935,938,941,944,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004],{"title":933,"url":934},"DSPy home and cost example","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002F",{"title":936,"url":937},"DSPy installation","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Finstallation\u002F",{"title":939,"url":940},"DSPy: program, don't prompt","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fprogram-dont-prompt\u002F",{"title":942,"url":943},"DSPy signatures","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fdiving-deeper\u002Fsignatures-in-depth\u002F",{"title":945,"url":946},"DSPy metrics","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fmetrics\u002F",{"title":948,"url":949},"DSPy Example API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fprimitives\u002FExample\u002F",{"title":951,"url":952},"DSPy Predict API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FPredict\u002F",{"title":954,"url":955},"DSPy ChainOfThought API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FChainOfThought\u002F",{"title":957,"url":958},"DSPy ReAct API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FReAct\u002F",{"title":960,"url":961},"DSPy optimizers index","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002F",{"title":963,"url":964},"DSPy MIPROv2 API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FMIPROv2\u002F",{"title":966,"url":967},"MIPROv2 source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fmipro_optimizer_v2.py",{"title":969,"url":970},"DSPy BootstrapFewShot API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFewShot\u002F",{"title":972,"url":973},"DSPy BootstrapFinetune API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFinetune\u002F",{"title":975,"url":976},"DSPy GEPA guide","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fgepa-optimization\u002F",{"title":978,"url":979},"GEPA source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fgepa\u002Fgepa.py",{"title":981,"url":982},"DSPy saving programs","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fsaving\u002F",{"title":984,"url":985},"DSPy caching","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fcache\u002F",{"title":987,"url":988},"DSPy LM API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodels\u002FLM\u002F",{"title":990,"url":991},"DSPy FAQ","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ffaqs\u002F",{"title":993,"url":994},"DSPy GitHub repository","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy",{"title":996,"url":997},"DSPy 3.4.0 release","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Freleases\u002Ftag\u002F3.4.0",{"title":999,"url":1000},"DSPy paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.03714",{"title":1002,"url":1003},"MIPRO paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.11695",{"title":1005,"url":1006},"GEPA paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.19457","\u002Fimages\u002Fblog\u002Fdspy\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdspy\u002Fog.jpg",[71,72,73],"DSPy review: compile your prompts against a metric, not by hand","DSPy compiles prompts from signatures, a metric and examples: what its optimisers cost in model calls, and when a hand-written prompt still wins.","DSPy review: a robot cranks a machine that smooths a crumpled page, a target board above it.",{"slug":1014,"published":1015,"updated":708,"minutes":252,"category":8,"tags":1016,"tagPages":1022,"keywords":1023,"about":1031,"sources":1039,"cover":1077,"og":1078,"expertise":69,"locales":1079,"lang":71,"title":1080,"description":1081,"coverAlt":1082},"llama-cpp","2026-10-05",[1017,1018,1019,1020,1021],"llama.cpp","GGUF","Quantisation","Local inference","llama-server",[],[1017,1024,1025,1026,1027,1028,1029,1030],"llama.cpp review","GGUF quantisation levels","llama-server OpenAI compatible","llama.cpp vs Ollama","run LLM locally GDPR","llama.cpp CUDA Metal Vulkan","Q4_K_M vs Q8_0",[1032,1034,1035,1038],{"name":1017,"url":1033},"https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp",{"name":340,"url":341},{"name":1036,"url":1037},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":728,"url":729},[1040,1042,1045,1048,1051,1053,1056,1059,1062,1065,1068,1070,1073,1074],{"title":1041,"url":1033},"llama.cpp repository: goals, backends, licence",{"title":1043,"url":1044},"llama.cpp releases: builds b11538 to b11541","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Freleases",{"title":1046,"url":1047},"llama.cpp build documentation: CMake flags","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Fdocs\u002Fbuild.md",{"title":1049,"url":1050},"llama.cpp server README: endpoints, slots and grammars","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fserver\u002FREADME.md",{"title":1052,"url":429},"llama.cpp quantisation README: bits, size and speed",{"title":1054,"url":1055},"GGUF specification in the ggml repository","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md",{"title":1057,"url":1058},"Performance of llama.cpp on Apple Silicon M-series","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F4167",{"title":1060,"url":1061},"Performance of llama.cpp on Nvidia CUDA","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F15013",{"title":1063,"url":1064},"Ollama README: supported backends and REST API","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":1066,"url":1067},"LM Studio documentation: app overview","https:\u002F\u002Flmstudio.ai\u002Fdocs\u002Fapp",{"title":1069,"url":735},"vLLM README: features, hardware and licence",{"title":1071,"url":1072},"vLLM documentation: GGUF support","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Ffeatures\u002Fquantization\u002Fgguf.html",{"title":792,"url":793},{"title":1075,"url":1076},"GDPR Article 32: security of processing","https:\u002F\u002Fgdpr-info.eu\u002Fart-32-gdpr\u002F","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fog.jpg",[71,72,73],"llama.cpp review: the local engine under Ollama and LM Studio","llama.cpp runs open models in plain C and C++ on Metal, CUDA, Vulkan or the CPU. I cover GGUF quants, llama-server and where it falls short.","llama.cpp review: a llama with a cog stands on a desk beside a computer tower.",{"slug":1084,"published":1015,"minutes":1085,"category":8,"tags":1086,"tagPages":1091,"keywords":1096,"about":1104,"sources":1116,"cover":1186,"og":1187,"expertise":69,"locales":1188,"lang":71,"title":1189,"description":1190,"coverAlt":1191},"opik",7,[1087,1088,1089,1090,710],"LLM observability","Tracing","Evaluation","OpenTelemetry",[1092,1093,1094,1095,715],"llm-observability","tracing","evaluation","opentelemetry",[1084,1097,1098,1099,1100,1101,1102,1103],"opik review","opik vs langfuse","opik pricing","self-hosted llm tracing","opik opentelemetry","llm as a judge metrics","opik guardrails",[1105,1108,1110,1113],{"name":1106,"url":1107},"Comet ML","https:\u002F\u002Fwww.comet.com",{"name":1090,"url":1109},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":1111,"url":1112},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",{"name":1114,"url":1115},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[1117,1120,1123,1126,1129,1132,1135,1138,1141,1144,1147,1150,1153,1156,1159,1162,1165,1168,1171,1174,1177,1180,1183],{"title":1118,"url":1119},"Opik repository README on GitHub","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik",{"title":1121,"url":1122},"Opik LICENSE file: Apache License 2.0","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik\u002Fblob\u002Fmain\u002FLICENSE",{"title":1124,"url":1125},"Opik on PyPI: package metadata","https:\u002F\u002Fpypi.org\u002Fpypi\u002Fopik\u002Fjson",{"title":1127,"url":1128},"Opik product page","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fproducts\u002Fopik\u002F",{"title":1130,"url":1131},"Opik pricing","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fpricing\u002F",{"title":1133,"url":1134},"Opik docs: run locally with Docker Compose","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Flocal_deployment",{"title":1136,"url":1137},"Opik docs: Kubernetes deployment with Helm","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Fkubernetes",{"title":1139,"url":1140},"Opik docs: platform architecture","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Farchitecture",{"title":1142,"url":1143},"Opik docs: tracing getting started","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Ftracing\u002Fgetting-started",{"title":1145,"url":1146},"Opik docs: OpenTelemetry integration","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fintegrations\u002Fopentelemetry",{"title":1148,"url":1149},"Opik docs: evaluation metrics overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fevaluation\u002Fmetrics\u002Foverview",{"title":1151,"url":1152},"Opik docs: online evaluation rules","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fonline-evaluation\u002Frules",{"title":1154,"url":1155},"Opik docs: Prompt Library overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Fprompt-library\u002Foverview",{"title":1157,"url":1158},"Opik docs: optimisation algorithms","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Foptimization-runs\u002Falgorithms\u002Foverview",{"title":1160,"url":1161},"Opik docs: guardrails overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Foverview",{"title":1163,"url":1164},"Opik docs: guardrails server","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Fserver",{"title":1166,"url":1167},"Opik docs: SDK anonymizers","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fgateway-guardrails\u002Fanonymizers",{"title":1169,"url":1170},"Opik docs: data anonymization","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fadministration\u002Fdata_anonymization",{"title":1172,"url":1173},"Comet ML privacy policy","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fprivacy-policy\u002F",{"title":1175,"url":1176},"Comet Trust Center","https:\u002F\u002Ftrust.comet.com\u002F",{"title":1178,"url":1179},"Langfuse repository README (licence)","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse",{"title":1181,"url":1182},"Arize Phoenix repository README (licence)","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fphoenix",{"title":1184,"url":1185},"LangChain pricing (LangSmith plans)","https:\u002F\u002Fwww.langchain.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fopik\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopik\u002Fog.jpg",[71,72,73],"Opik review: open-source tracing and evals, with a US-hosted cloud","Opik: traces, LLM-as-a-judge metrics, prompt versions and an optimiser on one Apache 2.0 platform. Free to self-host, Pro cloud $19\u002Fmonth, US-hosted.","Opik review: binoculars on a stack of notebooks, a cloud above a flag in the background.",{"slug":1193,"published":1194,"minutes":7,"category":8,"tags":1195,"tagPages":1201,"keywords":1202,"about":1213,"sources":1223,"cover":1245,"og":1246,"expertise":69,"locales":1247,"lang":71,"title":1248,"description":1249,"coverAlt":1250},"local-text-to-speech-pipeline","2026-10-01",[1196,1197,1198,1199,1200],"Text-to-speech","Audio","Kokoro","FFmpeg","Vue",[],[1203,1204,1205,1206,1207,1208,1209,1210,1211,1212],"local text-to-speech","text-to-speech pipeline","kokoro tts","piper tts","bark tts comparison","narrate blog posts","wav to m4a ffmpeg","aac 192 kbit\u002Fs faststart","vue audio player","onnx tts mac",[1214,1217,1220],{"name":1215,"url":1216},"Speech synthesis","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSpeech_synthesis",{"name":1218,"url":1219},"Advanced Audio Coding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAdvanced_Audio_Coding",{"name":1221,"url":1222},"ESpeak","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FESpeak",[1224,1227,1230,1233,1236,1239,1242],{"title":1225,"url":1226},"Kokoro onnx: runtime bindings","https:\u002F\u002Fgithub.com\u002Fthewh1teagle\u002Fkokoro-onnx",{"title":1228,"url":1229},"Kokoro-82M model card","https:\u002F\u002Fhuggingface.co\u002Fhexgrad\u002FKokoro-82M",{"title":1231,"url":1232},"Piper text-to-speech","https:\u002F\u002Fgithub.com\u002Frhasspy\u002Fpiper",{"title":1234,"url":1235},"Bark by Suno","https:\u002F\u002Fgithub.com\u002Fsuno-ai\u002Fbark",{"title":1237,"url":1238},"FFmpeg AAC encoder documentation","https:\u002F\u002Fffmpeg.org\u002Fffmpeg-codecs.html#aac",{"title":1240,"url":1241},"torch.load weights_only documentation","https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fgenerated\u002Ftorch.load.html",{"title":1243,"url":1244},"ESpeak NG phonemizer","https:\u002F\u002Fgithub.com\u002Fespeak-ng\u002Fespeak-ng","\u002Fimages\u002Fblog\u002Flocal-text-to-speech-pipeline\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flocal-text-to-speech-pipeline\u002Fog.jpg",[71,72,73],"Local text-to-speech at scale: narrating 96 articles with open models","Three open TTS models on one laptop: 96 articles became 1,512 minutes of narration, via chunked synthesis and AAC at 192 kbit\u002Fs.","Local text-to-speech at scale: a stack of books beside a small computer with a row of headphones on hooks.",{"slug":1252,"published":1253,"minutes":7,"category":8,"tags":1254,"tagPages":1257,"keywords":1258,"about":1265,"sources":1269,"cover":1287,"og":1288,"expertise":69,"locales":1289,"lang":71,"title":1290,"description":1291,"coverAlt":1292},"ollama","2026-09-29",[1020,1255,1017,1018,1256],"Open models","Model serving",[],[1252,1259,1260,1261,1262,1263,1264],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[1266],{"name":1267,"url":1268},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[1270,1273,1275,1278,1281,1284],{"title":1271,"url":1272},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":1274,"url":1064},"Ollama on GitHub, with the MIT LICENSE file",{"title":1276,"url":1277},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":1279,"url":1280},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":1282,"url":1283},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":1285,"url":1286},"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",[71,72,73],"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.","Ollama review: a llama sits on a sofa in a cosy living room with a laptop.",{"slug":1294,"published":1295,"minutes":7,"category":8,"tags":1296,"tagPages":1301,"keywords":1303,"about":1311,"sources":1318,"cover":1370,"og":1371,"expertise":69,"locales":1372,"lang":71,"title":1373,"description":1374,"coverAlt":1375},"portkey","2026-09-28",[189,1297,1298,1299,1300],"Guardrails","Routing","Observability","Cost control",[1302],"guardrails",[1304,1305,1306,1307,1308,1309,1310],"portkey ai gateway","portkey vs litellm","llm gateway comparison","llm gateway latency overhead","llm guardrails gateway","self-hosted llm gateway","portkey pricing",[1312,1315],{"name":1313,"url":1314},"Portkey","https:\u002F\u002Fportkey.ai",{"name":1316,"url":1317},"API gateway","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAPI_gateway",[1319,1322,1325,1328,1331,1334,1337,1340,1343,1346,1349,1352,1355,1358,1361,1364,1367],{"title":1320,"url":1321},"Portkey docs: AI Gateway","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway",{"title":1323,"url":1324},"Portkey docs: Getting started with the AI Gateway","https:\u002F\u002Fdocs.portkey.ai\u002Fdocs\u002Fguides\u002Fgetting-started\u002Fgetting-started-with-ai-gateway",{"title":1326,"url":1327},"Portkey docs: Gateway config object","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fapi-reference\u002Fconfig-object",{"title":1329,"url":1330},"Portkey docs: Guardrails","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails",{"title":1332,"url":1333},"Portkey docs: Guardrail endpoints and capabilities","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails\u002Fcapabilities",{"title":1335,"url":1336},"Portkey docs: Cache, simple and semantic","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fcache-simple-and-semantic",{"title":1338,"url":1339},"Portkey docs: Load balancing","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fload-balancing",{"title":1341,"url":1342},"Portkey docs: Enterprise hybrid deployment architecture","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fself-hosting\u002Fhybrid-deployments\u002Farchitecture",{"title":1344,"url":1345},"Portkey pricing","https:\u002F\u002Fportkey.ai\u002Fpricing",{"title":1347,"url":1348},"Portkey gateway on GitHub, MIT licensed","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway",{"title":1350,"url":1351},"Portkey's own benchmark: gateway versus direct Bedrock","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fbenchmark-test",{"title":1353,"url":1354},"Portkey status page","https:\u002F\u002Fstatus.portkey.ai\u002F",{"title":1356,"url":1357},"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":1359,"url":1360},"Palo Alto Networks: Prisma AIRS AI Gateway","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fai-security\u002Fai-gateway",{"title":1362,"url":1363},"Cloudflare AI Gateway pricing","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fai-gateway\u002Freference\u002Fpricing\u002F",{"title":1365,"url":1366},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing",{"title":1368,"url":1369},"OpenRouter pricing","https:\u002F\u002Fopenrouter.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fportkey\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fportkey\u002Fog.jpg",[71,72,73],"Portkey: a production LLM gateway, reviewed for routing, guardrails and cost","Portkey: an OpenAI-compatible gateway for retries, fallbacks, caching, guardrails and cost tracking. Its config, latency cost and when to self-host.","Portkey LLM gateway: a harbour gate with a lighthouse guides small boats into different channels.",{"slug":1377,"published":1378,"updated":1295,"minutes":252,"category":8,"tags":1379,"tagPages":1383,"keywords":1384,"about":1395,"sources":1403,"cover":1421,"og":1422,"expertise":69,"locales":1423,"lang":71,"title":1424,"description":1425,"coverAlt":1426},"artificial-analysis-leaderboard-claude-opus-5-5","2026-09-23",[1380,1381,1382,132],"Claude Opus 5.5","Artificial Analysis","LLM benchmarks",[],[1385,1386,1380,1387,1388,1389,1390,1391,1392,1393,1394],"Claude Opus 5.5 benchmark","Claude Opus 5.5 pricing","Artificial Analysis Intelligence Index","AI model leaderboard","Opus 5.5 benchmark","Opus 5.5 vs GPT-6 Astra","LLM cost per task","reasoning effort setting","Opus 5.5 pricing","best LLM September 2026",[1396,1399,1400],{"name":1397,"url":1398},"Claude (language model)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClaude_(language_model)",{"name":340,"url":341},{"name":1401,"url":1402},"Benchmark (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBenchmark_(computing)",[1404,1407,1410,1413,1416,1419],{"title":1405,"url":1406},"Artificial Analysis: Claude Opus 5.5 takes the top spot on the Artificial Analysis Intelligence Index (22 September 2026)","https:\u002F\u002Fartificialanalysis.ai\u002Farticles\u002Fclaude-opus-5-5",{"title":1408,"url":1409},"Artificial Analysis: Claude Opus 5.5 (max) model page","https:\u002F\u002Fartificialanalysis.ai\u002Fmodels\u002Fclaude-opus-5-5",{"title":1411,"url":1412},"Artificial Analysis: Claude Opus 5.5 (medium) model page","https:\u002F\u002Fartificialanalysis.ai\u002Fmodels\u002Fclaude-opus-5-5-medium",{"title":1414,"url":1415},"Artificial Analysis: Claude Opus 5 (max) model page","https:\u002F\u002Fartificialanalysis.ai\u002Fmodels\u002Fclaude-opus-5",{"title":1417,"url":1418},"OfficeChai: Claude Opus 5.5 creates a 5-point lead over GPT-6 Astra","https:\u002F\u002Fofficechai.com\u002Fai\u002Fclaude-opus-5-5-creates-5-point-lead-over-gpt-6-astra-jumps-to-top-spot-on-artificial-analysis-intelligence-index\u002F",{"title":1420,"url":117},"Claude API docs: Models overview, context windows and prices (as of September 2026)","\u002Fimages\u002Fblog\u002Fartificial-analysis-leaderboard-claude-opus-5-5\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fartificial-analysis-leaderboard-claude-opus-5-5\u002Fog.jpg",[71,72,73],"Claude Opus 5.5 takes #1 on Artificial Analysis, and medium effort is the real story","Claude Opus 5.5 is #1 of 211 models on Artificial Analysis with 58 points. At medium effort it matches Opus 5 for $1.34 per task instead of $5.86.","Claude Opus 5.5 on Artificial Analysis: a trophy on the top step of a podium, with a dial pointing to the middle beside it.",{"slug":1428,"published":1429,"minutes":183,"category":8,"tags":1430,"tagPages":1435,"keywords":1436,"about":1446,"sources":1455,"cover":1473,"og":1474,"expertise":69,"locales":1475,"lang":71,"title":1476,"description":1477,"coverAlt":1478},"jev-typed-decisions-llm-routing","2026-09-17",[383,1431,1432,1433,1434],"Classification","Calibration","OpenRouter","Human in the loop",[],[1437,1438,1439,1440,1441,1442,1443,1444,1445],"llm routing","llm classification","calibrated confidence llm","typed llm output","jev model","openrouter decisions api","ai triage of code review findings","how to route low-confidence llm answers to a human","llm classifier vs structured output",[1447,1450,1453],{"name":1448,"url":1449},"Calibration (statistics)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCalibration_(statistics)",{"name":1451,"url":1452},"Statistical classification","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatistical_classification",{"name":1433,"url":1454},"https:\u002F\u002Fopenrouter.ai\u002F",[1456,1459,1462,1465,1468,1470],{"title":1457,"url":1458},"OpenRouter: Jev documentation","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Fcommunity\u002Fjev",{"title":1460,"url":1461},"OpenRouter: What is Jev?","https:\u002F\u002Fopenrouter.ai\u002Fblog\u002Finsights\u002Fwhat-is-jev\u002F",{"title":1463,"url":1464},"OpenRouter: How to use Jev","https:\u002F\u002Fopenrouter.ai\u002Fblog\u002Ftutorials\u002Fhow-to-use-jev\u002F",{"title":1466,"url":1467},"Guo et al.: On Calibration of Modern Neural Networks","https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.04599",{"title":1469,"url":528},"Claude API: Structured outputs",{"title":1471,"url":1472},"AI SDK: Generating structured data","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fgenerating-structured-data","\u002Fimages\u002Fblog\u002Fjev-typed-decisions-llm-routing\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fjev-typed-decisions-llm-routing\u002Fog.jpg",[71,72,73],"Typed decisions for LLM routing and triage: calibrated confidence with Jev","LLM routing with typed decisions: Choice, Score and yes-probability answers with calibrated confidence, thresholds and human hand-off, using Jev.","Typed LLM routing with Jev: a hand sorts an envelope into one of three pigeonholes, a confidence gauge beside it.",{"slug":1480,"published":1481,"updated":1482,"minutes":183,"category":8,"tags":1483,"tagPages":1484,"keywords":1485,"about":1492,"sources":1500,"cover":1524,"og":1525,"expertise":69,"locales":1526,"lang":71,"title":1527,"description":1528,"coverAlt":1529},"langfuse","2026-08-13","2026-10-07",[1087,1088,1090,710,1089],[1092,1093,1095,715,1094],[1480,1486,1487,1488,1489,1490,1491,261],"langfuse vs langsmith","llm tracing tool","self-hosted llm observability","langfuse pricing","opentelemetry llm traces","llm cost tracking",[1493,1495,1496,1499],{"name":258,"url":1494},"https:\u002F\u002Flangfuse.com",{"name":1090,"url":1109},{"name":1497,"url":1498},"ClickHouse","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClickHouse",{"name":1111,"url":1112},[1501,1504,1507,1510,1513,1516,1519,1522],{"title":1502,"url":1503},"Langfuse documentation: observability and application tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Foverview",{"title":1505,"url":1506},"Langfuse documentation: get started with tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Fget-started",{"title":1508,"url":1509},"Langfuse pricing: cloud plans, billable units and worked examples","https:\u002F\u002Flangfuse.com\u002Fpricing",{"title":1511,"url":1512},"Langfuse pricing: self-hosted plans and the feature comparison","https:\u002F\u002Flangfuse.com\u002Fpricing-self-host",{"title":1514,"url":1515},"Self-host Langfuse: deployment options, containers and storage services","https:\u002F\u002Flangfuse.com\u002Fself-hosting",{"title":1517,"url":1518},"Langfuse changelog: v4 is live (17 August 2026)","https:\u002F\u002Flangfuse.com\u002Fchangelog\u002F2026-08-17-langfuse-v4",{"title":1520,"url":1521},"Langfuse blog: Langfuse joins ClickHouse (16 January 2026)","https:\u002F\u002Flangfuse.com\u002Fblog\u002Fjoining-clickhouse",{"title":1523,"url":1179},"GitHub: langfuse\u002Flangfuse, the platform repository","\u002Fimages\u002Fblog\u002Flangfuse\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flangfuse\u002Fog.jpg",[71,72,73],"Langfuse review: tracing, prompts and evals you can host yourself","Langfuse: LLM traces, prompt versions and experiments on one MIT-licensed platform. What self-hosting costs, how unit pricing adds up, and where it loses.","Langfuse review: a footprint trail in a house garden leads to a notebook with a magnifying glass.",{"slug":1531,"published":1532,"updated":1194,"minutes":1533,"category":8,"tags":1534,"tagPages":1536,"keywords":1538,"about":1549,"sources":1553,"cover":1603,"og":1604,"expertise":69,"locales":1605,"lang":71,"title":1606,"description":1607,"coverAlt":1608},"agent-observability-opentelemetry","2026-08-06",12,[1090,1087,1535,1088,257],"AI agents",[1095,1092,1537,1093],"ai-agents",[1539,1540,1541,1542,1543,1544,1545,1546,1547,1548],"LLM agent observability OpenTelemetry","OpenTelemetry GenAI semantic conventions","how to trace LLM agents","gen_ai semantic conventions attributes","LLM token usage and cost metrics","LLM tracing sampling","PII in LLM traces","Langfuse vs Arize Phoenix vs Datadog","AI agent tracing evals","OpenTelemetry LLM tracing",[1550,1551,1552],{"name":1090,"url":1109},{"name":1299,"url":1112},{"name":571,"url":572},[1554,1557,1560,1563,1566,1569,1572,1575,1578,1581,1584,1587,1590,1592,1594,1597,1600],{"title":1555,"url":1556},"OpenTelemetry: GenAI semantic conventions repository (open-telemetry\u002Fsemantic-conventions-genai)","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai",{"title":1558,"url":1559},"GenAI conventions: overview (status Development)","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002FREADME.md",{"title":1561,"url":1562},"GenAI conventions: model spans, execute_tool and content capture","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fgen-ai-spans.md",{"title":1564,"url":1565},"GenAI conventions: agent spans","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fgen-ai-agent-spans.md",{"title":1567,"url":1568},"GenAI conventions: metrics","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fgen-ai-metrics.md",{"title":1570,"url":1571},"GenAI conventions: inference token metrics","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fgen-ai-token-metrics.md",{"title":1573,"url":1574},"GenAI conventions: events (gen_ai.evaluation.result)","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fgen-ai-events.md",{"title":1576,"url":1577},"GenAI conventions: Model Context Protocol","https:\u002F\u002Fgithub.com\u002Fopen-telemetry\u002Fsemantic-conventions-genai\u002Fblob\u002Fmain\u002Fdocs\u002Fgen-ai\u002Fmcp.md",{"title":1579,"url":1580},"OpenTelemetry docs: GenAI conventions moved notice","https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002Fspecs\u002Fsemconv\u002Fgen-ai\u002F",{"title":1582,"url":1583},"OpenTelemetry docs: Sampling","https:\u002F\u002Fopentelemetry.io\u002Fdocs\u002Fconcepts\u002Fsampling\u002F",{"title":1585,"url":1586},"John Hodge: The state of the OpenTelemetry GenAI semantic conventions (July 2026)","https:\u002F\u002Fjohn-hodge.com\u002Fblog\u002Fopentelemetry-genai-semantic-conventions\u002F",{"title":1588,"url":1589},"Langfuse docs: OpenTelemetry integration","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fopentelemetry\u002Fget-started",{"title":1591,"url":1179},"Langfuse repository and licence",{"title":1593,"url":1182},"Arize Phoenix repository",{"title":1595,"url":1596},"Arize OpenInference repository","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fopeninference",{"title":1598,"url":1599},"Datadog docs: OpenTelemetry instrumentation for LLM Observability","https:\u002F\u002Fdocs.datadoghq.com\u002Fllm_observability\u002Finstrumentation\u002Fotel_instrumentation\u002F",{"title":1601,"url":1602},"Honeycomb docs: Send data with OpenTelemetry","https:\u002F\u002Fdocs.honeycomb.io\u002Fsend-data\u002Fopentelemetry\u002F","\u002Fimages\u002Fblog\u002Fagent-observability-opentelemetry\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-observability-opentelemetry\u002Fog.jpg",[71,72,73],"Observability for LLM agents with OpenTelemetry: traces, tokens, PII and evals","How to trace LLM agents with OpenTelemetry: GenAI semantic conventions and their status, span tree, token metrics, sampling, PII, evals and tool options.","OpenTelemetry for LLM agents: a stethoscope rests on a small robot next to a monitor showing a calm wave line.",{"slug":1610,"published":1611,"updated":1612,"minutes":183,"category":8,"tags":1613,"tagPages":1617,"keywords":1618,"about":1625,"sources":1628,"cover":1643,"og":1644,"expertise":69,"locales":1645,"lang":71,"title":1646,"description":1647,"coverAlt":1648},"openrouter","2026-07-23","2026-08-01",[189,85,1614,1615,1616],"Fallbacks","OpenAI-compatible","Pay per token",[],[1610,1619,1306,1620,1621,1622,1623,1624],"openrouter vs litellm","openrouter pricing","openai compatible api gateway","llm fallback routing","multi model api gateway","byok llm routing",[1626],{"name":1433,"url":1627},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenRouter",[1629,1632,1633,1635,1638,1641],{"title":1630,"url":1631},"OpenRouter documentation: quickstart","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fquickstart",{"title":1368,"url":1369},{"title":1634,"url":240},"OpenRouter documentation: model fallbacks",{"title":1636,"url":1637},"OpenRouter documentation: provider routing","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fprovider-selection",{"title":1639,"url":1640},"OpenRouter documentation index","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fllms.txt",{"title":1642,"url":1627},"Wikipedia: OpenRouter","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fog.jpg",[71,72,73],"OpenRouter: one API key in front of every model you might call","OpenRouter: 500+ models from 80+ providers behind one OpenAI-compatible endpoint, with fallbacks and pass-through pricing. Costs and where it breaks.","OpenRouter: one key on a ring with lines fanning out to a row of different doors.",{"slug":1650,"published":1651,"minutes":183,"category":8,"tags":1652,"tagPages":1655,"keywords":1656,"about":1663,"sources":1669,"cover":1691,"og":1692,"expertise":69,"locales":1693,"lang":71,"title":1694,"description":1695,"coverAlt":1696},"braintrust","2026-07-07",[1653,1299,818,1654,1088],"Evaluations","CI gates",[1093],[1650,1657,1658,1659,1660,1661,1662],"braintrust pricing","braintrust eval","autoevals library","braintrust vs langfuse","llm evaluation platform","eval driven development",[1664,1667,1668],{"name":1665,"url":1666},"Braintrust","https:\u002F\u002Fwww.braintrust.dev",{"name":279,"url":280},{"name":1111,"url":1112},[1670,1672,1675,1678,1681,1684,1687,1689],{"title":1671,"url":895},"Braintrust pricing: plans, credits and usage rates",{"title":1673,"url":1674},"Braintrust documentation: plans and limits","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs\u002Fplans-and-limits",{"title":1676,"url":1677},"Braintrust documentation: evaluation quickstart","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs\u002Fevaluation-quickstart",{"title":1679,"url":1680},"Braintrust documentation: get started","https:\u002F\u002Fwww.braintrust.dev\u002Fdocs",{"title":1682,"url":1683},"GitHub: Braintrust organisation repositories","https:\u002F\u002Fgithub.com\u002Forgs\u002Fbraintrustdata\u002Frepositories",{"title":1685,"url":1686},"Arize Phoenix documentation: self-hosting","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Fself-hosting",{"title":1688,"url":1509},"Langfuse pricing: cloud plans and billable units",{"title":1690,"url":1185},"LangChain pricing: LangSmith plans","\u002Fimages\u002Fblog\u002Fbraintrust\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbraintrust\u002Fog.jpg",[71,72,73],"Braintrust review: eval-first observability with a hard meter","Braintrust: traces become datasets and gated experiments. Starter and Pro tiers, open-source parts, and where Phoenix, Langfuse or LangSmith win.","Braintrust review: three test tubes filled to different levels stand next to a large round meter.",{"slug":1698,"published":1651,"updated":1482,"minutes":183,"category":8,"tags":1699,"tagPages":1702,"keywords":1703,"about":1711,"sources":1715,"cover":1739,"og":1740,"expertise":69,"locales":1741,"lang":71,"title":1742,"description":1743,"coverAlt":1744},"promptfoo",[816,819,1700,1701],"Prompt testing","CI\u002FCD",[],[1698,1704,1705,1706,1707,1708,1709,1710],"promptfoo vs langsmith","LLM evaluation framework","promptfoo red teaming","promptfooconfig.yaml example","LLM evals in CI","promptfoo pricing","open source LLM testing",[1712],{"name":1713,"url":1714},"Promptfoo","https:\u002F\u002Fwww.promptfoo.dev",[1716,1719,1722,1725,1728,1731,1734,1736],{"title":1717,"url":1718},"Promptfoo documentation: intro","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintro\u002F",{"title":1720,"url":1721},"Promptfoo pricing: plan comparison","https:\u002F\u002Fwww.promptfoo.dev\u002Fpricing",{"title":1723,"url":1724},"Promptfoo documentation: getting started","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fgetting-started\u002F",{"title":1726,"url":1727},"Promptfoo documentation: command line usage (exit codes)","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fusage\u002Fcommand-line\u002F",{"title":1729,"url":1730},"Promptfoo documentation: red team plugins","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fplugins\u002F",{"title":1732,"url":1733},"Promptfoo documentation: assertions and metrics","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fconfiguration\u002Fexpected-outputs\u002F",{"title":1735,"url":892},"Promptfoo repository on GitHub (MIT licence)",{"title":1737,"url":1738},"Promptfoo blog: Promptfoo is joining OpenAI (9 March 2026)","https:\u002F\u002Fwww.promptfoo.dev\u002Fblog\u002Fpromptfoo-joining-openai\u002F","\u002Fimages\u002Fblog\u002Fpromptfoo\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpromptfoo\u002Fog.jpg",[71,72,73],"Promptfoo: LLM evals and red teaming from one YAML file","Promptfoo in 2026: MIT-licensed evals and red teaming, now inside OpenAI. What it does well, where the YAML approach breaks, and what the tiers cost.","Promptfoo evals and red teaming: a clipboard in front of a row of targets, one arrow off target.",{"slug":1746,"published":1747,"updated":1194,"minutes":183,"category":8,"tags":1748,"tagPages":1750,"keywords":1751,"about":1759,"sources":1764,"cover":1787,"og":1788,"expertise":69,"locales":1789,"lang":71,"title":1790,"description":1791,"coverAlt":1792},"arize-phoenix","2026-07-03",[1087,1088,1090,1749,1089],"Self-hosted",[1092,1093,1095,1094],[1752,1753,1754,1755,1756,1757,1758],"arize phoenix","phoenix arize self-hosted","arize phoenix docker","llm tracing opentelemetry","phoenix vs langfuse","openinference instrumentation","llm observability tools",[1760,1762,1763],{"name":1761,"url":1182},"Arize Phoenix",{"name":1090,"url":1109},{"name":1111,"url":1112},[1765,1768,1770,1773,1776,1779,1782,1785,1786],{"title":1766,"url":1767},"Arize Phoenix: open-source AI observability and evaluation","https:\u002F\u002Fphoenix.arize.com",{"title":1769,"url":1686},"Phoenix documentation: self-hosting",{"title":1771,"url":1772},"Phoenix documentation: licence, Elastic License 2.0","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Fself-hosting\u002Flicense",{"title":1774,"url":1775},"Phoenix documentation: architecture, storage and scaling","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Fself-hosting\u002Farchitecture",{"title":1777,"url":1778},"Phoenix documentation: setup tracing","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Ftracing\u002Fhow-to-tracing\u002Fsetup-tracing",{"title":1780,"url":1781},"Phoenix documentation: OpenTelemetry SDK setup","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix\u002Ftracing\u002Fhow-to-tracing\u002Fsetup-tracing\u002Fsetup-using-phoenix-otel",{"title":1783,"url":1784},"Arize pricing: AX Free, AX Pro and AX Enterprise","https:\u002F\u002Farize.com\u002Fpricing\u002F",{"title":1688,"url":1509},{"title":1690,"url":1185},"\u002Fimages\u002Fblog\u002Farize-phoenix\u002Fcover.webp","\u002Fimages\u002Fblog\u002Farize-phoenix\u002Fog.jpg",[71,72,73],"Arize Phoenix review: LLM tracing and evals you host yourself","Arize Phoenix: an ELv2-licensed tracing and eval server on your own database. Strengths, operating cost, and where Langfuse, Braintrust or LangSmith win.","Arize Phoenix review: a phoenix rises above a small house with a magnifying glass on its roof.",{"slug":1794,"published":1747,"minutes":183,"category":8,"tags":1795,"tagPages":1799,"keywords":1800,"about":1808,"sources":1812,"cover":1840,"og":1841,"expertise":69,"locales":1842,"lang":71,"title":1843,"description":1844,"coverAlt":1845},"helicone",[1087,1090,1796,1797,1798],"Cost tracking","Proxy","Gateway",[1092,1095],[1801,1802,1803,1804,1805,1806,1807],"helicone llm observability","helicone vs langfuse","llm cost tracking tool","open source llm observability","llm gateway proxy","self-host llm observability","helicone cache",[1809,1810],{"name":1090,"url":1109},{"name":1811,"url":1115},"Apache License 2.0",[1813,1816,1819,1822,1825,1828,1831,1834,1837],{"title":1814,"url":1815},"Helicone quickstart","https:\u002F\u002Fdocs.helicone.ai\u002Fgetting-started\u002Fquick-start",{"title":1817,"url":1818},"Helicone AI Gateway overview","https:\u002F\u002Fdocs.helicone.ai\u002Fgateway\u002Foverview",{"title":1820,"url":1821},"Helicone: latency impact and benchmark","https:\u002F\u002Fdocs.helicone.ai\u002Freferences\u002Flatency-affect",{"title":1823,"url":1824},"Helicone: proxy versus async integration","https:\u002F\u002Fdocs.helicone.ai\u002Freferences\u002Fproxy-vs-async",{"title":1826,"url":1827},"Helicone: LLM caching","https:\u002F\u002Fdocs.helicone.ai\u002Ffeatures\u002Fadvanced-usage\u002Fcaching",{"title":1829,"url":1830},"Helicone: self-hosting with Docker","https:\u002F\u002Fdocs.helicone.ai\u002Fgetting-started\u002Fself-deploy-docker",{"title":1832,"url":1833},"Helicone: how we calculate cost","https:\u002F\u002Fdocs.helicone.ai\u002Ffaq\u002Fhow-we-calculate-cost",{"title":1835,"url":1836},"Helicone pricing","https:\u002F\u002Fwww.helicone.ai\u002Fpricing",{"title":1838,"url":1839},"Helicone repository on GitHub","https:\u002F\u002Fgithub.com\u002FHelicone\u002Fhelicone","\u002Fimages\u002Fblog\u002Fhelicone\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fhelicone\u002Fog.jpg",[71,72,73],"Helicone: observability that sits in the request path","Helicone: an Apache-2.0 LLM gateway and observability platform. What its proxy architecture buys, what it costs you, and how self-hosting really looks.","Helicone: an envelope on wheels drives through a toll booth watched by a camera.",{"slug":1847,"published":1848,"minutes":7,"category":8,"tags":1849,"tagPages":1855,"keywords":1856,"about":1863,"sources":1866,"cover":1894,"og":1895,"expertise":69,"locales":1896,"lang":71,"title":1897,"description":1898,"coverAlt":1899},"vllm","2026-06-30",[1850,1851,1852,1853,1854],"Self-hosted inference","OpenAI API","PagedAttention","GPU serving","LLM runtime",[],[1847,1857,1858,1859,1860,1861,1862],"vllm vs sglang","vllm vs tensorrt-llm","self-hosted llm server","openai compatible api server","llm inference throughput","pagedattention",[1864],{"name":712,"url":1865},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FvLLM",[1867,1870,1873,1876,1879,1882,1885,1888,1891],{"title":1868,"url":1869},"vLLM documentation","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002F",{"title":1871,"url":1872},"Optimization and tuning for the V1 engine","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fconfiguration\u002Foptimization.html",{"title":1874,"url":1875},"Architecture overview and the V1 process layout","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fdesign\u002Farch_overview.html",{"title":1877,"url":1878},"Metrics design","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fdesign\u002Fmetrics.html",{"title":1880,"url":1881},"Automatic prefix caching and its documented limits","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Ffeatures\u002Fautomatic_prefix_caching.html",{"title":1883,"url":1884},"Online serving and the HTTP API surface","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fserving\u002Fonline_serving.html",{"title":1886,"url":1887},"Inside vLLM: anatomy of a high-throughput inference system","https:\u002F\u002Fvllm.ai\u002Fblog\u002F2025-09-05-anatomy-of-vllm",{"title":1889,"url":1890},"vLLM: easy, fast and cheap LLM serving with PagedAttention","https:\u002F\u002Fblog.vllm.ai\u002F2023\u002F06\u002F20\u002Fvllm.html",{"title":1892,"url":1893},"Release history","https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002Freleases","\u002Fimages\u002Fblog\u002Fvllm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvllm\u002Fog.jpg",[71,72,73],"vLLM reviewed for self-hosted inference","vLLM turns a Hugging Face checkpoint into an OpenAI-compatible server. What PagedAttention and continuous batching buy, and what running it actually costs.","vLLM review: a large oven bakes many trays of loaves at once, a baker's peel beside it.",{"slug":1901,"published":1902,"updated":1903,"minutes":314,"category":8,"tags":1904,"tagPages":1905,"keywords":1906,"about":1915,"sources":1920,"cover":1928,"og":1929,"expertise":69,"locales":1930,"lang":71,"title":1931,"description":1932,"coverAlt":1933},"llm-cost-latency-prompt-caching-routing","2026-06-01","2026-09-22",[318,85,132,664],[],[1907,1908,1909,1910,1911,1912,1913,1914],"prompt caching","LLM cost optimization","LLM latency","model routing","batch API LLM","LLM cost per request","cheaper LLM model","cache hit rate LLM",[1916,1917],{"name":340,"url":341},{"name":1918,"url":1919},"Latency (engineering)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLatency_(engineering)",[1921,1924,1927],{"title":1922,"url":1923},"Claude API docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fdocs\u002Fbuild-with-claude\u002Fprompt-caching",{"title":1925,"url":1926},"OpenAI API docs: Prompt caching","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-caching",{"title":1420,"url":117},"\u002Fimages\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing\u002Fog.jpg",[71,72,73],"Prompt caching and model routing: cutting LLM cost and latency","Prompt caching, cheap-model-first routing and batch APIs are the levers that cut LLM cost and latency in production. Here is how to use each one.","LLM cost and routing: a railway switch splits a track toward a small and a large station, a watch and a coin beside it.",{"slug":1935,"published":1936,"updated":1937,"minutes":183,"category":8,"tags":1938,"tagPages":1940,"keywords":1941,"about":1948,"sources":1954,"cover":1975,"og":1976,"expertise":69,"locales":1977,"lang":71,"title":1978,"description":1979,"coverAlt":1980},"langsmith","2026-05-25","2026-09-14",[1088,611,1090,1939,186],"Datasets",[1093,1095],[1935,1942,1758,1943,1944,1945,1946,1947],"langsmith vs langfuse","llm tracing cost","langsmith pricing","opentelemetry llm tracing","llm evaluation datasets","phoenix vs langsmith",[1949,1952,1953],{"name":1950,"url":1951},"LangSmith","https:\u002F\u002Fwww.langchain.com\u002Flangsmith",{"name":1090,"url":1109},{"name":1497,"url":1498},[1955,1957,1960,1963,1966,1969,1972],{"title":1956,"url":1185},"LangSmith pricing",{"title":1958,"url":1959},"LangSmith documentation: administration overview","https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fadministration-overview",{"title":1961,"url":1962},"LangSmith documentation: custom instrumentation","https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fannotate-code",{"title":1964,"url":1965},"LangSmith documentation: trace with OpenTelemetry","https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Ftrace-with-opentelemetry",{"title":1967,"url":1968},"LangSmith documentation: evaluation concepts","https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fevaluation-concepts",{"title":1970,"url":1971},"LangSmith documentation: self-hosted deployment","https:\u002F\u002Fdocs.langchain.com\u002Flangsmith\u002Fself-hosted",{"title":1973,"url":1974},"LangChain: introducing end-to-end OpenTelemetry support in LangSmith","https:\u002F\u002Fwww.langchain.com\u002Fblog\u002Fend-to-end-opentelemetry-langsmith","\u002Fimages\u002Fblog\u002Flangsmith\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flangsmith\u002Fog.jpg",[71,72,73],"LangSmith: an observability product that grew into an agent platform","LangSmith review: per-trace billing, 14 and 180 day retention, OpenTelemetry ingestion, offline and online evals, and its pull toward an agent runtime.","LangSmith: an anvil with a hammer stands beside a telescope and a growing plant.",{"slug":1982,"published":1983,"updated":1984,"minutes":183,"category":8,"tags":1985,"tagPages":1987,"keywords":1989,"about":1995,"sources":2002,"cover":2021,"og":2022,"expertise":69,"locales":2023,"lang":71,"title":2024,"description":2025,"coverAlt":2026},"litellm","2026-05-20","2026-07-09",[189,1615,1300,1298,1986],"MCP",[1988],"mcp",[1982,1990,1306,1991,1992,1993,1309,1994],"litellm vs portkey","openai compatible proxy","litellm proxy config yaml","llm spend tracking per team","llm budget enforcement",[1996,1999],{"name":1997,"url":1998},"LiteLLM","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLiteLLM",{"name":2000,"url":2001},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[2003,2006,2009,2011,2014,2017,2020],{"title":2004,"url":2005},"LiteLLM documentation: getting started","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002F",{"title":2007,"url":2008},"LiteLLM documentation: virtual keys","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Fvirtual_keys",{"title":2010,"url":234},"LiteLLM documentation: router and load balancing",{"title":2012,"url":2013},"LiteLLM documentation: benchmarks","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fbenchmarks",{"title":2015,"url":2016},"LiteLLM documentation: supported endpoints","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fsupported_endpoints",{"title":2018,"url":2019},"LiteLLM documentation: Enterprise","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fenterprise",{"title":1365,"url":1366},"\u002Fimages\u002Fblog\u002Flitellm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flitellm\u002Fog.jpg",[71,72,73],"LiteLLM: the OpenAI-compatible gateway most platform teams end up running","LiteLLM: the MIT-licensed OpenAI-compatible gateway most platform teams run in front of providers. What it does well, what it costs, where it breaks.","LiteLLM gateway: a universal travel adapter joins several different plugs into one cable.",{"slug":2028,"published":1983,"minutes":183,"category":8,"tags":2029,"tagPages":2034,"keywords":2035,"about":2043,"sources":2046,"cover":2064,"og":2065,"expertise":69,"locales":2066,"lang":71,"title":2067,"description":2068,"coverAlt":2069},"ragas",[2030,554,2031,2032,2033],"RAG evaluation","Test sets","CI quality","Ragas",[],[2028,2036,2037,2038,2039,2040,2041,2042],"ragas tutorial","ragas vs deepeval","llm evaluation metrics","faithfulness context precision","rag evaluation framework","llm as a judge","ragas pricing",[2044],{"name":2033,"url":2045},"https:\u002F\u002Fwww.ragas.io\u002F",[2047,2050,2053,2056,2059,2062],{"title":2048,"url":2049},"Ragas documentation: introduction","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002F",{"title":2051,"url":2052},"Ragas documentation: quick start","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fgetstarted\u002Fquickstart\u002F",{"title":2054,"url":2055},"Ragas documentation: list of available metrics","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002F",{"title":2057,"url":2058},"Ragas on GitHub","https:\u002F\u002Fgithub.com\u002Fvibrantlabsai\u002Fragas",{"title":2060,"url":2061},"Ragas on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fragas\u002F",{"title":2063,"url":2045},"Ragas website","\u002Fimages\u002Fblog\u002Fragas\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fragas\u002Fog.jpg",[71,72,73],"Ragas review: the default RAG evaluation framework","Ragas scores RAG and agent pipelines on faithfulness, context precision and recall, generates test data, and tracks runs. Apache-2.0; judge billed apart.","Ragas review: a report card with tick boxes and a star beside books and a pencil.",{"slug":2071,"published":2072,"updated":1429,"minutes":252,"category":8,"tags":2073,"tagPages":2076,"keywords":2077,"about":2084,"sources":2087,"cover":2104,"og":2105,"expertise":69,"locales":2106,"lang":71,"title":2107,"description":2108,"coverAlt":2109},"llm-evals-for-product-features","2026-05-15",[611,554,2074,2075],"Error analysis","CI",[],[611,2078,554,2079,2080,2081,2082,2083],"AI evals","eval-driven development","pass^k vs pass@k","agent evaluation harness","regression eval suite","error analysis LLM",[2085,2086],{"name":340,"url":341},{"name":574,"url":575},[2088,2090,2093,2096,2099,2101],{"title":2089,"url":580},"Anthropic: Demystifying evals for AI agents (2026)",{"title":2091,"url":2092},"Hamel Husain: LLM evals FAQ (updated September 2026)","https:\u002F\u002Fhamel.dev\u002Fblog\u002Fposts\u002Fevals-faq\u002F",{"title":2094,"url":2095},"Shankar et al., Who Validates the Validators? (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.12272",{"title":2097,"url":2098},"Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05685",{"title":2100,"url":583},"Yao et al., tau-bench: A Benchmark for Tool-Agent-User Interaction (2024)",{"title":2102,"url":2103},"Anthropic: Quantifying infrastructure noise in agentic coding evals (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Finfrastructure-noise","\u002Fimages\u002Fblog\u002Fllm-evals-for-product-features\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-evals-for-product-features\u002Fog.jpg",[71,72,73],"LLM evals for product features: from hand-read traces to a CI gate","LLM evals turn a vibe check into a test suite: error analysis on real traces, grader choice, a validated LLM judge, pass^k and a CI gate.","LLM evals for product features: boxes on a conveyor pass an inspection gate while a person reads with a magnifier.",{"slug":2111,"published":2112,"updated":2113,"minutes":1533,"category":8,"tags":2114,"tagPages":2118,"keywords":2120,"about":2131,"sources":2137,"cover":2204,"og":2205,"expertise":69,"locales":2206,"lang":71,"title":2207,"description":2208,"coverAlt":2209},"fine-tuning-vs-rag-vs-prompting","2026-05-12","2026-10-02",[2115,2116,2117,373],"Fine-tuning","RAG","Prompting",[2119],"rag",[2121,2122,2123,2124,2125,2126,2127,2128,2129,2130],"fine-tuning vs RAG","prompting vs RAG vs fine-tuning","when to fine-tune an LLM","RAG or fine-tuning","SFT vs DPO vs RFT","reinforcement fine-tuning","LLM distillation","OpenAI fine-tuning shutdown","fine-tuning decision tree","fine-tune for knowledge",[2132,2133,2136],{"name":929,"url":930},{"name":2134,"url":2135},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":393,"url":394},[2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2168,2171,2174,2177,2180,2183,2186,2189,2192,2195,2198,2201],{"title":2139,"url":2140},"OpenAI community: OpenAI self-serve fine-tuning availability (wind-down announcement)","https:\u002F\u002Fcommunity.openai.com\u002Ft\u002Fopenai-s-self-serve-fine-tuning-availability\u002F1380481",{"title":2142,"url":2143},"Tessl: OpenAI is shutting down self-serve fine-tuning","https:\u002F\u002Ftessl.io\u002Fblog\u002Fopenai-shutting-fine-tuning-signals-for-enterprise-ai",{"title":2145,"url":2146},"OpenAI API docs: Model optimization","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fmodel-optimization",{"title":2148,"url":2149},"OpenAI API docs: Supervised fine-tuning","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fsupervised-fine-tuning",{"title":2151,"url":2152},"OpenAI API docs: Direct preference optimization","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fdirect-preference-optimization",{"title":2154,"url":2155},"OpenAI API docs: Reinforcement fine-tuning","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Freinforcement-fine-tuning",{"title":2157,"url":2158},"OpenAI API docs: Fine-tuning best practices","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffine-tuning-best-practices",{"title":2160,"url":2161},"OpenAI Cookbook: Choosing between SFT, DPO and RFT","https:\u002F\u002Fdevelopers.openai.com\u002Fcookbook\u002Fexamples\u002Ffine_tuning_direct_preference_optimization_guide",{"title":2163,"url":2164},"Google Cloud: Introduction to tuning (Gemini)","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fmodels\u002Ftune-models",{"title":2166,"url":2167},"Google Cloud: About supervised fine-tuning for Gemini models","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fmodels\u002Fgemini-supervised-tuning",{"title":2169,"url":2170},"Google Cloud: About preference tuning for Gemini models","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fmodels\u002Fgemini-preference-tuning",{"title":2172,"url":2173},"Google Cloud: Reward functions for reinforcement learning fine-tuning","https:\u002F\u002Fdocs.cloud.google.com\u002Fgemini-enterprise-agent-platform\u002Fmodels\u002Ftuning\u002Freinforcement-tuning\u002Freinforcement-tuning-job\u002Freward-functions",{"title":2175,"url":2176},"Google Cloud: Supervised and distillation fine-tuning for open models","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fmodels\u002Fopen-model-tuning",{"title":2178,"url":2179},"AWS: Fine-tuning for Claude 3 Haiku in Amazon Bedrock is now generally available","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Ffine-tuning-for-anthropics-claude-3-haiku-model-in-amazon-bedrock-is-now-generally-available\u002F",{"title":2181,"url":2182},"AWS: Amazon Bedrock now supports reinforcement fine-tuning","https:\u002F\u002Faws.amazon.com\u002Fabout-aws\u002Fwhats-new\u002F2025\u002F12\u002Fbedrock-reinforcement-fine-tuning-66-base-models",{"title":2184,"url":2185},"AWS: Amazon Bedrock Model Distillation (preview announcement)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fbuild-faster-more-cost-efficient-highly-accurate-models-with-amazon-bedrock-model-distillation-preview\u002F",{"title":2187,"url":2188},"AWS: Bedrock reinforcement fine-tuning adds open-weight models","https:\u002F\u002Faws.amazon.com\u002Fabout-aws\u002Fwhats-new\u002F2026\u002F02\u002Famazon-bedrock-reinforcement-fine-tuning-openai",{"title":2190,"url":2191},"Microsoft Foundry blog: What is new in Foundry fine-tuning, April 2026","https:\u002F\u002Fdevblogs.microsoft.com\u002Ffoundry\u002Fwhats-new-in-foundry-finetune-april-2026\u002F",{"title":2193,"url":2194},"Microsoft: Announcing new fine-tuning models and techniques in Azure AI Foundry","https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fblog\u002Fannouncing-new-fine-tuning-models-and-techniques-in-azure-ai-foundry\u002F",{"title":2196,"url":2197},"Ovadia et al.: Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs","https:\u002F\u002Farxiv.org\u002Fabs\u002F2312.05934",{"title":2199,"url":2200},"Gekhman et al.: Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.05904",{"title":2202,"url":2203},"Hu et al.: LoRA: Low-Rank Adaptation of Large Language Models","https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.09685","\u002Fimages\u002Fblog\u002Ffine-tuning-vs-rag-vs-prompting\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ffine-tuning-vs-rag-vs-prompting\u002Fog.jpg",[71,72,73],"Prompting vs RAG vs fine-tuning vs distillation: a decision guide for 2026","Fine-tuning vs RAG vs prompting: what each changes, what it costs, who still offers SFT, DPO and RFT in 2026, and a decision tree.","Prompting, RAG or fine-tuning: a robot with a map faces four doors marked with a speech bubble, books, a wrench and a funnel.",1793451238762]