Costruisci un Chatbot di Intelligenza Artificiale in 5 Minuti con Hugging Face e Gradio

'Create an AI Chatbot in 5 Minutes with Hugging Face and Gradio'

Impara a creare un chatbot Gradio utilizzando tecniche di sviluppo rapido direttamente nel tuo browser con questo tutorial facile da seguire.

In questo breve tutorial creeremo un semplice chatbot utilizzando il modello Microsoft DialoGPT, Hugging Face Space e l’interferenza di Gradio. Sarai in grado di sviluppare e personalizzare la tua app in 5 minuti utilizzando una tecnica simile.

1. Crea un nuovo spazio

  1. Vai su hf.co e crea un account gratuito. Successivamente, fai clic sulla tua immagine del profilo in alto a destra e seleziona l’opzione “Nuovo spazio”.
  2. Compila il modulo con il nome dell’app, la licenza, l’hardware dello spazio e la visibilità.

  1. Premi “Crea spazio” per inizializzare l’applicazione.
  2. Puoi clonare il repository e caricare i file dal tuo sistema locale o creare e modificare file su Hugging Face utilizzando il browser.

2. Crea il file dell’app ChatBot

<p Faremo clic sulla scheda "File" > + Aggiungi file > Crea un nuovo file.

Crea un’interfaccia Gradio. Puoi copiare il mio codice.

Ho caricato il tokenizer e il modello “microsoft/DialoGPT-large” e ho creato una funzione `predict` per ottenere la risposta e creare la cronologia.

from transformers import AutoModelForCausalLM, AutoTokenizer
import gradio as gr
import torch


title = "🤖AI ChatBot"
description = "Un modello di generazione di risposte preaddestrato su larga scala (DialoGPT)"
examples = [["Come stai?"]]


tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-large")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-large")


def predict(input, history=[]):
    # tokenizza la nuova frase di input
    new_user_input_ids = tokenizer.encode(
        input + tokenizer.eos_token, return_tensors="pt"
    )

    # aggiungi i nuovi token di input dell'utente alla cronologia della chat
    bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)

    # genera una risposta
    history = model.generate(
        bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
    ).tolist()

    # converti i token in testo e poi dividi le risposte in righe
    response = tokenizer.decode(history[0]).split("<|endoftext|>")
    # print('decoded_response-->>'+str(response))
    response = [
        (response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)
    ]  # converti in tuple di lista
    # print('response-->>'+str(response))
    return response, history


gr.Interface(
    fn=predict,
    title=title,
    description=description,
    examples=examples,
    inputs=["text", "state"],
    outputs=["chatbot", "state"],
    theme="finlaymacklon/boxy_violet",
).launch()

Inoltre, ho fornito alla mia app un tema personalizzato: boxy_violet. Puoi sfogliare la Galleria dei Temi Gradio per selezionare il tema secondo i tuoi gusti.

3. Crea un file di requisiti

Ora dobbiamo creare un file `requirements.txt` e aggiungere i pacchetti Python necessari.

transformers
torch

Dopo questo, la tua app inizierà a costruirsi e in pochi minuti scaricherà il modello e caricherà l’inferenza del modello.

4. Demo di Gradio

La App Gradio sembra fantastica. Dobbiamo solo creare una funzione `predict` per ogni differente architettura del modello per ottenere risposte e mantenere lo storico.

Ora puoi chattare e interagire con un’app su kingabzpro/AI-ChatBot o incorporare la tua app sul tuo sito web utilizzando https://kingabzpro-ai-chatbot.hf.space.

Immagine da kingabzpro/AI-ChatBot

Sei ancora confuso? Cerca centinaia di app chatbot su Spaces per trovare ispirazione e capire l’inferenza del modello.

Ad esempio, se hai una modalità che è stato addestrato sul modello “LLaMA-7B”. Cerca il modello e scorri verso il basso per vedere varie implementazioni del modello.

Immagine da decapoda-research/llama-7b-hf

Conclusioni

In conclusione, questo blog fornisce un tutorial rapido e facile su come creare un chatbot AI utilizzando Hugging Face e Gradio in soli 5 minuti. Con istruzioni passo-passo e opzioni personalizzabili, chiunque può creare facilmente il proprio chatbot.

E’ stato divertente e spero che tu abbia imparato qualcosa. Condividi il tuo demo di Gradio nella sezione commenti. Se stai cercando una soluzione ancora più semplice, dai un’occhiata a OpenChat: la piattaforma gratuita e semplice per la creazione di chatbot personalizzati in pochi minuti. Abid Ali Awan ( @1abidaliawan ) è un professionista certificato nella scienza dei dati che ama creare modelli di apprendimento automatico. Attualmente si sta concentrando sulla creazione di contenuti e sulla scrittura di blog tecnici sulle tecnologie di apprendimento automatico e scienze dei dati. Abid ha una laurea magistrale in Gestione della Tecnologia e una laurea triennale in Ingegneria delle Telecomunicazioni. La sua visione è quella di creare un prodotto di intelligenza artificiale utilizzando una rete neurale grafica per gli studenti che lottano con malattie mentali.