feat: add gapgpt
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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']);
|
||||
|
||||
Reference in New Issue
Block a user