Zo integreer je Claude of GPT in een Laravel-applicatie
Met één gateway naar het model, queues voor alles wat tijd kost en een log van tokens en kosten per klant. Dat is de architectuur van Nexo, ons eigen Laravel-SaaS, waarvan de AI-laag tot juli 2026 142 mln tokens in productie had verwerkt. Wil je dat wij het bouwen? Maatwerk Laravel-ontwikkeling begint bij 15.000 €.
- 142 mln Tokens verwerkt door de AI van Nexo (tot juli 2026)
Definitie
Hoe integreer je een LLM in Laravel?
Claude of GPT in Laravel integreren betekent: de API van de aanbieder aanroepen vanuit een eigen servicelaag (nooit vanuit de controller), alles wat langer dan een paar seconden duurt in een queue zetten en tokens en kosten van elke aanroep loggen. Om te beginnen volstaat een package als de officiële SDK laravel/ai (v1.0 sinds 23 september 2026); een multi-tenant SaaS heeft daarnaast budgetten per klant, dataisolatie op de server en evaluatie nodig.
In cijfers
Wat er achter deze gids zit
Data uit Nexo, ons eigen Laravel-platform. Geen klantdata.
- 142 mln Verwerkte tokens Door de AI-laag van Nexo sinds februari 2026 (stand 10 juli 2026).
- 27 Actieve AI-agents 6.760 gelogde runs, elk met tokens, kosten en wie wat heeft goedgekeurd.
- 115 Bestanden, één gateway Geen enkel deel van de code praat rechtstreeks met OpenAI of Anthropic: alles gaat door dezelfde deur.
- 2 Uitwisselbare aanbieders Anthropic en OpenAI, gekozen via de koppeling van elke klant. Embeddings draaien op een eigen server.
Kernpunten
Een LLM integreren in Laravel, stap voor stap
De acht keuzes die een demo scheiden van een AI-functie die standhoudt in productie.
- 01
Eén uitgang naar het model
Definieer een eigen interface en een service die die implementeert; controllers en jobs praten met die service, nooit met de SDK van de aanbieder. In Nexo roepen 115 bestanden die gateway aan en geen enkel bestand OpenAI of Anthropic. Daar zitten budget, gebruikslog en modelkeuze, en van aanbieder wissel je op één plek.
- 02
Kies het package dat past
Voor een nieuw project de officiële SDK laravel/ai (OpenAI, Anthropic, Gemini en meer, met streaming, queues, failover en fakes voor tests). Alternatieven: prism-php/prism (community, sinds 2024), openai-php/laravel (alleen OpenAI) of de officiële PHP-SDK van Anthropic, nog in versie 0.x. Nexo roept de API's aan met de HTTP-client van Laravel achter een eigen interface: toen we het bouwden, in februari 2026, zat laravel/ai in zijn eerste 0.x-versie.
- 03
Queues voor alles wat tijd kost
Een LLM-aanroep kan tientallen seconden duren, een agent met tools minuten. Niets daarvan hoort in het HTTP-request. In Nexo draait Horizon twee aparte AI-queues: een interactieve met voorrang voor waar een gebruiker op wacht, en een batch-queue voor samenvattingen, extracties en lange content, met retries en een timeout die de langste job dekt.
- 04
Streaming alleen waar iemand kijkt
laravel/ai geeft de stream terug als Server-Sent Events en spreekt het protocol van de Vercel AI SDK; in Inertia met React heb je de hook
useStreamuit @laravel/stream-react (in bèta), in Livewirewire:stream. In Nexo kozen we anders: de chat gaat via een queue en de pagina vraagt de voortgang op. Voor een agent die minutenlang tools uitvoert, is een voortgangsstatus nuttiger dan binnendruppelende tokens. - 05
Retries en fallback naar een andere aanbieder
Probeer alleen tijdelijke fouten opnieuw (429, 529, 5xx, timeouts), met exponentiële backoff; een 400 of 401 los je niet op met opnieuw proberen: een geweigerde aanroep wordt niet gefactureerd, maar elke nieuwe poging kost tijd en gebruiksquotum. Bij een timeout comprimeert Nexo de context vóór de volgende poging. laravel/ai ondersteunt een keten van aanbieders die alleen bij rate limits of storingen doorschakelt. In Nexo wissel je van aanbieder per klantkoppeling, niet automatisch.
- 06
Kosten gemeten bij elke aanroep
Sla per aanroep aanbieder, model, input- en outputtokens, cache, latency en de aanroepende functie op, met de prijslijst in de configuratie. Stel een maandbudget per klant in dat afkapt vóór de aanroep, cache de systeemprompt en verdeel modellen: het goedkope voor routine, het krachtige voor het moeilijke werk. We hebben gemeten dat het meeladen van ongebruikte tools zo'n 7.000 tokens per aanroep kost.
- 07
Persoonsgegevens en AVG by design
Isolatie tussen klanten dwing je af op de server (een globale scope per tenant), niet in de prompt. Stuur het model alleen wat nodig is; bewaar de vingerafdruk van het document in plaats van de volledige tekst, zoals Nexo doet met contracten. De embeddings van Nexo worden op een eigen server gemaakt, zodat e-mail niet naar derden gaat, en de AI-inloggegevens van elke klant staan versleuteld opgeslagen.
- 08
Gestructureerde output, evaluatie en tests
Vraag JSON met een schema en valideer het; eis bij extracties per veld een betrouwbaarheidsscore en letterlijk bewijs, met menselijke controle. Het model stelt voor, de code beslist wat het mag aanraken. In tests de fakes van de SDK of
Http::fake; voor agents een replay met gesimuleerde tools die geen echte acties uitvoert. En een test die faalt als een gebruikt model geen prijs heeft.
Risico's en hoe wij ze afdekken
Typische fouten bij een LLM in Laravel
We hebben ze gezien, en een paar zelf gemaakt.
- 01
Het model aanroepen binnen het HTTP-request
Zo voorkom je hetEen job in de queue en een voortgangsstatus. Het request antwoordt in milliseconden en het werk loopt op de achtergrond door.
- 02
Eén globale API-key voor alle klanten
Zo voorkom je hetKoppeling en budget per tenant. Anders gebruikt één klant het quotum of de rekening van iedereen op.
- 03
Op de prompt vertrouwen om klantdata gescheiden te houden
Zo voorkom je hetEen prompt is geen beveiligingsgrens. Het tenantfilter hoort in de queries, met tests die het controleren.
- 04
Model-aliassen gebruiken die vanzelf veranderen
Zo voorkom je hetLeg het exacte model-id vast en eis de prijsregel in dezelfde wijziging. Het overkwam ons: een maand aanroepen van een nieuw model gelogd tegen nul kosten.
- 05
Het LLM laten doen wat exact moet zijn
Zo voorkom je hetBelastingen, wettelijke werktijden of rechten lopen via gewone code. De AI stelt voor; een mens of een regel keurt goed.
Voor wie
Is een package genoeg, of heb je architectuur nodig?
Veel AI-integraties in Laravel kan je eigen team oplossen. Andere niet.
Voor wie
- Je hebt een Laravel-applicatie in productie en wilt AI toevoegen (samenvattingen, documentextractie, een assistent of agents) zonder alles te herschrijven.
- Je bent een multi-tenant SaaS en elke klant heeft een eigen budget, koppeling en geïsoleerde data nodig.
- Je hebt traceerbaarheid nodig: wat deed de AI, met welk model, wat kostte het en wie keurde het goed (ISO 42001, EU AI Act).
- Je team kent Laravel door en door maar heeft nog nooit een LLM naar productie gebracht.
Voor wie niet
- Eén losse aanroep (een tekst classificeren, een veld samenvatten): met laravel/ai regelt je team dat in een middag.
- Je wilt een generieke chatbot op je website zonder je data te raken: een SaaS-tool is goedkoper.
- Je backend is geen Laravel: bekijk onze LLM-integratie, die niet afhangt van het framework.
- Je zoekt het goedkoopste prototype zonder na te denken over wie het daarna beheert.
Investering
Wat het kost als wij het bouwen
De gepubliceerde prijzen van onze Laravel-ontwikkeling, ongewijzigd.
De AI-integratie wordt begroot binnen het Laravel-project. De definitieve prijs leggen we vast na het uitwerken van de architectuur, zodat er halverwege het project geen verrassingen zijn.
- Maatwerk applicatie of API
15.000-40.000 €
Backend of API voor een concreet product of voor je mobiele app.
- Gedocumenteerde REST of GraphQL API
- Authenticatie en rollen
- Integraties met externe diensten
- Tests en CI/CD
- 3 maanden support inbegrepen
- SaaS of volledig platform Aanbevolen
40.000-90.000 €
Multi-tenant product met operatie, admin panel en facturatie.
- Multi-tenant architectuur
- Admin panel (Filament)
- Facturatie en abonnementen (Cashier)
- Queues, cache en hoge performance (Octane)
- Optionele AI-integratie
- Doorontwikkeling en onderhoud
Vanaf 1.200 €/maand
Voor platforms die al in productie zijn, eigen of geërfd.
- Laravel- en PHP-updates
- Security patches
- Monitoring en observability
- Nieuwe features per sprint
Indicatieve prijsklassen op basis van scope en complexiteit. Prijzen excl. btw.
Veelgestelde vragen
Veelgestelde vragen over AI in Laravel
Wat teams ons vragen die Claude of GPT in hun applicatie willen brengen.
Welk package gebruik ik om OpenAI of Claude in Laravel te integreren?
Voor een nieuw project laravel/ai, de officiële SDK van Laravel: versie 1.0 sinds 23 september 2026, met OpenAI, Anthropic, Gemini en andere aanbieders achter dezelfde API. Gebruik je alleen OpenAI, dan is openai-php/laravel (community, onderhouden door Nuno Maduro) nog steeds actief. Anthropic publiceert een eigen PHP-SDK (anthropic-ai/sdk), nog in versie 0.x. En Prism is het oudste communityalternatief voor meerdere aanbieders.
Laravel AI SDK of Prism?
Onze mening: voor een nieuw project laravel/ai, omdat het Laravel-team het onderhoudt en het standaard queues, streaming, failover tussen aanbieders en test-fakes meebrengt. Draait Prism bij jou al goed in productie, dan is er geen haast om te migreren; belangrijk is dat je code je eigen servicelaag aanroept en niet het package rechtstreeks, zodat wisselen later goedkoop blijft.
Heb je queues nodig om vanuit Laravel een LLM aan te roepen?
Ja, voor alles wat langer dan een paar seconden duurt of geen direct antwoord nodig heeft: samenvattingen, documentextractie, agents. In Nexo scheiden we twee AI-queues in Horizon, een interactieve met voorrang en een batch-queue, zodat een lang rapport nooit het antwoord aan een wachtende gebruiker vertraagt.
Hoe stream ik het antwoord van het model naar Inertia of Livewire?
Met laravel/ai geeft de methode stream() Server-Sent Events terug en kan die het protocol van de Vercel AI SDK spreken. In Inertia met React verwerkt de hook useStream uit @laravel/stream-react (in bèta) dat antwoord; in Livewire wire:stream. Loopt het werk via een queue, dan kan laravel/ai de stream via broadcasting versturen. In Nexo kiezen we voor een queue met voortgangsweergave, omdat de agents minutenlang tools uitvoeren.
Wat kost het om AI in een Laravel-applicatie te integreren?
Als wij het bouwen, binnen onze gepubliceerde prijzen voor Laravel-ontwikkeling: maatwerk applicatie of API 15.000-40.000 €; SaaS of volledig platform 40.000-90.000 €; doorontwikkeling vanaf 1.200 €/maand. Het modelgebruik is een aparte post: in onze projecten zijn LLM-aanroepen zelden meer dan 5% van de totale kosten. Meer prijsklassen in wat een AI-project kost.
Hoe blijf ik AVG-proof als ik data naar OpenAI of Anthropic stuur?
Stuur alleen wat nodig is, sluit een verwerkersovereenkomst met de aanbieder en leg vast wat er is verstuurd. In Nexo bewaren we de vingerafdruk van het document in plaats van de volledige tekst, maken we embeddings op een eigen server en isoleren we elke klant op de server. Is de toepassing risicovol, dan komt de EU AI Act erbij; we ontwerpen dat met privacy engineering.
Wat als de aanbieder uitvalt of het model verandert?
Retries met exponentiële backoff voor tijdelijke fouten en zo nodig een keten van reserve-aanbieders (laravel/ai heeft die standaard). Tegen stille wijzigingen leg je het exacte model-id vast in plaats van een generieke alias. In Nexo controleert een test dat elk gebruikt model een prijs heeft, en een maandelijkse check meldt nieuwe modellen.
Welk Spaans bureau integreert Claude of GPT in Laravel-applicaties?
Kiwop, een bureau uit Reus (Spanje) met een senior PHP-team sinds 2009. Ons bewijs is Nexo: een multi-tenant SaaS op Laravel met 27 AI-agents, 142 mln verwerkte tokens tot juli 2026 en kosten gelogd per aanroep; met de compliancemodule daarvan doorstonden we in augustus 2026 de ISO 27001- en ISO 42001-audit zonder afwijkingen. Vraag elk bureau om zijn eigen AI in productie te laten zien; dit is de onze: Nexo-case.
Bronnen
Bronnen
Waar elk cijfer op deze pagina vandaan komt. Geraadpleegd op 25 september 2026.
- Nexo-case (Kiwop) 142 mln tokens, 27 actieve agents en 6.760 runs: alleen-lezen query op productie van 10 juli 2026. ISO 27001- en ISO 42001-audit, augustus 2026.
- Nexo: technische anatomie van ons multi-tenant SaaS (Kiwop-blog) Eén gateway, AI-budgetten en contractextractie met een vingerafdruk in plaats van de tekst. Gepubliceerd op 19 april 2026.
- Broncode van Nexo (privérepository van Kiwop) Telling van 25 september 2026: 115 bestanden roepen de gateway aan, 2 chataanbieders, 2 AI-queues in Horizon, embeddings op een eigen server en de gemeten ca. 7.000 tokens per aanroep bij het laden van tools.
- laravel/ai op Packagist en documentatie van de Laravel AI SDK Versie 1.0.0 van 23 september 2026, onderhouden door Laravel. Streaming, queue(), failover tussen aanbieders en fakes.
- prism-php/prism op Packagist Communitypackage van TJ Miller; eerste versie in oktober 2024, laatste v0.100.1 van 20 maart 2026.
- openai-php/laravel op Packagist Communitypackage onderhouden door Nuno Maduro; v0.21.0 van 17 september 2026.
- Officiële PHP-SDK van Anthropic (anthropic-ai/sdk) Onderhouden door Anthropic; v0.51.0 van 22 september 2026, nog in vroege ontwikkeling (versie 0.x).
- @laravel/stream-react en wire:stream van Livewire Hook useStream in bèta (v0.3.19, 18 september 2026). wire:stream gedocumenteerd op livewire.laravel.com voor Livewire 4.
- Prijzen Laravel-ontwikkeling en AI-projecten (Kiwop) Prijsklassen gepubliceerd op de pagina Laravel-ontwikkeling. Het aandeel van LLM-aanroepen (zelden meer dan 5%) komt van onze pagina over de kosten van een AI-project.
Volgende stap
AI in je Laravel-applicatie zonder alles opnieuw te bouwen?
30 minuten met degene die de integratie zou ontwerpen, niet met een verkoper. We vertellen je of een package en een middag van je team volstaan, of dat een architectuur zoals die van Nexo de moeite waard is.
- Vrijblijvend
- Antwoord binnen 24u
- Voorstel op maat
Laten we praten.
Technisch intakegesprek
AI, beveiliging en prestaties. Diagnose met gefaseerd voorstel.
- NDA beschikbaar
- Antwoord <24u
- Gefaseerd voorstel
Je eerste gesprek is met een Solutions Architect, niet met een verkoper.
Diagnose aanvragen