* OpenAI-compatible provider adapter * OpenAI support * LM Studio support * Ollama OpenAI-compatible support * Encrypted API-key storage * Default provider and model selection * Provider connection testing * Reusable prompt library * Prompt variables and templates * Prompt version field * AI execution history * Token-usage storage * Duration and failure tracking * Manual knowledge sources * Knowledge-source chunking * Knowledge indexing status * Authenticated AI REST endpoint * AI administration dashboard * AI permissions * Module registration and boot test
13 lines
536 B
PHP
13 lines
536 B
PHP
<?php
|
|
namespace Modules\AI\Models;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
final class AIPrompt extends Model
|
|
{
|
|
protected $fillable=['name','slug','purpose','system_prompt','user_template','variables','version','is_active','created_by'];
|
|
protected $casts=['variables'=>'array','is_active'=>'boolean'];
|
|
public function render(array $variables): string
|
|
{
|
|
return preg_replace_callback('/\{\{\s*([\w.]+)\s*\}\}/', fn($m)=>(string)data_get($variables,$m[1],''), $this->user_template) ?? $this->user_template;
|
|
}
|
|
}
|