token27/nexus-ai

Framework-agnostic AI communication engine with middleware pipeline architecture

Maintainers

Package info

github.com/token27/nexus-ai

pkg:composer/token27/nexus-ai

Statistics

Installs: 0

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-05-14 23:54 UTC

This package is auto-updated.

Last update: 2026-05-14 23:56:48 UTC


README

CI Latest Version PHP 8.2+ PHPStan Level 6 License: MIT

A framework-agnostic PHP 8.2+ library for communicating with AI providers. Supports text generation, image generation, embeddings, speech synthesis, transcription, streaming, tool calling, and structured output — through a unified, PSR-18 compliant interface.

Supported Providers

OpenAI · Anthropic · Google Gemini · Ollama · DeepSeek · Groq · Mistral · xAI · Perplexity

Features

  • Text generation with full conversation history support
  • Image generation (DALL-E 3, Imagen)
  • Text embeddings with batch support
  • Text-to-Speech and Speech-to-Text (Whisper)
  • Streaming via Server-Sent Events with typed chunks
  • Structured output — maps LLM responses directly to PHP DTOs
  • Tool calling with multi-step execution loops
  • Chat history — in-memory and file-based persistence
  • Middleware pipeline — Retry, Cache, Cost tracking, Rate limiting, Circuit breaker, Logging
  • Observability — EventBus with pluggable observers and metrics
  • FakeDriver for unit testing without API calls

Installation

composer require token27/nexus-ai

Requires a PSR-18 HTTP client:

composer require guzzlehttp/guzzle

Quick Start

use Token27\NexusAI\NexusAI;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\HttpFactory;

$factory = new HttpFactory();

NexusAI::setHttpClient(new Client());
NexusAI::setFactories($factory, $factory);
NexusAI::configure([
    'openai' => ['api_key' => $_ENV['OPENAI_API_KEY']],
]);

$response = NexusAI::using('openai', 'gpt-4o')
    ->withSystemPrompt('You are a helpful assistant.')
    ->withPrompt('What is PHP?')
    ->asText();

echo $response->text;

Documentation

Full documentation is available in the docs/ directory:

Requirements

  • PHP 8.2 or higher
  • A PSR-18 HTTP client
  • PSR-17 HTTP factories

Contributing

Please see docs/contributing.md for details.

License

MIT. Please see LICENSE for more information.