diff --git a/.env.example b/.env.example index 35db1dd..6bace43 100644 --- a/.env.example +++ b/.env.example @@ -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 diff --git a/app/Http/Controllers/GapGptController.php b/app/Http/Controllers/GapGptController.php new file mode 100644 index 0000000..8026422 --- /dev/null +++ b/app/Http/Controllers/GapGptController.php @@ -0,0 +1,19 @@ +validate([ + 'messages' => 'required|array', + 'model' => 'nullable|string', + ]); + + return GapGptApi::chat($data['messages'], $data['model'] ?? null)->json(); + } +} diff --git a/app/Modules/GapGpt/GapGptApi.php b/app/Modules/GapGpt/GapGptApi.php new file mode 100644 index 0000000..ba5668c --- /dev/null +++ b/app/Modules/GapGpt/GapGptApi.php @@ -0,0 +1,25 @@ + '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, + ]); + } +} diff --git a/config/services.php b/config/services.php index a728658..ffc6d1b 100644 --- a/config/services.php +++ b/config/services.php @@ -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'), + ], + ]; diff --git a/routes/api.php b/routes/api.php index edf1a3d..cb06f9b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,5 +1,5 @@