mappweb/laravel-neuron-ai

Laravel wrapper for neuron-ai - AI Agent framework integration for Laravel applications

0.1.2 2025-06-27 02:49 UTC

This package is auto-updated.

Last update: 2025-06-27 03:11:01 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Un wrapper de Laravel para neuron-ai que facilita la integración del framework de agentes AI en aplicaciones Laravel.

Documentación oficial

Ir a la documentación oficial

Guías y tutoriales

CConsulte el archivo de guías técnicas y tutoriales para aprender a crear sus agentes de inteligencia artificial con Neuron. https://docs.neuron-ai.dev/resources/guides-and-tutorials.

Características

  • 🚀 Fácil instalación - Configuración automática con auto-discovery
  • 🎨 Comando Artisan - Genera clases de agentes AI con make:agent
  • ⚙️ Configuración flexible - Soporte para múltiples proveedores AI
  • 🔧 Facade incluida - Acceso simple a través de NeuronAI::
  • 🧪 Tests incluidos - Suite completa de pruebas
  • 📚 Documentación completa - Ejemplos y guías detalladas

Proveedores AI Soportados

  • OpenAI (GPT-4, GPT-3.5-turbo)
  • Anthropic (Claude 3)
  • Google Gemini
  • Ollama (Modelos locales)

Instalación

Vía Composer

composer require mappweb/laravel-neuron-ai

Publicar Configuración

# Publicar archivo de configuración
php artisan vendor:publish --provider="Mappweb\LaravelNeuronAi\NeuronServiceProvider" --tag="neuron-ai-config"

# Publicar stubs para personalización
php artisan vendor:publish --provider="Mappweb\LaravelNeuronAi\NeuronServiceProvider" --tag="neuron-ai-stubs"

# Publicar todos los archivos
php artisan vendor:publish --provider="Mappweb\LaravelNeuronAi\NeuronServiceProvider" --tag="neuron-ai"

Configuración

Agrega las siguientes variables a tu archivo .env:

# Configuración general
NEURON_AI_DEFAULT_PROVIDER=openai

# OpenAI
OPENAI_API_KEY=your-openai-api-key
OPENAI_MODEL=gpt-4

# Anthropic
ANTHROPIC_API_KEY=your-anthropic-api-key
ANTHROPIC_MODEL=claude-3-sonnet-20240229

# Gemini
GEMINI_API_KEY=your-gemini-api-key

# Ollama (para modelos locales)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama2

Uso

Generar Agentes con Artisan

# Agente básico
php artisan make:agent ChatAgent

# Agente con proveedor específico
php artisan make:agent ChatAgent --provider=openai

# Agente con instrucciones personalizadas
php artisan make:agent ChatAgent --instructions="You are a helpful customer support agent"

# Agente con herramientas
php artisan make:agent ChatAgent --tools="WebSearch,EmailSender"

# Agente completo
php artisan make:agent CustomerSupportAgent \
    --provider=anthropic \
    --instructions="You are a customer support agent" \
    --tools="WebSearch,DatabaseQuery"

Ejemplo de Agente Generado

<?php

declare(strict_types=1);

namespace App\Agents;

use NeuronAI\Agent;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\OpenAIProvider;

class ChatAgent extends Agent
{
    public function provider(): AIProviderInterface
    {
        return OpenAIProvider::make();
    }

    public function instructions(): string
    {
        return 'You are a helpful AI assistant.';
    }
}

Uso en Controladores

<?php

namespace App\Http\Controllers;

use App\Agents\ChatAgent;
use Illuminate\Http\Request;

class ChatController extends Controller
{
    public function chat(Request $request)
    {
        $agent = new ChatAgent();
        
        $response = $agent->chat($request->input('message'));
        
        return response()->json([
            'response' => $response
        ]);
    }
}

Uso con Facade

use Mappweb\LaravelNeuronAi\Facades\NeuronAI;

// Uso básico
$agent = NeuronAI::make()
    ->provider(OpenAIProvider::make())
    ->instructions('You are a helpful assistant');

$response = $agent->chat('Hello!');

// Con configuración desde config
$agent = NeuronAI::make()
    ->provider(config('neuron-ai.default_provider'))
    ->instructions(config('neuron-ai.agents.default_instructions'));

Configuración Avanzada

El archivo config/neuron-ai.php permite configurar:

return [
    // Proveedor por defecto
    'default_provider' => env('NEURON_AI_DEFAULT_PROVIDER', 'openai'),
    
    // Configuración de proveedores
    'providers' => [
        'openai' => [
            'api_key' => env('OPENAI_API_KEY'),
            'model' => env('OPENAI_MODEL', 'gpt-4'),
            'max_tokens' => env('OPENAI_MAX_TOKENS', 2048),
            'temperature' => env('OPENAI_TEMPERATURE', 0.7),
        ],
        // ... otros proveedores
    ],
    
    // Configuración de agentes
    'agents' => [
        'default_instructions' => env('NEURON_AI_DEFAULT_INSTRUCTIONS', 'You are a helpful AI assistant.'),
        'default_namespace' => 'App\\Agents',
        'timeout' => env('NEURON_AI_TIMEOUT', 30),
    ],
    
    // Logging y cache
    'logging' => [
        'enabled' => env('NEURON_AI_LOGGING_ENABLED', true),
        'channel' => env('NEURON_AI_LOG_CHANNEL', 'default'),
    ],
    
    'cache' => [
        'enabled' => env('NEURON_AI_CACHE_ENABLED', false),
        'ttl' => env('NEURON_AI_CACHE_TTL', 3600),
    ],
];

Opciones del Comando make:agent

Opción Descripción Ejemplo
--provider Proveedor AI a usar --provider=openai
--instructions Instrucciones personalizadas --instructions="You are helpful"
--tools Herramientas (separadas por comas) --tools="WebSearch,Email"
--path Directorio personalizado --path="CustomAgents"
--force Sobrescribir archivos existentes --force

Proveedores Disponibles

  • openai → OpenAIProvider
  • anthropic → AnthropicProvider
  • gemini → GeminiProvider
  • ollama → OllamaProvider

Testing

composer test

Changelog

Consulta CHANGELOG para ver los cambios recientes.

Contribuciones

Las contribuciones son bienvenidas. Por favor revisa CONTRIBUTING para más detalles.

Seguridad

Si descubres vulnerabilidades de seguridad, envía un email a diego.toscanof@gmail.com.

Créditos

Licencia

La licencia MIT (MIT). Consulta License File para más información.