luinuxscl/openrouter

Paquete para integrar el servicio de conexión con OpenRouter

dev-main 2025-04-19 19:29 UTC

This package is auto-updated.

Last update: 2025-06-19 19:55:35 UTC


README

Este paquete proporciona una integración sencilla con la API de OpenRouter para proyectos Laravel, permitiendo la conexión con múltiples modelos de IA a través de una interfaz unificada.

Instalación

1. Agregar el repositorio a composer.json

Si no lo has hecho aún, asegúrate de que tu composer.json tenga configurado el repositorio de paquetes locales:

"repositories": [
    {
        "type": "path",
        "url": "./packages/*"
    }
]

2. Instalar el paquete

composer require luinuxscl/openrouter

3. Publicar la configuración (opcional)

php artisan vendor:publish --tag=openrouter-config

Configuración

Agrega las siguientes variables a tu archivo .env:

OPENROUTER_API_KEY=tu-clave-api
OPENROUTER_API_ENDPOINT=https://openrouter.ai/api/v1/
OPENROUTER_API_TIMEOUT=120
OPENROUTER_DEFAULT_MODEL=anthropic/claude-3.7-sonnet

Uso básico

Usando la Facade

use Luinuxscl\OpenRouter\Facades\OpenRouter;

// Enviar un mensaje a OpenRouter
$messages = [
    ['role' => 'system', 'content' => 'Eres un asistente útil.'],
    ['role' => 'user', 'content' => '¿Cómo funciona la API de OpenRouter?']
];

$response = OpenRouter::chat($messages, 'anthropic/claude-3.7-sonnet');

// Obtener la lista de modelos disponibles
$models = OpenRouter::getModels();

Usando inyección de dependencias

use Luinuxscl\OpenRouter\Services\OpenRouterService;

class MiControlador
{
    protected $openRouter;
    
    public function __construct(OpenRouterService $openRouter)
    {
        $this->openRouter = $openRouter;
    }
    
    public function enviarMensaje(Request $request)
    {
        $response = $this->openRouter->chat(
            $request->input('messages'),
            $request->input('model', 'anthropic/claude-3.7-sonnet')
        );
        
        return response()->json($response);
    }
}

Personalización

Puedes personalizar los parámetros adicionales al enviar mensajes al chat:

$response = OpenRouter::chat(
    $messages,
    'anthropic/claude-3.7-sonnet',
    800, // max_tokens
    0.5, // temperature
    [
        'top_p' => 0.9,
        'stream' => false,
        // Otros parámetros...
    ]
);

Soporte y Contribución

Para más información o soporte, puedes visitar like.cl o contactar al autor a través de GitHub.

Licencia

Este paquete está licenciado bajo la Licencia MIT.