introduzione

Intraprendi un emozionante viaggio nel mondo di senza sforzo apprendimento automatico con “Query2Model”! Questo blog innovativo introduce un'interfaccia intuitiva in cui le attività complesse vengono semplificate in query in linguaggio semplice. Esplora la fusione tra l'elaborazione del linguaggio naturale e i modelli avanzati di intelligenza artificiale, trasformando attività complesse in conversazioni semplici. Unisciti a noi mentre approfondiamo AbbracciareChat chatbot, sviluppare pipeline di formazione di modelli end-to-end, sfruttare i chatbot basati sull'intelligenza artificiale per una codifica semplificata e svelare le implicazioni future di questa tecnologia innovativa.

obiettivi formativi

  • Immergiti nel mondo di HuggingChat, un gioco rivoluzionario Chatbot basato sull'intelligenza artificiale ridefinire l'interazione dell'utente.
  • Esplora facilmente le complessità delle pipeline di addestramento dei modelli utilizzando query intuitive in linguaggio naturale.
  • Esplora l'orizzonte della tecnologia dei chatbot basati sull'intelligenza artificiale, scoprendone le implicazioni future e i potenziali progressi.
  • Scopri tecniche innovative di prompt engineering per la generazione e l'esecuzione fluida del codice.
  • Abbraccia la democratizzazione del machine learning, offrendo agli utenti interfacce accessibili e automazione.

Questo articolo è stato pubblicato come parte del Blogathon sulla scienza dei dati.

Cos'è HuggingChat?

Hugging Chat è un open source Chatbot basato sull'intelligenza artificiale progettato per rivoluzionare il modo in cui interagiamo con la tecnologia. Con il suo avanzato elaborazione del linguaggio naturale funzionalità, Hugging Chat offre un'esperienza di conversazione fluida e intuitiva che sembra incredibilmente simile a quella umana. Uno dei suoi punti di forza risiede nella sua capacità di comprendere e generare risposte contestualmente rilevanti, garantendo che le conversazioni fluiscano in modo naturale e intelligente. La tecnologia di base di Hugging Chat si basa su ampi modelli linguistici, che sono stati addestrati su grandi quantità di dati di testo, consentendogli di comprendere un'ampia gamma di argomenti e fornire risposte informative e coinvolgenti.

Query2Model

Può assistere gli utenti nella generazione frammenti di codice in base al loro richiederendendolo uno strumento prezioso per sviluppatori e programmatori. Che si tratti di fornire esempi di codice, spiegare la sintassi o offrire soluzioni a varie sfide, la funzionalità di generazione del codice di Hugging Chat ne migliora la versatilità e l'utilità. Inoltre, Hugging Chat dà priorità alla privacy degli utenti e alla sicurezza dei dati, garantendo conversazioni riservate e sicure. Aderisce alle pratiche etiche di intelligenza artificiale, astenendosi dal memorizzare informazioni o conversazioni degli utenti, fornendo così agli utenti tranquillità e controllo sui propri dati personali.

È disponibile l'API HuggingChat Python non ufficiale Qui.

Cos'è la pipeline?

UN tubatura si riferisce a una sequenza di elaborazione dati componenti disposti in un ordine specifico. Ciascun componente nella pipeline esegue un compito particolare sui dati e l'output di un componente diventa l'input del successivo. Le pipeline vengono comunemente utilizzate per semplificare il flusso di lavoro del machine learning, consentendo un'efficiente preelaborazione dei dati, ingegneria delle funzionalità, addestramento dei modelli e valutazione. Organizzando queste attività in una pipeline, diventa più semplice gestire, riprodurre e distribuire modelli di machine learning.

La pipeline è la seguente:

  • Domanda di testo: L'utente interroga il sistema con tutti i requisiti specificati
  • Richiesta: La query viene ristrutturata e la richiesta viene inviata a API HuggingChat (non ufficiale)
  • HuggingChatAPI: Elabora la query e genera il codice pertinente
  • Risposta: Il codice generato viene ricevuto dall'utente come risposta
  • Esecuzione: Il codice Python risultante viene eseguito per ottenere l'output desiderato
Query2Model

Implementazione passo passo di Query2Model

Esaminiamo ora l'implementazione passo passo di Query2Model:

Passo 1. Importa librerie

