Hugging Face è una società con sede a New York specializzata nell’ambito del Natural Language Processing (NLP), ovvero nell’elaborazione del linguaggio naturale. Fondata nel 2016, Hugging Face si è guadagnata una reputazione di alto livello per la creazione della libreria open source Transformers, utilizzata in molte applicazioni di NLP.
La libreria Transformers di Hugging Face consente agli sviluppatori di utilizzare modelli di deep learning di ultima generazione per gestire attività di NLP come la comprensione del linguaggio naturale, la traduzione automatica, la sintesi vocale e molte altre applicazioni avanzate. La piattaforma online di apprendimento automatico Hugging Face Hub che consente agli sviluppatori di condividere e accedere a modelli di intelligenza artificiale preaddestrati e preconfigurati, semplificando il processo di sviluppo di applicazioni di NLP.
In queste ore sono stati presentati i nuovi Hugging Face Transformers Agent, modelli di intelligenza artificiale progettati per consentire alle aziende di creare e personalizzare i loro chatbot e assistenti virtuali con funzionalità avanzate di NLP.
Gli Hugging Face Transformers Agent possono essere addestrati su grandi quantità di dati per migliorare la loro precisione e la loro capacità di comprendere e rispondere alle richieste degli utenti. Sono inoltre utilizzabili in diversi contesti, come ad esempio il customer service, la gestione delle informazioni aziendali, la programmazione di app per assistenti virtuali e la realizzazione di chatbot. In generale, sono utili in tutte quelle situazioni in cui è necessaria un’interazione naturale con l’utente basata sul linguaggio naturale.
I Transformers Agent offrono, all’atto pratico, un’API in linguaggio naturale che può essere utilizzata per interagire ad alto livello con un ampio ventaglio di modelli messi a disposizione da Hugging Face. Come spiegato nella documentazione dei Transformers Agent, lo sviluppatore dapprima crea un’istanza di un agente che di fatto attiva la possibilità di interagire con un Large Language Model (LLM) quindi fa uso del metodo agent.run
: essa permette di richiedere a un agente di eseguire una determinata attività.
L’API run()
consente un’interazione singola con l’agente: il metodo consente di selezionare automaticamente lo strumento o gli strumenti necessari per l’attività in corso ed eseguirli di conseguenza. Ogni operazione run()
è indipendente, consentendo all’utente di eseguirla più volte con diverse attività consecutivamente.
Ad esempio le seguenti due istruzioni consentono di richiedere la generazione di una didascalia per un’immagine e di creare un flusso audio (text-to-speech) per trasformare del testo scritto in parlato:
C’è poi il metodo chat()
che risulta particolarmente utile quando è necessario mantenere lo stato tra diverse istruzioni successive. Il metodo può anche accettare argomenti, consentendo il passaggio di tipi non testuali o prompt specifici, a seconda delle esigenze. Un esempio potrebbe essere quello che segue:
Il codice viene quindi eseguito utilizzando un piccolo interprete Python insieme a una serie di input forniti. Nonostante le preoccupazioni legate alla potenziale esecuzione di codice arbitrario, va detto che le uniche funzioni che possono essere richiamate sono quelle fornite da Hugging Face: in questo modo si ha una significativa limitazione sul codice che può essere eseguito. Inoltre, le ricerche e le importazioni di attributi non sono consentite, riducendo ulteriormente i rischi intrinseci.