Claude Opus 5.5 tool_choice 400: 3 SDKs Tested (2026)
Claude Opus 5.5 rejects forced tool_choice with a 400. I captured what the AI SDK, LangChain and the raw SDK actually send, and built a preflight check.
Claude Opus 5.5 rejects forced tool_choice with a 400. I captured what the AI SDK, LangChain and the raw SDK actually send, and built a preflight check.
Token-aware text chunking for RAG in TypeScript: recursive splitting with @langchain/textsplitters and js-tiktoken, plus chunk size and overlap tuning.
Production local AI on your own hardware: Ollama + Qwen3, ChromaDB RAG, tool-calling agents, quantization, and security. Runnable code, zero cloud.
Build a robust RAG system end to end: chunking, embeddings, vector stores, hybrid retrieval, reranking, and eval harnesses you actually need in production.
Build, test, and ship LangChain agents — how tool use, memory, and reasoning loops work, with performance, security, and monitoring patterns for production.