Cominciamo importando le seguenti librerie:

  • imparato: versatile libreria di machine learning in Python, che offre una suite completa di strumenti per la preelaborazione dei dati, l'addestramento dei modelli, la valutazione e la distribuzione.
  • panda: potente manipolazione e analisi dei dati libreria in Pythonprogettato per semplificare la gestione dei dati in modo efficiente.
  • abbraccio: API HuggingChat Python non ufficiale, estensibile per chatbot ecc.
!pip install  hugchat
import sklearn
import pandas as pd
from hugchat import hugchat
from hugchat.login import Login

Passo 2. Definizione della classe Query2Model

La richiesta di formattazione viene utilizzata per strutturare l'output nel formato desiderato. Consiste in diverse linee guida come la stampa dei risultati se necessario, comprese le rientranze, la garanzia di un codice privo di errori, ecc., per garantire che l'output del chatbot contenga solo codice eseguibile senza errori quando passato alla funzione exec().

#formatting_prompt is to ensure that the response contains only the required code
formatting_prompt = """Error-free code
Store the variable names in variables for future reference.
Print the result if required
Code should be well indented with spaces, etc., should not contain importing libraries, comments.
No loops.
Output should be executable without errors when it is passed to exec() function"""

La classe Query2Model è uno strumento per eseguire query utente all'interno di un ambiente specifico. Richiede l'e-mail e la password dell'utente per l'autenticazione, imposta una directory di archiviazione dei cookie e inizializza un oggetto Login. Dopo aver effettuato con successo l'autenticazione, recupera e salva i cookie, inizializzando a ChatBot oggetto di interazione. Il metodoexecute_query() esegue le query dell'utente, restituendo il risultato come stringa.

class Query2Model:
  
    def __init__(self, email, password):
        self.email = email
        self.password = password
        self.cookie_path_dir = "./cookies/" 
        self.sign = Login(EMAIL, PASSWD)
        self.cookies = sign.login(cookie_dir_path=cookie_path_dir, save_cookies=True)
        self.chatbot = hugchat.ChatBot(cookies=cookies.get_dict())

    # function to execute the user's query
    def execute_query(self, query):
        query_result = self.chatbot.chat(query+formatting_prompt)
        exec(str(query_result))
        return str(query_result)

L'utente deve fornire le credenziali di accesso dell'account HuggingFace per l'autenticazione

user = Query2Model(email="email", password="password")

Passaggio 3. Preparazione e preelaborazione dei dati

La query include il percorso del set di dati (qui il set di dati è presente nella directory di lavoro corrente), la variabile per memorizzarlo durante la lettura e per visualizzare le prime 5 righe.

query= r"""Read the csv file at path: iris.csv into df variable and display first 5 rows"""
output_code= user.execute_query( query )
print(output_code, sep="\n")
"

Separare le caratteristiche di input (X) e l'etichetta (y) in elementi separati frame di dati. Le caratteristiche includono lunghezza e larghezza del sepalo, lunghezza e larghezza del petalo che rappresentano le caratteristiche del fiore dell'iris. L'etichetta indica a quale specie appartiene il fiore.

query= r"""Store 'SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm' in X
       and 'Species' in y"""
output_code= user.execute_query( query )
print(output_code, sep="\n")
"

Dividendo l'80% dei dati per l'addestramento e il 20% dei dati per i test con uno stato casuale di 111

query= r"""Divide X, y for training and testing with 80-20% with random_state=111"""
output_code= user.execute_query( query )
print(output_code, sep="\n")
"

Applicazione della tecnica di scaler standard per normalizzare i dati. Trasforma i dati rimuovendo la media e ridimensionandola alla varianza unitaria, assicurando che ciascuna caratteristica abbia una media pari a 0 e una deviazione standard pari a 1.

query= r"""Apply standard scaler"""
output_code= user.execute_query( query )
print(output_code, sep="\n")
"

Passaggio 4. Formazione e valutazione dei modelli

La query contiene istruzioni per addestrare un classificatore di foresta casuale, visualizzarne l'accuratezza e infine per salvare il modello addestrato per attività futuristiche. Poiché nella query non sono specificati eventuali iperparametri, vengono considerati quelli predefiniti.

Foresta casuale: Algoritmo della foresta casuale opera costruendo multipli alberi decisionali durante l'addestramento e restituisce la modalità delle classi o la previsione media dei singoli alberi per le attività di regressione.

query= r"""Train a random forest classifier, print the accuracy, and save in .pkl"""
output_code= user.execute_query( query )
print()
print(output_code, sep="\n")
"

