Download the PHP package mojahed/aiapi without Composer
On this page you can find all versions of the php package mojahed/aiapi. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mojahed/aiapi
More information about mojahed/aiapi
Files in mojahed/aiapi
Package aiapi
Short Description A Laravel AI API package — connect to any LLM provider with a clean, unified interface. Supports OpenAI, Claude, Gemini, Ollama, OpenRouter, Groq, DeepSeek, Mistral and more.
License MIT
Informations about the package aiapi
mojahed/aiapi
A Laravel AI API package — connect to any LLM provider with a clean, unified interface.
Supports OpenAI, Claude, Gemini, Ollama, OpenRouter, Groq, DeepSeek, Mistral, Together AI, Fireworks, xAI, Cohere, Z.AI, and custom providers.
Requirements
- PHP >= 8.1
- Laravel >= 9.x
Installation
Publish config:
Configuration
Add to your .env:
Basic Usage
Fluent Chaining
Knowledge Injection
Pass a file path, raw string, or array of both:
Summary Memory (Cost-Efficient)
Each response returns a compact summary. Pass it back on the next question:
This gives the AI conversation memory at minimal token cost — no full history needed.
Switch Provider Per Instance
Custom Provider
Implement ProviderInterface with 4 methods:
Register in AppServiceProvider::boot():
Use it:
Test Connection
Supported Providers
| Key | Provider | Format |
|---|---|---|
openrouter |
OpenRouter | OpenAI compatible |
openai |
OpenAI | OpenAI |
claude |
Anthropic Claude | Anthropic |
gemini |
Google Gemini | |
ollama |
Ollama (local) | Ollama |
groq |
Groq | OpenAI compatible |
deepseek |
DeepSeek | OpenAI compatible |
mistral |
Mistral AI | OpenAI compatible |
together |
Together AI | OpenAI compatible |
fireworks |
Fireworks AI | OpenAI compatible |
xai |
xAI (Grok) | OpenAI compatible |
cohere |
Cohere | Cohere |
zai |
Z.AI | OpenAI compatible |
custom |
Your own | Implement interface |
Default Config (config/aiapi.php)
Example: Full Chat Application
A complete, copy-paste-ready chat app lives in example/:
example/migrations/—chats+chat_messagestablesexample/Models/—Chat&ChatMessageEloquent modelsexample/Http/Controllers/ChatController.php— chat with history + summary memoryexample/routes/chat.php— API routes
The optimization
Full message history is stored in the database (for the UI), but only the rolling summary is sent to the LLM on each turn. Token cost stays roughly flat per message instead of growing with the conversation length.
Setup
- Copy the files from
example/into the matching app folders. - Run
php artisan migrate. - Register the routes from
example/routes/chat.phpinsideroutes/api.php. - Wrap the
ask()call in atry/catch(seeChatController::ask) to show users a friendly error on rate limits / outages.
License
MIT