403Webshell
Server IP : 80.211.21.168  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux alex-webdesign.it 3.10.0-1160.119.1.el7.tuxcare.els22.x86_64 #1 SMP Mon Aug 18 06:07:12 UTC 2025 x86_64
User : admin_japan ( 10003)
PHP Version : 8.2.32
Disable Function : opcache_get_status
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/vhosts/cerchijapan.it/app.valutatoreauto.it/config/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/vhosts/cerchijapan.it/app.valutatoreauto.it/config/voicebot.php
<?php

use App\Enums\CustomerAction\Action;
use App\Enums\Voicebot\Intent;

return [

    'slots' => [

        'date' => [
            'type' => ['string','null'],
            'description' => 'Data in formato YYYY-MM-DD',
            'label' => "Data dell'appuntamento o della richiesta",
        ],
        'time' => [
            'type' => ['string','null'],
            'description' => 'Orario in formato HH:MM',
            'label' => "Data dell'appuntamento o della richiesta",
        ],
        'brand' => [
            'type' => ['string','null'],
            'description' => "Marchio dell'auto",
            'label' => "Marchio auto",
        ],
        'model' => [
            'type' => ['string','null'],
            'description' => "Modello dell'auto",
            'label' => "Modello auto",
        ],
        'year' => [
            'type' => ['integer','null'],
            'description' => 'Anno',
            'label' => "Anno",
        ],
        'mileage' => [
            'type' => ['string','null'],
            'description' => 'Km percorsi',
            'label' => "Km dell'auto",
        ],
        'phone' => [
            'type' => ['string','null'],
            'description' => 'Numero di telefono',
            'label' => "Numero di telefono",
        ],
    ],

    'tasks' => [
        Intent::APPOINTMENT_BOOKING->value => [
            'required_slots' => ['date', 'time'],
            'confirmation' => true,
            'action' => Action::APPOINTMENT_BOOKING,
        ],
        Intent::TRADE_IN_REQUEST->value => [
            'required_slots' => ['brand', 'model', 'year', 'mileage', 'phone'],
            'confirmation' => true,
            'action' => Action::TRADE_IN,
        ],
        Intent::CALLBACK_REQUEST->value => [
            'required_slots' => ['phone', 'time', 'date'],
            'confirmation' => false,
            'action' => Action::CALLBACK_REQUEST,
        ],
    ],

    'fill_data' => [
        'instructions' => "
            Sei un assistente vocale di una concessionaria auto.
    
            Il backend ha già identificato l'intent della richiesta del cliente.
            Il tuo compito è:
            
            1. Analizzare il messaggio del cliente
            2. Compilare eventuali slot mancanti se il cliente li ha indicati
            3. Generare una risposta breve e naturale per il cliente
            
            Regole importanti:
            
            - Non inventare mai dati
            - Compila solo gli slot che sono chiaramente presenti nel messaggio
            - Se uno slot non è presente, restituisci null
            - Non modificare slot già valorizzati
            - Se mancano ancora slot necessari, chiedi la prossima informazione mancante
            - La risposta deve essere breve (1 o 2 frasi massimo)
            - Usa sempre il Lei
            - Non usare emoji
            - Non scrivere testo fuori dal JSON
            
            Riceverai:
            
            INTENT  
            L'intent identificato dal sistema
            
            SLOTS (opzionale)
            Gli slot richiesti per questo intent.  
            Gli slot mancanti hanno valore null.
            
            CONTEXT (opzionale)  
            Informazioni utili sulla conversazione.
            
            USER_MESSAGE  
            Messaggio del cliente.
            
            USER_PHONE_NUMBER
            Numero di telefono del cliente (per compilare lo slot nel caso risponda 'su questo numero').
            
            STATE
            lo stato attuale del task. Se lo stato è confirming, chiedi conferma dell'operazione usando gli slot forniti.
            
            Riceverai anche una sezione opzionale chiamata KNOWLEDGE.
            
            Queste informazioni provengono dal concessionario e rappresentano
            le informazioni ufficiali da usare per rispondere al cliente.
            
            Usa queste informazioni quando generi la risposta.
            
            Il tuo compito è:
            
            - aggiornare gli slot se il cliente ha fornito informazioni
            - generare la risposta da dire al cliente
            
            Le date devono sempre essere restituite nel formato YYYY-MM-DD.
            Gli orari devono essere nel formato HH:MM (24h).
            
            Esempi:
            - \"domani\" → usa la data relativa rispetto a TODAY
            - \"alle tre\" → 15:00
            - \"alle tre e mezza\" → 15:30
            - \"verso le tre\" → 15:00
            - \"pomeriggio\" → chiedi l'orario preciso ",

        'response_format' => [
            'type' => 'json_schema',
            'json_schema' => [
                'name' => 'voicebot_response',
                'schema' => [
                    'type' => 'object',
                    'properties' => [
                        'slots' => [
                            'type' => 'object',
                            'properties' => [],
                            'description' => 'Slot aggiornati con valori trovati nel messaggio',
                            'additionalProperties' => false
                        ],
                        'valid' => [
                            'type' => 'boolean',
                            'description' => 'Indica se gli slot sono validi rispetto alle regole'
                        ],
                        'response' => [
                            'type' => 'string',
                            'description' => 'Messaggio breve da dire al cliente'
                        ]
                    ],
                    'required' => [
                        'slots',
                        'response',
                        'valid',
                    ],
                    'additionalProperties' => false
                ]
            ]
        ]
    ]
];


Youez - 2016 - github.com/yon3zu
LinuXploit