feat: add gapgpt

This commit is contained in:
2026-06-01 17:47:52 +03:30
parent 500d6158c8
commit 601e58c884
5 changed files with 56 additions and 2 deletions
+4
View File
@@ -63,3 +63,7 @@ AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}"
GAPGPT_API_KEY=
GAPGPT_BASE_URL=https://api.gapgpt.app/v1
GAPGPT_MODEL=gpt-4.1-nano
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers;
use App\Modules\GapGpt\GapGptApi;
use Illuminate\Http\Request;
class GapGptController extends Controller
{
public function api(Request $request)
{
$data = $request->validate([
'messages' => 'required|array',
'model' => 'nullable|string',
]);
return GapGptApi::chat($data['messages'], $data['model'] ?? null)->json();
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Modules\GapGpt;
use Illuminate\Support\Facades\Http;
class GapGptApi
{
public static function chat($messages, $model = null)
{
$token = config('services.gapgpt.key');
$baseUrl = rtrim(config('services.gapgpt.base_url'), '/');
return Http::withHeaders([
'authorization' => 'Bearer ' . $token,
])->post($baseUrl . '/chat/completions', [
'model' => $model ?: config('services.gapgpt.model'),
'messages' => $messages,
'temperature' => 0.2,
'max_tokens' => 4096,
'top_p' => 1,
'stream' => false,
]);
}
}
+6
View File
@@ -38,5 +38,11 @@
'key' => env('GROQ_API_KEYS'),
],
'gapgpt' => [
'key' => env('GAPGPT_API_KEY'),
'base_url' => env('GAPGPT_BASE_URL', 'https://api.gapgpt.app/v1'),
'model' => env('GAPGPT_MODEL', 'gpt-4.1-nano'),
],
];
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
use App\Http\Controllers\GroqController;
use App\Http\Controllers\GapGptController;
use Illuminate\Support\Facades\Route;
Route::post('/chat', [GroqController::class, 'api']);
Route::post('/chat', [GapGptController::class, 'api']);