luinuxscl/laravel-prompts 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

luinuxscl/laravel-prompts

Composer 安装命令:

composer require luinuxscl/laravel-prompts

包简介

Package para almacenar y combinar prompts dinámicamente en Laravel.

README 文档

README

Este package permite almacenar y combinar prompts dinámicamente, integrándolos con LLMs (como Laravel OpenAI o OpenRouter). Además, protege los prompts que están siendo utilizados en otros de ser eliminados.

Instalación

  1. Instala el package vía Composer:

    composer require luinuxscl/laravel-prompts
    
  2. Publica las migraciones y configuración:

    php artisan vendor:publish --provider="Luinuxscl\LaravelPrompts\PromptsServiceProvider" --tag=migrations
    php artisan vendor:publish --provider="Luinuxscl\LaravelPrompts\PromptsServiceProvider" --tag=config
    
  3. Ejecuta las migraciones:

    php artisan migrate
    

Uso

Almacenamiento de Prompts

use Luinuxscl\LaravelPrompts\Models\Prompt;

// Crear un prompt simple
$prompt1 = Prompt::create([
    'title' => 'Saludo',
    'content' => 'Hola, mi nombre es {nombre}.'
]);

// Crear otro prompt que se usará como componente
$prompt2 = Prompt::create([
    'title' => 'Información adicional',
    'content' => 'Tengo {edad} años y vivo en {ciudad}.'
]);

Integración de Prompts

use Luinuxscl\LaravelPrompts\Models\Prompt;
use Luinuxscl\LaravelPrompts\Models\PromptReference;
use Luinuxscl\LaravelPrompts\Services\PromptIntegrationService;

// Crear un prompt principal que integra otros prompts
$promptPrincipal = Prompt::create([
    'title' => 'Presentación completa',
    'content' => '{saludo} Adicionalmente, {info_adicional}'
]);

// Registrar las relaciones entre prompts
PromptReference::create([
    'parent_prompt_id' => $promptPrincipal->id,
    'child_prompt_id' => $prompt1->id  // Prompt "Saludo"
]);

PromptReference::create([
    'parent_prompt_id' => $promptPrincipal->id,
    'child_prompt_id' => $prompt2->id  // Prompt "Información adicional"
]);

// Usar el servicio para integrar prompts
$promptService = app('prompt.integration');

$promptFinal = $promptService->integratePrompts(
    $promptPrincipal->content,
    [
        'saludo' => $prompt1->content,
        'info_adicional' => $prompt2->content
    ]
);

// Resultado: "Hola, mi nombre es {nombre}. Adicionalmente, Tengo {edad} años y vivo en {ciudad}."

// Integrar con datos reales
$promptConDatos = $promptService->integratePrompts(
    $promptFinal,
    [
        'nombre' => 'Luis',
        'edad' => '30',
        'ciudad' => 'Santiago'
    ]
);

// Resultado final: "Hola, mi nombre es Luis. Adicionalmente, Tengo 30 años y vivo en Santiago."

Características

  • Almacenamiento de prompts en base de datos
  • Combinación dinámica de prompts usando placeholders
  • Protección contra eliminación de prompts en uso
  • Configuración flexible a través de archivo de configuración

Contribuciones

Las contribuciones son bienvenidas. Por favor, revisa las issues en GitHub para ver cómo puedes ayudar.

Licencia

Este package está licenciado bajo MIT license.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-12