Come integrare Cheshire Cat in un ecommerce

Introduzione
Già da diversi mesi avevamo notato la potenzialità di Cheshire Cat ma ci siamo presi del tempo per studiare approfonditamente una tecnologia che ci gira nascosta dentro: LangChain. Con questo articolo arriveremo a capire con voi come integrare Cheshire Cat in un ecommerce.
Vogliamo dare risalto a questa tecnologia per la maggior parte costituita da una community italiana che ha davvero pochi eguali nel territorio nazionale ma anche internazionale.
Per coloro che si stanno avvicinando solo ora a Cheshire Cat, abbiamo già pubblicato un articolo introduttivo e una guida all’installazione, che potete trovare al seguente link:
Oggi, però, vogliamo focalizzandoci sui Plug-In che possono essere implementati in questo framework. Cheshire Cat si distingue per la sua capacità di essere personalizzato attraverso questi plugin, e ci concentreremo in particolare su due dei tre tipi disponibili: Hook e Tool. Il terzo tipo, i Form, pur essendo altrettanto affascinanti, rimarrà un argomento per futuri approfondimenti.
Quindi come integrare Cheshire Cat in un ecommerce?
Vediamo in ordine quali strumenti ci servono:
Installare un Plugin
Per iniziare con la creazione di un plugin, crea una nuova cartella all’interno di core/cat/plugins/
. Per il nostro esempio, la chiameremo ecommerce
. All’interno della cartella del tuo plugin, dovrai includere due file essenziali:
core
└── cat
└── plugins
└── ecommerce
├── ecommerce.py
└── plugin.json
Il file plugin.json
è fondamentale poiché contiene il titolo e la descrizione del plugin, elementi che saranno utilizzati nell’area amministrativa per riconoscere, attivare o disattivare il plugin. Anche se l’assenza di plugin.json
non impedisce il funzionamento del plugin, è consigliato includerlo per una migliore gestione.
Ecco un esempio di come potrebbe apparire il tuo plugin.json
:
{
"name": "E-commerce",
"description": "Netai E-commerce: the shop you've always dreamed of."
}
Successivamente, apri il file ecommerce.py
e inizia con un semplice import:
from cat.mad_hatter.decorators import tool, hook
Da questo momento, sei pronto/a per modificare il comportamento della Cat utilizzando Tools e Hooks. Seguendo questi passaggi, avrai installato con successo il tuo plugin e potrai iniziare a sperimentare con le sue funzionalità all’interno del tuo sistema di Intelligenza Artificiale.
Come Funzionano gli Hook
Nel cuore pulsante del framework Cheshire si celano gli Hooks, funzioni Python che agiscono come veri e propri artefici del runtime di Cat. Queste funzionalità avanzate vanno oltre i limiti dei LLM, offrendo la possibilità unica di modellare il comportamento interno del Cat.
Attraverso gli Hooks, è possibile intercettare eventi, manipolare il flusso di esecuzione e influenzare direttamente le dinamiche operative di Cat, rendendoli strumenti indispensabili per chi cerca di ottimizzare e personalizzare l’esperienza all’interno di questo framework rivoluzionario.
Ciascun hook si materializza attraverso una funzione Python decorata con @hook.
Un Esempio Pratico di Hook
Immagina di poter influenzare il prompt di sistema, modificandone la premessa iniziale destinata all’LLM di OpenAI che andrà poi a restituire la risposta desiderata. Modificando l’hook agent_prompt_prefix, questo diviene non solo possibile, ma sorprendentemente semplice.

Attraverso questo hook, è possibile intervenire su due elementi:
- Prefix: solitamente è la variabile che si desidera esaminare o modificare (in questo caso, la parte iniziale del prompt di sistema).
- Cat: la sessione attiva, che ti concede accesso a un universo di risorse: dalla macchina a stati, custode delle informazioni simboliche, all’LLM, all’embedder e oltre.
Per esempio, Cheshire da la possibilità di memorizzare all’interno della sessione dettagli specifici dell’utente in conversazione (come nazionalità ed età), grazie ai quali si può adattare la conversazione in modo più accurato e personale.
Gli hook, pertanto, costituiscono un meccanismo di eventi progettato per modificare il prompt di sistema, adattare le query e implementare funzionalità avanzate come RAG.
Nell’esperienza Cheshire, troverai un hook dedicato all’avvio del Gatto, uno per la gestione delle risposte dell’utente e un ulteriore hook predisposto a modellare la risposta del Gatto, assicurando una flessibilità e una personalizzazione senza eguali.
Di seguito li riportiamo tutti:

Come funzionano i Tool
Nel vasto universo di Cheshire, i Tools emergono come funzioni Python di eccezionale potere, progettate per essere invocate direttamente dal LLM.
Quando parliamo di “invocazione”, intendiamo che LLM (come GPT-3.5) possiede una conoscenza predefinita degli strumenti disponibili attraverso il prompt e, analizzando il contesto della conversazione, è in grado di generare output che attivano specifiche azioni.
Immaginate di trovarvi di fronte a una scelta strategica:
Thought: Devo utilizzare uno Strumento? Sì
Action: info_generali
Action Input: 'Che tipo di prodotti vendi?'
In questo scenario, il nostro strumento info_generali viene attivato con l’input ‘Che tipo di prodotti vendi’, e l’output generato può essere indirizzato sia al LLM che direttamente all’utente.
Observation:
Ecco alcuni dei nostri prodotti disponibili in negozio:
- Maglione in Lana
Prezzo: €49.99
Descrizione: Maglione caldo e confortevole in lana, disponibile in diversi colori e taglie. - Camicia Formale Uomo
Prezzo: €29.99
Descrizione: Camicia formale per uomo, adatta per occasioni speciali o per l’ufficio. - Gonna a Ruota
Prezzo: €39.99
Descrizione: Gonna elegante a ruota, perfetta per look da giorno o da sera. - Scarpe da Ginnastica
Prezzo: €59.99
Descrizione: Scarpe da ginnastica leggere e traspiranti, ideali per l’allenamento in palestra o per l’uso quotidiano.
I Tools si rivelano alleati preziosi per:
- Comunicare con servizi web
- Cercare informazioni in database esterni
- Eseguire calcoli matematici
- Operare comandi nel terminale (zona rischio)
- Monitorare informazioni specifiche e manipolarle creativamente
Come integrare Cheshire Cat in un ecommerce: un assistente virtuale per il costumer service del nostro negozio di abbigliamento!
Nel seguente paragrafo vi mostriamo solamente il video illustrativo del nostro semplice bot per il nostro ecommerce.
Poichè alla fine, LLM serve a capire quale dei tuoi tool utilizzare ma poi siamo proprio noi a implementare i Tool facendo compiere al nostro Cheshire Cat qualsiasi cosa vogliamo!
Esploreremo il codice di questo semplice bot in un articolo dedicato prossimamente. Sarà perfetto per chi è desideroso di immergersi nella pratica proprio come noi! Se siete interessati ad approfondire anche nella vostra azienda potente contattarci al seguente modulo: https://netai.it/#contatti
Cheshire Cat Cheshire Cat Ai ecommerce hook langchain LLM plugin RAG tool