From cd9455965a4815847026a5d0b88a95440ddedccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erdem=20K=C3=B6se?= Date: Wed, 20 Mar 2024 23:41:11 +0100 Subject: [PATCH] Support for accessing the underlying Gemini Client Closes #9 --- README.md | 9 +++++++++ src/Facades/Gemini.php | 2 ++ src/Gemini.php | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/README.md b/README.md index e4049fa..55746c4 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ _This library is not developed or endorsed by Google._ - [Text Embeddings](#text-embeddings) - [Tokens counting](#tokens-counting) - [Listing models](#listing-models) + - [Accessing the underlying Gemini API client](#accessing-the-underlying-gemini-api-client) - [Credits](#credits) ## Installation @@ -198,6 +199,14 @@ print_r(Gemini::listModels()); //] ``` +### Accessing the underlying Gemini API client + +```php +use GeminiAPI\Laravel\Facades\Gemini; + +$client = Gemini::client(); +``` + ## Credits This project was inspired by the great work of [OpenAI PHP for Laravel](https://github.com/openai-php/laravel) and [OpenAI PHP client](https://github.com/openai-php/client). diff --git a/src/Facades/Gemini.php b/src/Facades/Gemini.php index 55177a3..569439a 100644 --- a/src/Facades/Gemini.php +++ b/src/Facades/Gemini.php @@ -4,6 +4,7 @@ namespace GeminiAPI\Laravel\Facades; +use GeminiAPI\ClientInterface; use GeminiAPI\Laravel\ChatSession; use GeminiAPI\Resources\Model; use Illuminate\Support\Facades\Facade; @@ -18,6 +19,7 @@ * @method static string generateTextUsingImageFile(string $imageType, string $imagePath, string $prompt = '') * @method static ChatSession startChat(array $history) * @method static Model[] listModels() + * @method static ClientInterface client() */ class Gemini extends Facade { diff --git a/src/Gemini.php b/src/Gemini.php index 1747458..ac6671d 100644 --- a/src/Gemini.php +++ b/src/Gemini.php @@ -200,4 +200,9 @@ public function listModels(): array return $response->models; } + + public function client(): ClientInterface + { + return $this->client; + } }