Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ai Laravel Package

laravel/ai

Laravel AI SDK for a unified, Laravel-friendly API across providers like OpenAI, Anthropic, and Gemini. Build agents with tools and structured output, generate images, synthesize/transcribe audio, create embeddings, and more—all through one consistent interface.

View on GitHub
Deep Wiki
Context7

The Laravel AI SDK provides a unified, expressive API for interacting with AI providers such as OpenAI, Anthropic, Gemini, and more.

Frequently asked questions about Ai
How do I integrate Laravel AI with OpenAI for a chatbot without vendor lock-in?
Use the `OpenAI` facade to interact with OpenAI’s API, but configure the SDK to support failover providers (e.g., Anthropic or Gemini) via the `failover` list in your `.env`. This ensures seamless switching if OpenAI’s API is unavailable or throttled. The SDK’s unified interface handles provider-specific quirks, so you only need to update the provider name in your config.
Can I use Laravel AI for image generation (e.g., DALL·E) in a production Laravel app?
Yes, the SDK supports image generation via `Image::generate()` with providers like OpenAI or Stable Diffusion. For production, queue the generation task using Laravel’s queues to avoid timeouts, and store results in a filesystem or database. Monitor token usage costs, as image generation can be expensive—consider caching responses for frequently requested images.
What Laravel versions are officially supported by the AI SDK?
The Laravel AI SDK is officially supported on Laravel 10 and 11. While it may work on older versions (e.g., 9.x), compatibility isn’t guaranteed, and you may encounter issues with dependency conflicts or missing features like Laravel’s new service container improvements. Always check the [release notes](https://github.com/laravel/ai/releases) for version-specific details.
How do I store and retrieve conversation history for AI agents in a database?
Use the `Conversation` model provided by the SDK to store interactions. By default, it uses Eloquent, so you can customize the table name and fields in your migration. For GDPR compliance, add soft deletes and encryption for sensitive data. Retrieve conversations via `Conversation::find($id)` or query them like any Eloquent model, but ensure your database is optimized for text-heavy data.
Is there a way to test AI agent responses locally without hitting API rate limits?
Yes, use the SDK’s `MockGateway` to simulate AI responses during testing. Configure it in your `config/ai.php` under the `mock` provider section, and define static responses or random variations. This avoids hitting real API limits and speeds up unit/feature tests. For integration tests, consider using a lightweight provider like Hugging Face’s inference API for realistic but low-cost responses.
How do I handle API key rotation for multiple AI providers securely?
Store API keys in Laravel’s `.env` file under `AI_PROVIDERS_*_KEY`. For rotation, use Laravel Forge, Vault, or environment variable managers like Laravel Envoy. Implement a custom `Provider` class to dynamically fetch keys from a secure source (e.g., AWS Secrets Manager) if needed. The SDK doesn’t enforce rotation, so build a cron job or Laravel task scheduler to refresh keys periodically.
Can I use Laravel AI with serverless deployments (e.g., AWS Lambda, Vercel)?
Yes, but with caveats. Serverless environments require queue workers (e.g., Laravel Horizon or a serverless queue worker like SQS) for async tasks like embeddings or agent processing. Avoid streaming responses in serverless unless your provider supports it, as cold starts can disrupt real-time interactions. For embeddings, precompute and cache results to minimize runtime costs.
What’s the best way to monitor token usage and costs across multiple AI providers?
The SDK doesn’t include built-in cost tracking, but you can log token usage per request using middleware or a custom `Tool` class. For OpenAI, use the `usage` property in responses; for others, implement provider-specific logic. Integrate with a monitoring tool like Datadog or Prometheus to alert on spikes. Consider using cost-optimized models (e.g., `gemini-3.5-flash`) and set budget limits via Laravel’s `RateLimiter`.
How do I create an AI agent with tools (e.g., database queries, external APIs) in Laravel AI?
Define tools as closures or classes in your agent’s `tools` array, specifying their `name`, `description`, and `parameters`. For database queries, use Laravel’s query builder inside the tool closure. The SDK handles tool invocation and structured output parsing automatically. Test tools locally with the `MockGateway` before deploying, as tool failures can break agent workflows.
Are there alternatives to Laravel AI for multi-provider AI integration in Laravel?
Yes, alternatives include direct provider SDKs (e.g., OpenAI’s PHP SDK) or third-party packages like `php-ai/php-ai` or `nlpcloud/nlpcloud`. However, these lack Laravel’s native integration (e.g., queues, caching) and unified interface. Laravel AI stands out for its deep Laravel synergy, agentic workflows, and failover support. If you need more flexibility, consider wrapping a lightweight SDK like `guzzlehttp/guzzle` with a custom Laravel service provider.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codraw/framework-extra-bundle
codraw/messenger
codraw/security
codraw/mailer
codraw/contracts
codraw/profiling
codraw/dependency-injection
codraw/tester
codraw/core
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony