Initial commit: Any-LLM Gateway with Laravel Admin Interface

- 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
This commit is contained in:
wtrinkl
2025-11-16 12:38:05 +01:00
commit b1363aeab9
148 changed files with 23995 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
<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>