wilfreedi / laravel-apifinder
PHP клиент для взаимодействия с API Finder
0.0.3
2025-04-09 17:42 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
This package is auto-updated.
Last update: 2025-06-11 17:35:10 UTC
README
API Finder
PHP клиент для взаимодействия с API Finder.
Установка
composer require wilfreedi/laravel-apifinder
Публикация файла настроек
php artisan vendor:publish --provider="Wilfreedi\ApiFinder\Providers\ApiFinderServiceProvider" --tag="config"
Переменные .env
APIFINDER_BASE_URL=https://apifinder.ru
APIFINDER_API_TOKEN=your_secure_bearer_token_here
APIFINDER_TIMEOUT=60
Использование
Вне Laravel
use Wilfreedi\ApiFinder\ApiFinderClient; $baseUrl = 'https://apifinder.ru'; $apiToken = 'your_secure_bearer_token_here'; $timeout = 60; // опционально $guzzleOptions = [ // опционально // 'proxy' => 'http://user:pass@host:port' ]; $client = new ApiFinderClient($baseUrl, $apiToken, $timeout, $guzzleOptions); // Дальнейшее использование $openaiService = $client->openAI(); // $deepseekService = $client->deepSeek();
Laravel (с фасадом)
use Wilfreedi\ApiFinder\Facades\ApiFinder; // --- OpenAI Chat --- try { $params = [ 'model' => 'gpt-3.5-turbo', 'messages' => [ ['role' => 'user', 'content' => 'Hello!'] ] ]; $response = ApiFinder::openAI()->chat($params); print_r($response); } catch (\Wilfreedi\ApiFinder\Exceptions\ApiException $e) { // Обработка ошибок API echo "API Error: " . $e->getMessage() . " (Status: " . $e->getCode() . ")\n"; } // --- OpenAI Transcribe --- try { $filePath = '/path/to/your/audio.mp3'; $params = [ 'model' => 'whisper-1', 'language' => 'en' // опционально ]; $response = ApiFinder::openAI()->transcribe($filePath, basename($filePath), $params); echo "Transcription: " . $response['text'] . "\n"; } catch (\Wilfreedi\ApiFinder\Exceptions\ApiException $e) { // Обработка ошибок echo "API Error: " . $e->getMessage() . " (Status: " . $e->getCode() . ")\n"; } catch (\InvalidArgumentException $e) { // Ошибка файла echo "File Error: " . $e->getMessage() . "\n"; }
Laravel (Dependency Injection)
use Illuminate\Http\Request; use Wilfreedi\ApiFinder\ApiFinderClient; use Wilfreedi\ApiFinder\Services\OpenAIService; // Если внедрять напрямую class SomeController { protected ApiFinderClient $apiFinderClient; // Или protected OpenAIService $openaiService; public function __construct(ApiFinderClient $apiFinderClient /* или OpenAIService $openaiService */) { $this->apiFinderClient = $apiFinderClient; // $this->openaiService = $openaiService; } public function handleOpenAI(Request $request) { $openaiService = $this->apiFinderClient->openAI(); try { $response = $openaiService->chat($request->input('params')); // ... } catch (\Wilfreedi\ApiFinder\Exceptions\ApiException $e) { // ... } } }
Сообщить о проблеме
Если вы обнаружите ошибку или у вас есть предложения по улучшению библиотеки, пожалуйста напишите нам