- What Laravel versions does Vizra ADK support, and is it compatible with PHP 8.2+?
- Vizra ADK requires Laravel 11+ and PHP 8.2 or higher. The package is fully tested against these versions and leverages modern Laravel features like Eloquent, Livewire 4, and Artisan commands. If you're using an older Laravel version, you may need to upgrade or check for compatibility updates.
- How do I install Vizra ADK in my Laravel project?
- Installation is straightforward: run `composer require vizra/vizra-adk`, then execute `php artisan vizra:install` to publish the configuration and migration files. This sets up the core database tables for agents, tools, and memory. Follow the README for post-installation steps like configuring your AI provider via Prism.
- Can I use Vizra ADK with multiple AI providers like OpenAI, Anthropic, and Gemini?
- Yes, Vizra ADK integrates with Prism PHP, which abstracts LLM providers. You can configure multiple providers in the `config/vizra.php` file and switch between them dynamically. This makes it easy to test different models or handle rate limits by falling back to alternative providers.
- How do I create a custom tool for my agent, and can I version them?
- Tools are defined as Laravel service providers or classes registered in the `config/vizra.php` file. Each tool can include methods for execution, validation, and error handling. Versioning is handled manually—you can use Laravel’s package auto-loading or namespacing to manage updates without breaking existing agents. The package auto-discovers tools, so no manual registration is needed.
- What happens if an agent tool fails during execution? Are there retries or dead-letter queues?
- Vizra ADK supports retries for failed tool executions via Laravel’s queue system. You can configure retry logic in the tool’s definition or globally in the config. For persistent failures, you can implement a dead-letter queue by extending the `ToolFailed` event listener or using Laravel’s queue failure callbacks.
- Does Vizra ADK support testing agents, and how do I mock AI responses for local development?
- Yes, agents can be tested using Laravel’s testing tools like Pest or PHPUnit. Vizra ADK includes mocking support for AI providers via Prism, allowing you to simulate responses without hitting real APIs. You can also use the `vizra:test` Artisan command to run predefined evaluation scenarios against your agents.
- How does Vizra ADK handle persistent memory for agents, and can I optimize storage?
- Persistent memory is stored in Eloquent models, compatible with MySQL or PostgreSQL. You can optimize storage by implementing TTL (time-to-live) policies for conversations or using Laravel’s soft deletes. For large-scale memory needs, consider integrating with vector databases like Pinecone or Weaviate via custom tool implementations.
- Is the Livewire dashboard included in Vizra ADK production-ready, or is it for development only?
- The Livewire dashboard is production-ready and designed for monitoring agent performance, tracing executions, and evaluating results. It includes real-time updates and can be customized to fit your application’s branding. However, ensure your server meets Livewire’s requirements (e.g., WebSocket support) for optimal performance.
- Are there alternatives to Vizra ADK for Laravel AI agents, and what makes it unique?
- Alternatives include custom LLM wrappers or packages like Laravel Nova’s AI tools, but Vizra ADK stands out with its native Laravel integration (Eloquent, Livewire, queues) and built-in features like sub-agents, workflows, and evaluations. It’s ideal for developers who need a scalable, modular solution without reinventing the wheel for memory, tracing, or tool management.
- How do I scale agent workflows in production, and does Vizra ADK support horizontal scaling?
- Agent workflows can be scaled using Laravel queues (e.g., `vizra:execute` jobs) for async processing. For horizontal scaling, deploy multiple Laravel instances behind a load balancer and use a shared database or Redis for session/memory consistency. Vizra ADK’s event-driven architecture ensures agents remain stateless where possible, reducing lock contention.