Streaming
Als jestreaming: true opgeeft in SessionConfig, kun je de respons van Copilot als stream ontvangen.
Zowel de stdio-modus als de TCP-modus gedraagt zich van zichzelf al als streaming. Het verschil is dat je nu ASSISTANT_MESSAGE_DELTA gaat ontvangen.
- Toon de output voor een vloeiende weergave zonder extra regeleindes toe te voegen.
- Gebruik
spin()van Laravel Prompts niet in combinatie hiermee, want dat verstoort de weergave.
Concrete gebruikspatronen
Artisan-command
Zoals hierboven geef je de output direct weer metecho of $this->output->write(). De weergave is hetzelfde als bij direct gebruik van de Copilot CLI, dus goed te volgen. Met stream() van Laravel Prompts kun je zelfs weergeven met een fade-in-effect.
Op een webpagina afleveren als Server-Sent Events (SSE)
De variant met response()->eventStream()
response()->eventStream() is toegevoegd vlak voor de release van Laravel 12. Dit package ondersteunt alleen Laravel 12 en hoger, dus je kunt het gebruiken.
De variant met response()->stream()
Voorbeeldcode voor de frontend
copilot.blade.php is bedoeld als eenvoudige weergavetest. Voor productie wordt aanbevolen om, als je React of Vue gebruikt, de officiële npm-packages van Laravel te gebruiken: @laravel/stream-react of @laravel/stream-vue.
Afleveren via WebSocket
Je kunt dedelta ook via WebSocket afleveren door de notificatie-, broadcast-functionaliteit van Laravel en Reverb te combineren.
Livewire’s wire:stream
Ook in Livewire is streamingweergave mogelijk met de directive wire:stream.
Raadpleeg de GitHub-repository voor de meest actuele informatie.