- 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
59 lines
3.0 KiB
PHP
59 lines
3.0 KiB
PHP
<x-app-layout>
|
|
<x-slot name="header">
|
|
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
|
|
Import Model Pricing from CSV
|
|
</h2>
|
|
</x-slot>
|
|
|
|
<div class="py-12">
|
|
<div class="max-w-3xl mx-auto sm:px-6 lg:px-8">
|
|
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
|
|
<div class="p-6">
|
|
<div class="mb-6">
|
|
<h3 class="text-lg font-semibold mb-2">CSV Format Instructions</h3>
|
|
<p class="text-sm text-gray-600 mb-2">Your CSV file should have the following format:</p>
|
|
<div class="bg-gray-100 p-4 rounded font-mono text-sm">
|
|
model_key,input_price_per_million,output_price_per_million<br>
|
|
gpt-4,30.00,60.00<br>
|
|
gpt-3.5-turbo,0.50,1.50<br>
|
|
claude-3-opus-20240229,15.00,75.00
|
|
</div>
|
|
<ul class="mt-3 text-sm text-gray-600 list-disc list-inside space-y-1">
|
|
<li>First row must be headers (will be skipped)</li>
|
|
<li>Existing models will be updated with new prices</li>
|
|
<li>New models will be created</li>
|
|
<li>Maximum file size: 2MB</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<form method="POST" action="{{ route('model-pricing.import') }}" enctype="multipart/form-data">
|
|
@csrf
|
|
|
|
<div class="mb-6">
|
|
<label for="csv_file" class="block text-sm font-medium text-gray-700 mb-1">
|
|
Select CSV File *
|
|
</label>
|
|
<input type="file" name="csv_file" id="csv_file" required accept=".csv,.txt"
|
|
class="w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100">
|
|
@error('csv_file')
|
|
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
|
@enderror
|
|
</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-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
|
|
Import CSV
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</x-app-layout>
|