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.
Latest Version PHP Version Laravel Version Total Downloads GitHub Workflow Status License
- Features
- Installation
- Quick Start
- Available Grok AI Models
- Streaming Responses
- Testing
- Security
- Contributing
- License
- 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
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
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();
$response = GrokAI::vision()->analyze( 'https://example.com/sample.jpg', 'Describe this image' ); echo $response->content();
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(); }
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
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.
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
If you discover a security vulnerability, please report it via email:
thefeqy@gmail.com
Check out CONTRIBUTING.md for guidelines on how to contribute.
This package is open-source software licensed under the MIT License.