@php use App\Domains\Engine\Enums\EngineEnum; use App\Domains\Entity\Models\Entity; use App\Domains\Entity\Enums\EntityEnum; use App\Extensions\OpenRouter\System\Enums\OpenRouterEngine; $defaultEngine = EngineEnum::fromSlug(setting('default_ai_engine', EngineEnum::OPEN_AI->slug())); $defaultModel = $defaultEngine->getDefaultWordModel($setting); $fullModels = [$defaultModel]; if (Entity::planModels()->count() > 0) { $planModels = Entity::planModels() ->filter(function ($model) { return !empty($model->key); }) ->pluck('key') ->toArray(); $fullModels = array_merge($fullModels, $planModels); } if ((int) setting('open_router_status') === 1) { $openRouterModels = OpenRouterEngine::cases(); $fullModels = array_merge($fullModels, $openRouterModels); } $fullModels = collect($fullModels)->unique('value')->values(); $defaultDriver = \App\Domains\Entity\Facades\Entity::driver(EntityEnum::tryFrom($defaultModel?->value)); $selectedModel = $defaultDriver; if (!$defaultDriver->isUnlimitedCredit() && $defaultDriver->creditBalance() <= 0) { foreach ($fullModels as $model) { $driver = \App\Domains\Entity\Facades\Entity::driver(EntityEnum::tryFrom($model?->value)); if ($driver->isUnlimitedCredit() || $driver->creditBalance() > 0) { $selectedModel = $driver; break; } } } @endphp
@lang('AI Model: ')

@lang('AI Models')

@lang('Choose the AI model that best suits your needs.')

@foreach ($fullModels as $engine) @php $model = EntityEnum::tryFrom($engine?->value); $driver = \App\Domains\Entity\Facades\Entity::driver($model); @endphp $driver->creditBalance() <= 0 && !$driver->isUnlimitedCredit(), ]) variant="outline-shadow" ::class="{ 'inactive': {{ $driver->creditBalance() <= 0 && !$driver->isUnlimitedCredit() ? 'true' : 'false' }}, }" @click.prevent="selectCard($event.currentTarget)" ::data-selected="selectedCard?.getAttribute('data-model-value') === $el.getAttribute('data-model-value')" x-show="searchString === '' || $el.getAttribute('data-model-label').toLowerCase().includes(searchString.toLowerCase())" >

@lang('Words')

@if ($driver->isUnlimitedCredit()) @lang('Unlimited Credits') @else {{ $driver->creditBalance() > 0 ? $driver->creditBalance() : __('No credits left') }} @endif

{{ $driver->model()?->selected_title ?? $model?->value }}

{{--

--}} {{-- @lang($model->label()) --}} {{--

--}}
@endforeach
@foreach ($fullModels as $model) @endforeach {{ __('Apply') }}