Grafana slipper en Go-versjon av Vercels AI SDK som snakker med useChat
Gir Go-utviklere et SDK for modellkall, streaming, verktøy og agenter som snakker samme protokoll som Vercels React-hooks.
Grafana la ut ai-sdk på GitHub 28. juli under Apache-2.0, og repoet har allerede fått over 100 stjerner. Biblioteket gir Go-applikasjoner ett API for modellkall, streaming, verktøykall, strukturert output og flerstegsagenter, og det følger designet til Vercels AI SDK tett nok til å være protokollkompatibelt med den TypeScript-frontenden mange allerede har stående.
Det er den kompatibiliteten som er poenget. En Go-tjeneste kan kalle aisdk.StreamText og skrive resultatet ut med WriteUIMessageStream, og en React-klient som bruker useChat leser strømmen uten at noen skriver en oversetter mellom dem. useCompletion og useObject fungerer på samme måte. For deg som har en TypeScript-backend foran modellen bare fordi frontenden krevde det, betyr det at backenden kan byttes til Go uten å røre klienten.
«Gjenbruk en eksisterende AI SDK React-frontend, eller erstatt en TypeScript-backend med Go uten å legge til en protokolladapter.» — Grafanas dokumentasjon for ai-sdk
Verktøykall er vanlige Go-funksjoner. Du registrerer funksjonen, modellen kaller den, og for handlinger med konsekvenser kan du kreve godkjenning før kallet går gjennom. Strukturert output valideres mot skjema og gir objekter, lister eller valg tilbake i typet form, noe som er en større gevinst i Go enn i TypeScript, der frontenden uansett må validere selv.
Leverandørlisten dekker Anthropic, Amazon Bedrock, OpenAI, OpenAI-kompatible APIer og Grafanas eget interne endepunkt. Hurtigstarten i README-en bruker claude-sonnet-5. At Bedrock og OpenAI-kompatible APIer står på lista fra dag én er praktisk: en selvhostet inferensserver som eksponerer OpenAI-formatet kan brukes uten en egen leverandørmodul.
Driftsdelen er der Grafanas egen bakgrunn synes. Biblioteket har innebygde tidsavbrudd, fallback mellom modeller, logging, Prometheus-metrikker og kobling mot Grafanas Agent Observability. Det er ikke funksjonalitet du merker i en hurtigstart, men det er forskjellen på et eksempel og noe som kan stå i produksjon uten et lag med egen instrumentering rundt.
To ting bør dempe forventningene. Repoet er fem dager gammelt, og prosjektet definerer selv paritet med Vercels SDK som en styrende konvensjon, noe som betyr at APIet vil følge etter endringer oppstrøms framfor å stabilisere seg på egne premisser. Lisensen er Apache-2.0, samme som Vercels SDK, og attribusjonen ligger i NOTICE-fila.
Hva bør du gjøre?
- Vurder dette først hvis du allerede kjører Go i backend og har en React-frontend på AI SDK-hooks. Da er gevinsten konkret: du fjerner et Node-lag som bare finnes for protokollens skyld.
- Sett opp fallback og tidsavbrudd med én gang, ikke etterpå. De ligger i biblioteket allerede, og et modellkall uten tak henger til klienten gir opp.
- Behandle APIet som ustabilt inntil videre. Fest versjonen i go.mod og les CHANGELOG før du oppgraderer, siden paritet oppstrøms går foran bakoverkompatibilitet.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.