Dopo aver addestrato con successo il modello, eseguiamo query per verificare l'output in base alle funzionalità di input fornite.

query= r"""Load the model, and predict ouput for SepalLength= 5.1, SepalWidth= 3.5, PetalLength= 1.4, and PetalWidth= 0.2"""
output_code= user.execute_query( query )
print()
print(output_code, sep="\n")
"

Implicazioni future

  • Democratizzazione della programmazione: “Query2Model” potrebbe democratizzare la programmazione abbassando la barriera all’ingresso per i principianti, consentendo alle persone con esperienza di codifica limitata di sfruttare la potenza dell’apprendimento automatico e dell’automazione.
  • Produttività incrementata: Automatizzando il processo di generazione del codice, “Query2Model” ha il potenziale per migliorare significativamente la produttività, consentendo agli sviluppatori di concentrarsi maggiormente sulla risoluzione dei problemi e sull'innovazione piuttosto che sulle attività di codifica di routine.
  • Progresso dell’elaborazione del linguaggio naturale: L’adozione diffusa di tali strumenti può portare a ulteriori progressi nelle tecniche di elaborazione del linguaggio naturale, favorendo una più profonda integrazione tra il linguaggio umano e la comprensione della macchina in vari ambiti oltre la programmazione che portano allo sviluppo futuristico di Large Action Models (LAM).

Conclusione

“Query2Model” rappresenta una soluzione innovativa per automatizzare il processo di generazione ed esecuzione del codice basato sulle query degli utenti. Sfruttando l'input del linguaggio naturale, la pipeline semplifica l'interazione tra gli utenti e il sistema, consentendo una comunicazione continua dei requisiti. Attraverso l'integrazione con l'API HuggingChat, il sistema elabora in modo efficiente le query e genera codice pertinente, fornendo agli utenti risposte tempestive e accurate. Grazie alla sua capacità di eseguire codice Python, “Query2Model” consente agli utenti di ottenere gli output desiderati senza sforzo, migliorando la produttività e la comodità nel campo della generazione ed esecuzione del codice. È molto vantaggioso sia per i principianti che per i professionisti che lavorano.

Punti chiave

  • HuggingChat, un chatbot basato sull'intelligenza artificiale, rivoluziona l'interazione dell'utente semplificando attività complesse in query in linguaggio naturale, migliorando l'accessibilità e l'efficienza.
  • Query2Model facilita pipeline di training dei modelli senza soluzione di continuità, consentendo agli utenti di navigare senza sforzo nei flussi di lavoro di machine learning attraverso query intuitive in linguaggio naturale.
  • Gli sviluppatori possono personalizzare chatbot come HuggingChat per attività di generazione di codice, riducendo potenzialmente i tempi di sviluppo e migliorando la produttività.
  • Le tecniche di ingegneria rapida sfruttano i risultati di modelli linguistici di grandi dimensioni (LLM), come GPT, per generare frammenti di codice desiderabili in modo efficiente e accurato.

Domande frequenti

Q1. In che modo HuggingChat semplifica le attività di machine learning?

R. HuggingChat semplifica le attività di apprendimento automatico consentendo agli utenti di interagire con il sistema tramite query in linguaggio naturale, eliminando la necessità di sintassi e comandi di programmazione complessi.

Q2. È possibile personalizzare HuggingChat per attività specifiche di generazione del codice?

R. Sì, gli utenti possono personalizzare la funzionalità di HuggingChat per adattarla a varie attività di generazione del codice, rendendolo adattabile e versatile per le diverse esigenze di programmazione.

Q3. In che modo Query2Model potenzia gli utenti nel campo dell'apprendimento automatico?

R. Query2Model offre maggiore potere agli utenti fornendo un'interfaccia intuitiva per la creazione e l'addestramento di modelli di machine learning, rendendo le attività complesse accessibili a persone con diversi livelli di competenza.

Q4. Quali sono le potenziali implicazioni future dei chatbot basati sull’intelligenza artificiale come HuggingChat?

R. I chatbot basati sull’intelligenza artificiale hanno il potenziale per democratizzare la programmazione abbassando la barriera all’ingresso. Aumenta la produttività degli sviluppatori automatizzando le attività ripetitive e promuove i progressi nelle tecniche di elaborazione del linguaggio naturale.

I media mostrati in questo articolo non sono di proprietà di Analytics Vidhya e vengono utilizzati a discrezione dell'autore.

Fonte: www.analyticsvidhya.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *