Tinywan / client-1

Grok PHP Client is a robust and community-driven PHP client library for seamless integration with Grok AI API, offering efficient access to advanced AI and data processing capabilities.

Home Page:https://packagist.org/packages/grok-php/client

Repository from Github https://github.comTinywan/client-1Repository from Github https://github.comTinywan/client-1

🧠 Grok PHP Client

Grok PHP Client

A lightweight, framework-agnostic PHP client for interacting with Grok AI APIs.
Supports PHP 8.1+, built with OOP best practices, and fully type-safe.

Latest Version PHP Version GitHub Workflow Status License


πŸ“– Table of Contents


✨ Features

Grok PHP Client Demo

βœ… Plug & Play – Quickly integrates with Grok AI APIs.
βœ… Type-Safe & Modern – Fully utilizes PHP 8.1+ features like enums, traits, and interfaces.
βœ… Works Everywhere – Compatible with CLI scripts, APIs, and any PHP project.
βœ… Streaming Ready – Built-in support for streaming API responses.
βœ… Lightweight & Optimized – No unnecessary dependencies, PSR-4 autoloading.


πŸ“¦ Installation

Install via Composer:

composer require grok-php/client

Requirements:

  • PHP 8.1+
  • Composer 2.0+

πŸš€ Quick Start

Basic Usage

use GrokPHP\Client\Clients\GrokClient;
use GrokPHP\Client\Config\GrokConfig;
use GrokPHP\Client\Config\ChatOptions;
use GrokPHP\Client\Enums\Model;

// Initialize the client
$config = new GrokConfig('your-api-key');
$client = new GrokClient($config);

// Define messages
$messages = [
    ['role' => 'system', 'content' => 'You are an AI assistant.'],
    ['role' => 'user', 'content' => 'Tell me a joke!']
];

// Call API
$options = new ChatOptions(model: Model::GROK_2, temperature: 0.7, stream: false);
$response = $client->chat($messages, $options);

echo "πŸ€– AI Response: " . $response['choices'][0]['message']['content'];

πŸ“Œ Defaults Used:

  • Model: grok-2
  • Temperature: 0.7
  • Streaming: false

Advanced Configuration

use GrokPHP\Client\Clients\GrokClient;
use GrokPHP\Client\Config\GrokConfig;
use GrokPHP\Client\Config\ChatOptions;
use GrokPHP\Client\Enums\Model;

// Load API key from environment
$apiKey = getenv('GROK_API_KEY');

$config = new GrokConfig($apiKey);
$client = new GrokClient($config);

// Define messages
$messages = [
    ['role' => 'system', 'content' => 'You are a helpful assistant.'],
    ['role' => 'user', 'content' => 'How do black holes form?']
];

// Custom API settings
$options = new ChatOptions(
    model: Model::GROK_2_LATEST,
    temperature: 1.2, 
    stream: false
);

$response = $client->chat($messages, $options);
echo "πŸš€ AI Says: " . $response['choices'][0]['message']['content'];

πŸ“Œ Available Grok AI Models

Grok AI offers multiple models, each optimized for different use cases. These models are available in the Model enum inside our package: πŸ“„ src/Enums/Model.php

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

The Grok API supports streaming responses for real-time interaction. Enable it by setting stream: true:

$options = new ChatOptions(model: Model::GROK_2, temperature: 0.7, stream: true);
$response = $client->chat($messages, $options);

Streaming can be useful for chatbots, real-time applications, and CLI assistants.


πŸ§ͺ Testing

Run tests using Pest PHP:

composer test
or
vendor/bin/pest

πŸ”’ Security

If you discover a security vulnerability, please report it via email: πŸ“© thefeqy@gmail.com

🀝 Contributing

Want to improve this package? Check out CONTRIBUTING.md for contribution guidelines.

πŸ“„ License

This package is open-source software licensed under the MIT License.

About

Grok PHP Client is a robust and community-driven PHP client library for seamless integration with Grok AI API, offering efficient access to advanced AI and data processing capabilities.

https://packagist.org/packages/grok-php/client

License:MIT License


Languages

Language:PHP 100.0%