imdeniil/zai-api-php-client

There is no license information available for the latest version (v1.0.1) of this package.

ZAI API PHP Client

Maintainers

Package info

github.com/imdeniil/zai-api-php-client

pkg:composer/imdeniil/zai-api-php-client

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-03-23 11:00 UTC

This package is auto-updated.

Last update: 2026-03-23 11:02:00 UTC


README

A PHP SDK for interacting with the ZAI API, styled after the official Python SDK.

Requirements

  • PHP 8.1+
  • Composer

Feature Support

This SDK is modeled after the ZAI Python SDK and focuses on text-based interaction and document parsing.

✅ Implemented & Verified (Core & Text)

  • Chat ($client->chat->completions): Full support for GLM-4/5 models, tools, and streaming.
  • Authentication: JWT token generation (HS256) with local caching.
  • Embeddings ($client->embeddings): Vector generation for text.
  • Pest Testing: Unit & Feature tests included.

🛠 Implemented (Beta/Basic)

  • Assistant ($client->assistant): Conversations and usage tracking.
  • Web Search ($client->webSearch): Integrated internet search.
  • Web Reader ($client->webReader): Extracting text/markdown from URLs.
  • Moderations ($client->moderations): Content safety checking.
  • Files ($client->files): File uploads, listing, and management.
  • OCR ($client->ocr): Handwriting recognition and Layout parsing.

❌ Not Implemented (Multimedia)

  • Images, Audio, Videos, Voice: Not planned for current release (focus is on text-only interaction).

Installation

composer require imdeniil/zai-api-php-client

Quick Start

require_once 'vendor/autoload.php';

use Zai\ZaiClient;

// Инициализация клиента
// API-ключ можно передать параметром или задать через переменную окружения ZAI_API_KEY
$client = new ZaiClient('your_api_key_id.your_api_key_secret');

// Создание chat completion
try {
    $response = $client->chat->completions->create([
        'model' => 'glm-4',
        'messages' => [
            ['role' => 'user', 'content' => 'Расскажи шутку']
        ],
    ]);

    print_r($response);
} catch (\Exception $e) {
    echo "Ошибка: " . $e->getMessage();
}

Architecture

This SDK follows modern PHP practices:

  • PSR-4 Autoloading
  • PHP 8.1 Features (Readonly properties, strong typing)
  • Guzzle for HTTP requests
  • Local JWT token generation with caching