- Any-LLM Gateway setup with Docker Compose - Laravel 11 admin interface with Livewire - Dashboard with usage statistics and charts - Gateway Users management with budget tracking - API Keys management with revocation - Budget templates with assignment - Usage Logs with filtering and CSV export - Model Pricing management with calculator - PostgreSQL database integration - Complete authentication system for admins
72 lines
3.9 KiB
PHP
72 lines
3.9 KiB
PHP
<x-app-layout>
|
|
<x-slot name="header">
|
|
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
|
|
Add New Model Pricing
|
|
</h2>
|
|
</x-slot>
|
|
|
|
<div class="py-12">
|
|
<div class="max-w-2xl mx-auto sm:px-6 lg:px-8">
|
|
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
|
|
<div class="p-6">
|
|
<form method="POST" action="{{ route('model-pricing.store') }}">
|
|
@csrf
|
|
|
|
<div class="mb-4">
|
|
<label for="model_key" class="block text-sm font-medium text-gray-700 mb-1">
|
|
Model Key *
|
|
</label>
|
|
<input type="text" name="model_key" id="model_key"
|
|
value="{{ old('model_key') }}" required
|
|
placeholder="e.g., gpt-4, claude-3-opus-20240229"
|
|
class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
|
@error('model_key')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
<label for="input_price_per_million" class="block text-sm font-medium text-gray-700 mb-1">
|
|
Input Price per Million Tokens *
|
|
</label>
|
|
<input type="number" name="input_price_per_million" id="input_price_per_million"
|
|
value="{{ old('input_price_per_million') }}" step="0.01" min="0" required
|
|
placeholder="e.g., 3.00"
|
|
class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
|
@error('input_price_per_million')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
<p class="mt-1 text-xs text-gray-500">Price in USD per 1 million input tokens</p>
|
|
</div>
|
|
|
|
<div class="mb-6">
|
|
<label for="output_price_per_million" class="block text-sm font-medium text-gray-700 mb-1">
|
|
Output Price per Million Tokens *
|
|
</label>
|
|
<input type="number" name="output_price_per_million" id="output_price_per_million"
|
|
value="{{ old('output_price_per_million') }}" step="0.01" min="0" required
|
|
placeholder="e.g., 15.00"
|
|
class="w-full rounded-md border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
|
@error('output_price_per_million')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
<p class="mt-1 text-xs text-gray-500">Price in USD per 1 million output tokens</p>
|
|
</div>
|
|
|
|
<div class="flex justify-end space-x-3">
|
|
<a href="{{ route('model-pricing.index') }}"
|
|
class="bg-gray-300 hover:bg-gray-400 text-gray-800 font-bold py-2 px-4 rounded">
|
|
Cancel
|
|
</a>
|
|
<button type="submit"
|
|
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
|
|
Create Model Pricing
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</x-app-layout>
|