grok-php / laravel
Seamlessly integrate Grok AI into Laravel applications with an elegant, developer-friendly package. Leverage powerful AI models for chat, automation, and NLP while maintaining Laravel's expressive simplicity.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        thefeqy
                                                                                    
                                                                
Installs: 2 357
Dependents: 0
Suggesters: 0
Security: 0
Stars: 156
Watchers: 2
Forks: 11
Open Issues: 3
pkg:composer/grok-php/laravel
Requires
- php: ^8.2 || ^8.3 || ^8.4
- grok-php/client: ^1.3
- laravel/framework: ^10.0|^11.0|^12.0
Requires (Dev)
- laravel/pint: ^1.20
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^11
README
A Laravel integration for the GrokPHP Client, designed to effortlessly incorporate Grok AI into Laravel applications with a clean and intuitive API.
Utilize advanced AI models for chat, automation, and natural language processing, all while preserving Laravel's simplicity and elegance.
Table of Contents
- Features
- Installation
- Quick Start
- Available Grok AI Models
- Streaming Responses
- Testing
- Security
- Contributing
- License
Features
- Seamless Laravel Integration – Works with Laravel 10, 11, and 12
- Simple API Client – Access Grok AI models with a clean and intuitive API
- Supports Chat & Vision – Send both text and image-based requests
- Streaming Capable – Enable real-time AI responses
- Configurable Defaults – Set model, temperature, and timeout via config
Installation
Install via Composer:
composer require grok-php/laravel
After installation, run the setup command:
php artisan grok:install
This command will:
- Publish the configuration file (config/grok.php).
- Add necessary environment variables to .env.
Add your API key in .env:
GROK_API_KEY=your-api-key
Quick Start
Chat API
use GrokPHP\Laravel\Facades\GrokAI; use GrokPHP\Client\Config\ChatOptions; use GrokPHP\Client\Enums\Model; $response = GrokAI::chat( [['role' => 'user', 'content' => 'Hello Grok!']], new ChatOptions(model: Model::GROK_2) ); echo $response->content();
Vision Analysis (Image Recognition)
$response = GrokAI::vision()->analyze( 'https://example.com/sample.jpg', 'Describe this image' ); echo $response->content();
Error Handling
All errors are wrapped in the GrokException class:
use GrokPHP\Client\Exceptions\GrokException; try { $response = GrokAI::chat( [['role' => 'user', 'content' => 'Hello!']] ); echo $response->content(); } catch (GrokException $e) { echo "Error: " . $e->getMessage(); }
Available Grok AI Models
| Model Enum | API Model Name | Description | 
|---|---|---|
| Model::GROK_VISION_BETA | grok-vision-beta | Experimental vision-enabled model | 
| Model::GROK_2_VISION | grok-2-vision | Advanced multi-modal vision model | 
| Model::GROK_2_VISION_LATEST | grok-2-vision-latest | Latest iteration of Grok vision models | 
| Model::GROK_2_VISION_1212 | grok-2-vision-1212 | Enhanced vision model with performance improvements | 
| Model::GROK_2_1212 | grok-2-1212 | Optimized chat model | 
| Model::GROK_2 | grok-2 | Default general-purpose Grok model | 
| Model::GROK_2_LATEST | grok-2-latest | Latest iteration of Grok-2 | 
| Model::GROK_BETA | grok-beta | Experimental beta model | 
Default model used: Model::GROK_2
Streaming Responses
Enable real-time AI responses by setting stream: true:
$response = GrokAI::chat( [['role' => 'user', 'content' => 'Tell me a story']], new ChatOptions(model: Model::GROK_2, stream: true) );
Streaming is useful for chatbots, assistants, and real-time applications.
Testing
To run PHPUnit tests, copy the phpunit.xml.dist file to phpunit.xml and set your API key.
cp phpunit.xml.dist phpunit.xml
<php> <env name="GROK_API_KEY" value="your-grok-api-key"/> </php>
Now, run the tests:
composer test
Security
If you discover a security vulnerability, please report it via email:
thefeqy@gmail.com
Contributing
Check out CONTRIBUTING.md for guidelines on how to contribute.
License
This package is open-source software licensed under the MIT License.
