Integrare l'IA in Laravel
La maggior parte dei tutorial sull'IA presuppone che tu utilizzi Python.
Dopo 12 anni passati a sviluppare applicazioni PHP, di recente ho aggiunto funzionalità di IA a una dashboard Laravel in produzione. L'ho utilizzata per trasformare dati grezzi in report leggibili dagli esseri umani.
La parte difficile non è stata il codice. La parte difficile è stata trovare contenuti PHP di qualità su questo argomento.
Ecco come costruire un'integrazione dell'IA pulita e pronta per la produzione in Laravel.
L'Architettura
Non disperdere le chiamate API all'interno dei controller. Usa invece un pattern driver. Questo ti permette di passare da Claude a OpenAI con una sola modifica nel file .env.
Definisci un contratto Crea un
AiClientInterface. Questo assicura che sia Claude che OpenAI seguano le stesse regole.Costruisci i tuoi driver Crea un
ClaudeCliente unOpenAiClient. Usa l'HTTP client di Laravel per gestire le richieste. Rende molto semplice la gestione di timeout e tentativi (retries).Usa il Service Container Lega la tua interfaccia a un client specifico nel tuo
AppServiceProvider. Usa un'istruzionematchper scegliere il provider in base alla tua configurazione.
Le Differenze
Devi conoscere questi cinque dettagli per evitare errori:
• Claude utilizza x-api-key nell'header. OpenAI utilizza Authorization: Bearer.
• Claude richiede un header anthropic-version.
• Claude richiede max_tokens. OpenAI lo rende opzionale.
• Claude utilizza un campo system di primo livello. OpenAI utilizza un messaggio con role: system.
• I percorsi della risposta JSON differiscono. Claude utilizza content[0].text. OpenAI utilizza choices[0].message.content.
Consigli per la Produzione
• Usa la Cache: le chiamate IA sono lente e costose. Se i dati sono gli stessi, servi il risultato dalla tua cache. Questo può ridurre i costi del 70%.
• Usa le Code (Queues): non far mai aspettare un utente 10 secondi per una risposta API. Avvia un job in background e avvisalo quando è pronto.
• Gestisci i Fallimenti: le API possono fallire. Avvolgi le tue chiamate in blocchi try-catch. Se l'IA fallisce, mostra i dati grezzi invece di una pagina di errore.
• Imposta dei Limiti: imposta sempre max_tokens per controllare la spesa. Usa modelli più piccoli ed economici per compiti semplici come i riassunti.
Non hai bisogno di imparare Python per costruire funzionalità di IA. Le tue competenze PHP funzionano perfettamente anche qui.
