token27 / nexus-ai
Framework-agnostic AI communication engine with middleware pipeline architecture
v1.0.0
2026-05-14 23:54 UTC
Requires
- php: ^8.3
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^2.0
- psr/log: ^3.0
- psr/simple-cache: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- guzzlehttp/guzzle: ^7.0
- nyholm/psr7: ^1.8
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-05-14 23:56:48 UTC
README
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:
- Installation & Setup
- Configuration
- Text Generation
- Image Generation
- Embeddings
- Audio — TTS & STT
- Structured Output
- Streaming
- Tool Calling
- Chat History
- Middleware Pipeline
- Observability
- Testing
- Troubleshooting
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.