feat: add gapgpt
This commit is contained in:
@@ -63,3 +63,7 @@ AWS_BUCKET=
|
|||||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||||
|
|
||||||
VITE_APP_NAME="${APP_NAME}"
|
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'),
|
'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
|
<?php
|
||||||
use App\Http\Controllers\GroqController;
|
use App\Http\Controllers\GapGptController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::post('/chat', [GroqController::class, 'api']);
|
Route::post('/chat', [GapGptController::class, 'api']);
|
||||||
|
|||||||
Reference in New Issue
Block a user