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.
- 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:
[email protected]
Check out CONTRIBUTING.md for guidelines on how to contribute.
This package is open-source software licensed under the MIT License.