Провайдеры и модели
AI SDK поддерживает 14 провайдеров из коробки.
Список
- OpenAI — GPT-4o, GPT-4.1, o1
- Anthropic — Claude 3.5, Claude 4
- Google Gemini — Gemini 2.0, 2.5
- Groq — быстрые открытые модели
- Mistral — Mistral Large, Medium
- DeepSeek — DeepSeek V3, R1
- xAI — Grok
- Ollama — локальные модели
- Azure OpenAI — enterprise OpenAI
- Cohere — Command
- OpenRouter — агрегатор
- Jina — embeddings
- VoyageAI — embeddings
- ElevenLabs — аудио
Конфигурация
config/ai.php:
return [
'default' => env('AI_PROVIDER', 'openai'),
'providers' => [
'openai' => [
'key' => env('OPENAI_API_KEY'),
'models' => [
'text' => [
'default' => 'gpt-4o',
'cheapest' => 'gpt-4o-mini',
'smartest' => 'o1',
],
],
],
'anthropic' => [
'key' => env('ANTHROPIC_API_KEY'),
'models' => [
'text' => [
'default' => 'claude-sonnet-4-20250514',
'cheapest' => 'claude-haiku-4-5-20251001',
'smartest' => 'claude-opus-4-20250514',
],
],
],
],
];
Выбор провайдера при вызове
По умолчанию — из конфига. Можно переопределить:
$response = (new SupportAgent)->prompt(
'Привет',
provider: 'anthropic',
model: 'claude-haiku-4-5-20251001',
);
Failover
Если основной провайдер упал — SDK пробует следующий:
$response = (new SupportAgent)->prompt(
'Привет',
provider: ['anthropic', 'openai', 'gemini'],
);
Работает автоматически при сбое или rate limit.
UseCheapestModel и UseSmartestModel
Атрибуты для автоматического выбора модели:
use Laravel\Ai\Attributes\UseCheapestModel;
use Laravel\Ai\Attributes\UseSmartestModel;
#[UseCheapestModel]
class SimpleClassifier implements Agent {}
#[UseSmartestModel]
class ComplexReasoner implements Agent {}
UseCheapestModel выберет Haiku, gpt-4o-mini или аналог. UseSmartestModel — Opus, o1 или аналог.
Model атрибут
Явное указание:
use Laravel\Ai\Attributes\Model;
#[Model('claude-sonnet-4-20250514')]
class SupportAgent implements Agent {}
Provider атрибут
use Laravel\Ai\Attributes\Provider;
#[Provider('anthropic')]
class SupportAgent implements Agent {}
Итоги
- 14 провайдеров
- Конфиг в
config/ai.php - Выбор при вызове через
providerиmodel - Failover через массив провайдеров
UseCheapestModel/UseSmartestModel- Явное указание через атрибуты