> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Een custom provider voor de AI SDK maken

> Implementeer een provider voor een AI-service die niet standaard door de Laravel AI SDK wordt ondersteund.

## Wanneer heb je een custom provider nodig?

De Laravel AI SDK ondersteunt meerdere grote AI-services. Voor een interne gateway, een on-premises modelserver of een nieuwe service kun je een custom provider registreren. Voor OpenAI-compatible endpoints is de ingebouwde `openai-compatible` driver meestal voldoende.

## Providers en gateways

Een provider kiest modellen en bevat configuratie. Een gateway verstuurt de request voor één stap. Providers implementeren feature-specifieke contracts:

| Contract                | Functie                  |
| ----------------------- | ------------------------ |
| `TextProvider`          | Tekstgeneratie en agents |
| `EmbeddingProvider`     | Vector embeddings        |
| `ImageProvider`         | Afbeeldingen genereren   |
| `AudioProvider`         | Text-to-speech           |
| `TranscriptionProvider` | Speech-to-text           |

## Een provider implementeren

```php theme={null}
use Laravel\Ai\Contracts\Gateway\StepTextGateway;
use Laravel\Ai\Contracts\Providers\TextProvider;
use Laravel\Ai\Providers\Concerns\GeneratesText;
use Laravel\Ai\Providers\Concerns\HasTextGateway;
use Laravel\Ai\Providers\Concerns\StreamsText;
use Laravel\Ai\Providers\Provider;

class MyProvider extends Provider implements TextProvider
{
    use GeneratesText;
    use HasTextGateway;
    use StreamsText;

    public function textGateway(): StepTextGateway
    {
        return $this->textGateway ??= new MyGateway;
    }

    public function defaultTextModel(): string
    {
        return $this->config['models']['text']['default'] ?? 'my-model';
    }

    public function cheapestTextModel(): string
    {
        return $this->defaultTextModel();
    }

    public function smartestTextModel(): string
    {
        return $this->defaultTextModel();
    }
}
```

Registreer de provider met `AiManager::extend()` in `AppServiceProvider` en voeg de driver toe aan `config/ai.php`. Een `StepTextGateway` verwerkt één stap; de `TextGenerationLoop` handelt volgende tool calls af.

<Warning>
  De oude `TextGateway`-interface is in SDK 0.9 verwijderd. Nieuwe gateways moeten `StepTextGateway` implementeren.
</Warning>

Zie de [Laravel AI SDK-broncode](https://github.com/laravel/ai) voor de actuele contracts en voorbeelden.


## Related topics

- [Een custom agent voor Boost maken](/nl/advanced/boost-custom-agent.md)
- [Geavanceerde onderwerpen](/nl/advanced/index.md)
- [Mijn packages](/nl/packages/index.md)
- [Een MCP-server bouwen met Laravel](/nl/advanced/mcp-server.md)
- [Laravel Boost custom agent voor PhpStorm met GitHub Copilot](/nl/packages/laravel-boost-phpstorm-copilot.md)
