PHPackages                             muradbdinfo/laravelai - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. muradbdinfo/laravelai

Abandoned → [easybdit/laraveleasyai](/?search=easybdit%2Flaraveleasyai)Library[Utility &amp; Helpers](/categories/utility)

muradbdinfo/laravelai
=====================

Unified AI chat for Laravel — Ollama, OpenAI, Anthropic (Claude), DeepSeek. One interface, any AI.

v1.4.0(1mo ago)168↓100%MITPHPPHP ^8.0CI passing

Since May 1Pushed 1mo agoCompare

[ Source](https://github.com/muradbdinfo/laravelai)[ Packagist](https://packagist.org/packages/muradbdinfo/laravelai)[ Fund](https://easyit.com.bd/donate)[ GitHub Sponsors](https://github.com/sponsors/muradbdinfo)[ RSS](/packages/muradbdinfo-laravelai/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (4)Versions (15)Used By (0)

 [![LaravelAI Banner](https://raw.githubusercontent.com/muradbdinfo/laravelai/main/art/banner.svg)](https://raw.githubusercontent.com/muradbdinfo/laravelai/main/art/banner.svg)

LaravelAI
=========

[](#laravelai)

 **One interface, any AI.**
 Unified AI chat for Laravel — Ollama, OpenAI (ChatGPT), Anthropic (Claude), DeepSeek

 👨‍💻 Full Stack Laravel Vue Developer and DevOps Engineer

 [![Latest Version](https://camo.githubusercontent.com/f1dcdd541c4cd7c90fda9d120fc33924a0cd5222c416abde1617ffbdc2df22cd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d757261646264696e666f2f6c61726176656c61692e7376673f7374796c653d666c61742d737175617265266c6162656c3d76657273696f6e)](https://packagist.org/packages/muradbdinfo/laravelai) [![Total Downloads](https://camo.githubusercontent.com/b5d19000d31ca98f91e85d4aa341b52e97e8cff33e27a1dcabb07a8513e87806/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d757261646264696e666f2f6c61726176656c61692e7376673f7374796c653d666c61742d737175617265266c6162656c3d646f776e6c6f616473)](https://packagist.org/packages/muradbdinfo/laravelai) [![License](https://camo.githubusercontent.com/04548ce8e004117f0d678f04b3e778ef443e6b85554940089a4a519f52d354cf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d757261646264696e666f2f6c61726176656c61692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/muradbdinfo/laravelai) [![PHP Version](https://camo.githubusercontent.com/fcec747430fde1e4df3431b1f6aba71e0bcd8d531211f6f0f1f460bdc80f729e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d757261646264696e666f2f6c61726176656c61692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/muradbdinfo/laravelai) [![Tests](https://camo.githubusercontent.com/617ef104414356ef2eca77568b511b97a25d7b7f41a622553a77cf325f1e117b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d757261646264696e666f2f6c61726176656c61692f74657374732e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265266c6162656c3d7465737473)](https://github.com/muradbdinfo/laravelai/actions)

 [Quick Start](#-quick-start) • [Chat UI](#-built-in-chat-ui) • [Projects](#-projects--knowledge-bases) • [RAG](#-rag-built-in) • [Providers](#-providers) • [API Reference](#-api-reference) • [Configuration](#%EF%B8%8F-configuration)

 [📘 Facebook Page](https://www.facebook.com/easybdit) • [👥 Facebook Group](https://www.facebook.com/groups/eitbd) • [💬 WhatsApp Group](https://chat.whatsapp.com/E3VV0K6lkrqEgXdngrt2Rk)

---

📺 Video Tutorials
-----------------

[](#-video-tutorials)

   [ ![Self-Hosted AI Server](https://camo.githubusercontent.com/16bdaad3b30f5f30beadbc873d2a3db5c669ff07209d857095baee876dd5bf77/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f6d5f487954494252414f452f687164656661756c742e6a7067)
 **🖥️ Self-Hosted AI Server** ](https://youtu.be/m_HyTIBRAOE)
Set up your own local AI server with Ollama   [ ![Laravel AI Package](https://camo.githubusercontent.com/f0ac592586302721403ec36e36cd2c1451e6106c4b0e708b9fcb4343957baab7/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f70537765777458716750382f687164656661756c742e6a7067)
 **🚀 Laravel AI Package Setup** ](https://youtu.be/pSwewtXqgP8)
Install and use LaravelAI in your project   [ ![Built-in Chat UI](https://camo.githubusercontent.com/f0ac592586302721403ec36e36cd2c1451e6106c4b0e708b9fcb4343957baab7/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f70537765777458716750382f687164656661756c742e6a7067)
 **💬 Built-in Chat UI** ](https://youtu.be/pSwewtXqgP8)
Zero-setup ChatGPT-like app included  ---

Why LaravelAI?
--------------

[](#why-laravelai)

Building AI features in Laravel normally means separate SDKs, different formats, and custom error handling for every provider. **LaravelAI eliminates all of that.**

```
// Same code. Any provider. Just change the name.
$response = AI::provider('ollama')->chat($messages);    // Self-hosted, free
$response = AI::provider('openai')->chat($messages);    // ChatGPT
$response = AI::provider('anthropic')->chat($messages); // Claude
$response = AI::provider('deepseek')->chat($messages);  // DeepSeek
```

Built on **Laravel's driver pattern** — same architecture as Mail, Cache, and Queue.

---

📦 Installation
--------------

[](#-installation)

**Step 1:** Install via Composer

```
composer require muradbdinfo/laravelai
```

**Step 2:** Publish config and assets

```
php artisan vendor:publish --tag=ai-config
php artisan vendor:publish --tag=ai-chat-assets
```

**Step 3:** Run migrations

```
php artisan migrate
```

**Step 4:** Add to `.env`

```
AI_PROVIDER=ollama
AI_OLLAMA_URL=http://127.0.0.1:11434
AI_OLLAMA_MODEL=qwen2:1.5b
```

**Step 5:** Visit `/ai-chat` in your browser ✅

### Requirements

[](#requirements)

RequirementVersionPHP8.2+Laravel10, 11, 12, 13---

🚀 Quick Start
-------------

[](#-quick-start)

```
use EasyAI\LaravelAI\Facades\AI;

$response = AI::chat([['role' => 'user', 'content' => 'What is Laravel?']]);
echo $response->content;
```

### One-Liner Helper

[](#one-liner-helper)

```
$answer = ai('What is Laravel?');
```

### Test in Tinker

[](#test-in-tinker)

```
php artisan tinker
>>> AI::provider('ollama')->health()
=> true
>>> ai('Say hello in 3 words')
=> "Hello there, friend!"
```

---

💬 Built-in Chat UI
------------------

[](#-built-in-chat-ui)

> **New in v1.3.0** — A full ChatGPT-like chat app included. Zero setup required.

### What you get out of the box

[](#what-you-get-out-of-the-box)

FeatureDescription💬 Chat UIChatGPT-like sidebar with session history⚡ StreamingReal-time typing effect📝 MarkdownFull rendering with syntax-highlighted code📋 Copy buttonsPer message and per code block🔄 Provider switcherSwitch Ollama / OpenAI / Claude / DeepSeek live💾 DB persistenceHistory survives page refresh🏷️ Auto-titleFirst message becomes session title📁 ProjectsRAG-powered knowledge bases (v1.4.0)📦 Offline assetsNo CDN dependency### Customize the view

[](#customize-the-view)

```
php artisan vendor:publish --tag=ai-chat-views
# → resources/views/vendor/laravelai/chat.blade.php
```

### Routes registered automatically

[](#routes-registered-automatically)

MethodURLDescriptionGET`/ai-chat`Chat UIPOST`/ai-chat/api/sessions`Create sessionDELETE`/ai-chat/api/sessions/{id}`Delete sessionGET`/ai-chat/api/stream`SSE streamingPOST`/ai-chat/api/provider`Switch providerGET`/ai-chat/api/projects`List projectsPOST`/ai-chat/api/projects`Create projectDELETE`/ai-chat/api/projects/{id}`Delete projectPOST`/ai-chat/api/projects/{id}/files`Upload &amp; ingest fileDELETE`/ai-chat/api/projects/{id}/files/{fid}`Delete file---

🗂️ Projects &amp; Knowledge Bases
---------------------------------

[](#️-projects--knowledge-bases)

> **New in v1.4.0** — Self-hosted Claude-like Projects. Create knowledge bases, upload documents, and get RAG-powered answers scoped per project.

### How it works

[](#how-it-works)

```
Create Project → Upload Files → Chat Inside Project → RAG answers from your docs

```

1. Click **＋** next to **Projects** in the sidebar
2. Upload `.txt`, `.md`, or `.pdf` files — auto-ingested into RAG on upload
3. Click the project to start a new RAG-powered chat session
4. Every message retrieves relevant context from **that project's documents only**
5. Normal chats outside projects are completely unaffected

### What you see in the UI

[](#what-you-see-in-the-ui)

- 📁 **Projects section** in sidebar with file count badge
- 🧠 **RAG ON** badge in chat header when inside a project session
- 📎 **Manage Files** button — upload, view ingestion status, delete files
- 🟢 Status per file: `pending` → `ingested` → `failed`
- **Project context active** indicator in the input footer

### PDF support (optional)

[](#pdf-support-optional)

```
composer require smalot/pdfparser
```

### RAG Scoping API

[](#rag-scoping-api)

```
$results = AI::rag()->source('project_5')->search('your query');
$answer  = AI::rag()->source('project_5')->ask('your question');
AI::rag()->flush('project_5');
```

---

🧠 RAG (Built-in)
----------------

[](#-rag-built-in)

No external vector database required — uses your existing SQL database.

### Setup

[](#setup)

```
ollama pull nomic-embed-text
php artisan migrate
```

```
AI_RAG_PROVIDER=ollama
AI_RAG_EMBED_MODEL=nomic-embed-text
```

### Usage

[](#usage)

```
// Store
AI::rag()->ingest('Laravel is a PHP framework using MVC.', 'docs');

// Ask
$answer = AI::rag()->ask('What is Laravel?');

// Search
$results = AI::rag()->search('MVC pattern');
// [['content' => '...', 'source' => 'docs', 'score' => 0.91]]

// Scoped
$results = AI::rag()->source('project_5')->search('your query');

// Flush
AI::rag()->flush();
AI::rag()->flush('project_5');
```

### Artisan

[](#artisan)

```
php artisan ai:rag:ingest storage/docs/manual.txt --source=manual
php artisan ai:rag:ingest storage/docs/ --flush
```

### RAG Configuration

[](#rag-configuration)

`.env` KeyDefaultDescription`AI_RAG_PROVIDER``ollama`Embedding provider`AI_RAG_EMBED_MODEL``nomic-embed-text`Embedding model`AI_RAG_CHUNK_SIZE``2000`Max chars per chunk`AI_RAG_TOP_K``3`Chunks retrieved per query`AI_RAG_TABLE``ai_documents`Database table---

🤖 Providers
-----------

[](#-providers)

### Ollama — Self-Hosted &amp; Free

[](#ollama--self-hosted--free)

```
AI_PROVIDER=ollama
AI_OLLAMA_URL=http://127.0.0.1:11434
AI_OLLAMA_MODEL=qwen2:1.5b
AI_OLLAMA_TIMEOUT=120
```

> **Note for small models (qwen2, qwen2.5):** If you get 400 errors with RAG context, set `num_ctx` to match your model's context window:
>
> ```
> ollama show qwen2:1.5b --modelfile > /tmp/modelfile
> echo "PARAMETER num_ctx 2048" >> /tmp/modelfile
> ollama create qwen2-fixed -f /tmp/modelfile
> ```
>
>
>
> Then use `AI_OLLAMA_MODEL=qwen2-fixed` in `.env`.

### OpenAI (ChatGPT)

[](#openai-chatgpt)

```
AI_OPENAI_KEY=sk-your-api-key
AI_OPENAI_MODEL=gpt-4o-mini
```

### Anthropic (Claude)

[](#anthropic-claude)

```
AI_ANTHROPIC_KEY=sk-ant-your-api-key
AI_ANTHROPIC_MODEL=claude-sonnet-4-20250514
```

### DeepSeek

[](#deepseek)

```
AI_DEEPSEEK_KEY=sk-your-api-key
AI_DEEPSEEK_MODEL=deepseek-chat
```

---

✨ Features
----------

[](#-features)

### Fluent Builder API

[](#fluent-builder-api)

```
$response = AI::provider('ollama')
    ->model('qwen2:1.5b')
    ->temperature(0.9)
    ->maxTokens(500)
    ->systemPrompt('You are a helpful Laravel expert.')
    ->chat([['role' => 'user', 'content' => 'Explain middleware']]);
```

### Streaming

[](#streaming)

```
AI::provider('ollama')->stream(
    [['role' => 'user', 'content' => 'Write a poem']],
    function (string $chunk) { echo $chunk; }
);
```

### Health Check + Fallback

[](#health-check--fallback)

```
foreach (['ollama', 'deepseek', 'openai'] as $provider) {
    try {
        if (!AI::provider($provider)->health()) continue;
        return AI::provider($provider)->chat($messages)->content;
    } catch (\Throwable $e) {
        Log::warning("{$provider} failed: {$e->getMessage()}");
    }
}
```

### Token Estimation

[](#token-estimation)

```
$tokens = AI::estimateTokens('Hello world');
$tokens = AI::estimateTokens($messagesArray);
```

### Ollama Advanced Features

[](#ollama-advanced-features)

```
AI::provider('ollama')->format('json')->chat($messages);
AI::provider('ollama')->embed('Hello world');
AI::provider('ollama')->keepAlive('10m')->chat($messages);
AI::provider('ollama')->options(['num_ctx' => 2048])->chat($messages);
AI::provider('ollama')->pullModel('llama3.1:8b');
AI::provider('ollama')->runningModels();
AI::provider('ollama')->deleteModel('old-model');
```

### Error Handling

[](#error-handling)

```
use EasyAI\LaravelAI\Exceptions\ConnectionException;
use EasyAI\LaravelAI\Exceptions\ProviderException;

try {
    $response = AI::provider('openai')->chat($messages);
} catch (ConnectionException $e) {
    Log::error("Connection failed: " . $e->getMessage());
} catch (ProviderException $e) {
    Log::error("Provider [{$e->getProvider()}]: " . $e->getMessage());
}
```

---

📖 API Reference
---------------

[](#-api-reference)

### Facade Methods

[](#facade-methods)

MethodReturnsDescription`AI::chat(array $messages)``AIResponse`Chat with default provider`AI::provider(string $name)``AIProvider`Switch provider`AI::estimateTokens(string|array)``int`Estimate token count`AI::rag()``RAGManager`Access RAG system### Provider Methods (Chainable)

[](#provider-methods-chainable)

MethodDescription`->model($name)`Set the model`->temperature($float)`Creativity (0–2)`->maxTokens($int)`Max response tokens`->systemPrompt($text)`Set instructions`->timeout($seconds)`Request timeout`->chat(array $messages)`Send and get response`->stream(array $messages, callable)`Stream token by token`->health()`Check provider reachable`->models()`List available models### RAG Methods

[](#rag-methods)

MethodDescription`->ingest($text, $source)`Store as embeddings`->search($query)`Similarity search`->ask($question)`RAG-powered Q&amp;A`->source($name)`Scope to one source`->flush($source?)`Delete documents### Ollama-Only Methods

[](#ollama-only-methods)

MethodDescription`->format('json')`Force JSON output`->embed($text)`Generate embedding`->keepAlive($duration)`Keep in memory`->options($array)`Raw Ollama options (e.g. `num_ctx`)`->pullModel($name)`Download model`->showModel($name)`Model details`->deleteModel($name)`Remove model`->copyModel($src, $dst)`Copy model`->runningModels()`List loaded models### AIResponse Object

[](#airesponse-object)

PropertyTypeDescription`$response->content``string`AI reply text`$response->model``string`Model used`$response->promptTokens``int`Input tokens`$response->replyTokens``int`Output tokens`$response->totalTokens``int`Total tokens`$response->provider``string`Provider name`$response->getRaw()``array`Raw API response`(string) $response``string`Cast to string### Helper Function

[](#helper-function)

```
ai('Your question')
ai('Your question', 'openai')
ai('Your question', 'anthropic', 'claude-haiku-...')
```

---

⚙️ Configuration
----------------

[](#️-configuration)

```
// config/ai.php
return [
    'default' => env('AI_PROVIDER', 'ollama'),
    'providers' => [
        'ollama'    => ['driver' => 'ollama',    'url'     => env('AI_OLLAMA_URL'),    'model' => env('AI_OLLAMA_MODEL', 'qwen2:1.5b'),      'timeout' => env('AI_OLLAMA_TIMEOUT', 120)],
        'openai'    => ['driver' => 'openai',    'api_key' => env('AI_OPENAI_KEY'),    'model' => env('AI_OPENAI_MODEL', 'gpt-4o-mini'),      'timeout' => 60],
        'anthropic' => ['driver' => 'anthropic', 'api_key' => env('AI_ANTHROPIC_KEY'), 'model' => env('AI_ANTHROPIC_MODEL'),                  'timeout' => 60],
        'deepseek'  => ['driver' => 'deepseek',  'api_key' => env('AI_DEEPSEEK_KEY'),  'model' => env('AI_DEEPSEEK_MODEL', 'deepseek-chat'),  'timeout' => 60],
    ],
    'rag' => [
        'embed_provider' => env('AI_RAG_PROVIDER', 'ollama'),
        'embed_model'    => env('AI_RAG_EMBED_MODEL', 'nomic-embed-text'),
        'chat_provider'  => env('AI_RAG_CHAT_PROVIDER', null),
        'chunk_size'     => (int) env('AI_RAG_CHUNK_SIZE', 2000),
        'top_k'          => (int) env('AI_RAG_TOP_K', 3),
        'table'          => env('AI_RAG_TABLE', 'ai_documents'),
        'system_prompt'  => env('AI_RAG_SYSTEM_PROMPT', 'Answer using ONLY the context below. If unsure, say so.'),
    ],
];
```

### Complete `.env` Reference

[](#complete-env-reference)

```
# Provider
AI_PROVIDER=ollama

# Ollama (self-hosted, free)
AI_OLLAMA_URL=http://127.0.0.1:11434
AI_OLLAMA_MODEL=qwen2:1.5b
AI_OLLAMA_TIMEOUT=120

# OpenAI
AI_OPENAI_KEY=sk-proj-xxxx
AI_OPENAI_MODEL=gpt-4o-mini

# Anthropic (Claude)
AI_ANTHROPIC_KEY=sk-ant-xxxx
AI_ANTHROPIC_MODEL=claude-sonnet-4-20250514

# DeepSeek
AI_DEEPSEEK_KEY=sk-xxxx
AI_DEEPSEEK_MODEL=deepseek-chat

# RAG
AI_RAG_PROVIDER=ollama
AI_RAG_EMBED_MODEL=nomic-embed-text
AI_RAG_CHUNK_SIZE=500
AI_RAG_TOP_K=1
AI_RAG_TABLE=ai_documents

# RAG for small models — reduce chunk size and limit context
# AI_OLLAMA_NUM_CTX=2048
```

---

🧪 Testing
---------

[](#-testing)

```
vendor/bin/phpunit
vendor/bin/phpunit --filter=test_ollama_chat
```

Uses `Http::fake()` — no real API calls needed.

---

🗺️ Roadmap
----------

[](#️-roadmap)

VersionFeatureStatusv1.0Ollama, OpenAI, Anthropic, DeepSeek✅ Releasedv1.1Laravel 12 &amp; 13 support✅ Releasedv1.2Built-in RAG system + Ollama advanced✅ Releasedv1.3Built-in Chat UI✅ Releasedv1.4Projects + RAG scoping (self-hosted Claude Projects)✅ Releasedv2.0Function / Tool calling🔜 Plannedv2.0Vision / Image input🔜 Plannedv2.1Groq driver🔜 Plannedv2.1Google Gemini driver🔜 Plannedv2.2Response caching🔜 Plannedv3.0Image generation🔜 Planned---

❤️ Support
----------

[](#️-support)

 [ ![Donate](https://camo.githubusercontent.com/2042717c67c2cb6dbdeffb5eb6503390026ef58e5d05621149b76ad763617f85/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d537570706f72742532305468697325323050726f6a6563742d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d6865617274266c6f676f436f6c6f723d7768697465) ](https://easyit.com.bd/donate) [ ![GitHub Sponsors](https://camo.githubusercontent.com/c812092737cdefc4199ccb0f0e4f2584d0e08b8ca245de81d78f6fb1bad68dbb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47697448756225323053706f6e736f72732d4541344141413f7374796c653d666f722d7468652d6261646765266c6f676f3d6769746875622d73706f6e736f7273266c6f676f436f6c6f723d7768697465) ](https://github.com/sponsors/muradbdinfo)

- ⭐ **Star** this repo on GitHub
- 🐛 **Report bugs** via [Issues](https://github.com/muradbdinfo/laravelai/issues)
- 🔀 **Submit a PR** — contributions welcome
- 📢 **Share** with your developer friends

---

👤 Credits
---------

[](#-credits)

**Md Murad Hosen** — Full-Stack Laravel Vue Developer and DevOps Engineer from Chittagong, Bangladesh 🇧🇩

  🌐 Website[easyit.com.bd](https://www.easyit.com.bd) 📺 YouTube[EasyBD IT](https://youtube.com/@easybdit)   📘 Facebook[Murad Hosen](https://facebook.com/muradhosenofficial) 📱 WhatsApp[+8801827517700](https://wa.me/8801827517700)   💻 GitHub[muradbdinfo](https://github.com/muradbdinfo) 👥 FB Group[EITBD](https://www.facebook.com/groups/eitbd) ---

📄 License
---------

[](#-license)

MIT License — free to use in personal and commercial projects. See [LICENSE](LICENSE) for details.

 Made with ❤️ in Bangladesh 🇧🇩 · Built for the Laravel community worldwide

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance94

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

14

Last Release

31d ago

PHP version history (4 changes)v1.0.0PHP ^8.1

v1.1.2PHP ^8.2

v1.2.0PHP ^8.2 || ^8.3 || ^8.4 || ^8.5

v1.2.1PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/979ad1cf41950fa5f4b2929cc45919780f7c241cbf2061e70001b19a2d91fdd0?d=identicon)[muradbdinfo](/maintainers/muradbdinfo)

---

Top Contributors

[![muradbdinfo](https://avatars.githubusercontent.com/u/56858449?v=4)](https://github.com/muradbdinfo "muradbdinfo (38 commits)")

---

Tags

ai-chatanthropicartificial-intelligencechatgptclaude-aideepseekgpt-4laravellaravel-ailaravel-packagelarge-language-modelllmmachine-learningnatural-language-processingollamaopenaiphpphp-packageragstreaminglaravelaistreaminglaravel-packageopenaiprojectschatKnowledge Basemachine learningclaudellmanthropicgptartificial intelligenceChatGptdeepseekollamaphp airag

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/muradbdinfo-laravelai/health.svg)

```
[![Health](https://phpackages.com/badges/muradbdinfo-laravelai/health.svg)](https://phpackages.com/packages/muradbdinfo-laravelai)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

317117.1k1](/packages/cognesy-instructor-php)[sbsaga/toon

🧠 TOON for Laravel — a compact, human-readable, and token-efficient data format for AI prompts &amp; LLM contexts. Perfect for ChatGPT, Gemini, Claude, Mistral, and OpenAI integrations (JSON ⇄ TOON).

6342.4k](/packages/sbsaga-toon)[mohamed-ashraf-elsaed/claude-agent-sdk-laravel

Anthropic Claude Agent SDK for PHP &amp; Laravel — build AI agents with tool use, sandboxing, MCP servers, subagents, hooks, and structured output via the Claude Code CLI

151.1k](/packages/mohamed-ashraf-elsaed-claude-agent-sdk-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
