Nell'era digitale, le aziende e le organizzazioni si affidano sempre più ai dati per prendere decisioni informate. Tuttavia, l'analisi di grandi quantità di dati può essere un compito che richiede tempo e risorse. Ecco dove entra in gioco l'automazione. Con l'aiuto di framework come Langchain e la Generative AI, è possibile automatizzare l'analisi dei dati, risparmiando tempo prezioso e migliorando l'efficienza. In questo articolo, esploreremo come è possibile utilizzare Langchain per costruire il proprio agente e automatizzare l'analisi dei dati. Mostreremo anche una guida passo-passo per creare un agente Langchain utilizzando un agente pandas integrato.
Cos'è Langchain?
Langchain è un framework utilizzato per costruire applicazioni con modelli di linguaggio di grandi dimensioni come chatGPT. Fornisce un modo migliore per gestire la memoria, i prompt e creare catene, una serie di azioni. Inoltre, Langchain fornisce agli sviluppatori la possibilità di creare agenti. Un agente è un'entità che può eseguire una serie di azioni basate su condizioni. Questo rende Langchain uno strumento potente e versatile per l'analisi dei dati.
Serie di articoli su LangChain e python
Tipi di agenti in Langchain
Ci sono due tipi di agenti in Langchain:
Agenti di azione: gli agenti di azione decidono le azioni da intraprendere ed eseguono tali azioni una alla volta.
Agenti di pianificazione ed esecuzione: gli agenti di pianificazione ed esecuzione decidono prima un piano di azioni da intraprendere e poi eseguono tali azioni una alla volta.
Tuttavia, non c'è una distinzione chiara tra entrambe le categorie poiché questo concetto è ancora in fase di sviluppo. Entrambi i tipi di agenti hanno il loro posto nell'ecosistema Langchain e possono essere utilizzati in base alle esigenze specifiche del progetto.
Come utilizzare Langchain per l'analisi dei dati
Per fare analisi dei dati con Langchain, dobbiamo prima installare le librerie Langchain e OpenAI. È possibile farlo scaricando le librerie richieste e poi importandole nel proprio progetto. Ecco come si può fare:
# Installazione delle librerie Langchain e OpenAI
# !pip install langchain openai #se usi colab
# pip install langchain openai # se usi python locale
# Importazione delle librerieimport os
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from langchain.agents import create_pandas_dataframe_agent
from langchain.llms import OpenAI
# Configurazione della chiave API
os.environ['OPENAI_API_KEY']="YOUR API KEY"
È possibile ottenere la propria chiave API OpenAI dalla piattaforma OpenAI.
Creazione di un agente Langchain
Per creare un agente Langchain, utilizzeremo l'agente pandas integrato. Utilizzeremo un set di dati sul rischio di malattie cardiache per questa demo. Questi dati sono disponibili online e possono essere letti direttamente nel dataframe pandas. Ecco come si può fare:
# Importing the datadf = pd.read_csv('http://www-stat.stanford.edu/~tibs/ElemStatLearn/datasets/SAheart.data')
# Initializing the agent
agent = create_pandas_dataframe_agent(OpenAI(temperature=0), df, verbose=True)
openai = OpenAI(temperature=0.0)
Openai.model_name # This will print the model being used, # by default it uses ‘text-davinci-003’
Il parametro della temperatura viene utilizzato per regolare la creatività del modello. Quando è impostato su 0, il modello è meno soggetto ad allucinazioni. Abbiamo mantenuto verbose= True. Stamperà tutti i passaggi intermedi durante l'esecuzione.
Interrogazione dell'agente Langchain - Come automatizzare l'analisi dei dati con Langchain e python
Dopo aver configurato il tuo agente, puoi iniziare a interrogarlo. Esistono diversi tipi di query che puoi chiedere al tuo agente di eseguire. Eseguiamo alcuni passaggi di analisi dei dati:
EDA di base con Langchain
# Chiediamo quante riche e colonne ha il nostro set di dati
agent("What is the shape of the dataset?")
Qui puoi vedere che il modello sta stampando tutti i passaggi intermedi perché avevamo impostato verbose=True
# Chiediamo quanti valori nulli ci sono
agent("How many missing values are there in each column?")
Possiamo vedere che nessuna delle colonne ha valori mancanti.
# Chiediamo di stamparci le prime 5 righe del dataset
agent("Display 5 records in form of a table.")
Analisi invariate con Langchain
In questa sezione cercheremo di vedere la distribuzione delle varie variabili.
# Mostra la distribuzione delle persone che soffrono di chd utilizzando il grafico a barre
agent("Show the distribution of people suffering with chd using bar graph.")
Mostra la distribuzione dell'età in cui si trova la persona soffrendo con chd usando l'istogramma
# Mostra la distribuzione dell'età in cui si trova la persona soffrendo con chd usando l'istogramma
agent("""Show the distribution of age where the person is
suffering with chd using histogram with
0 to 10, 10 to 20, 20 to 30 years and so on.""")
# Chiediamo di stamparci le prime 5 righe del dataset
agent("""Draw boxplot to find out if there are any outliers
in terms of age of who are suffering from chd.""")
Controllo di un'ipotesi
Proviamo a verificare alcune ipotesi.
# Il tabacco provoca CHD?
agent("""validate the following hypothesis with t-test.
Null Hypothesis: Consumption of Tobacco does not cause chd.
Alternate Hypothesis: Consumption of Tobacco causes chd.""")
# Com'è la distribuzione della malattia coronarica nei vari gruppi di età
agent("""Plot the distribution of age for both the values
of chd using kde plot. Also provide a lenged and
label the x and y axises.""")
Analisi bivariata
Facciamo un paio di query per vedere come sono correlate le varie variabili.
agent("""Draw a scatter plot showing relationship
between adiposity and ldl for both categories of chd.""")
agent("""What is the correlation of different variables with chd""")
Langchain offre una vasta gamma di funzionalità che possono essere utilizzate per automatizzare l'analisi dei dati. Con un po' di pratica, sarà possibile creare agenti personalizzati che possono eseguire una vasta gamma di compiti, risparmiando tempo e risorse.
Serie di articoli su LangChain e python
Conclusione
L'automazione dell'analisi dei dati è un campo in rapida crescita, con nuovi strumenti e tecniche che vengono sviluppati regolarmente. Langchain è uno di questi strumenti, offrendo un modo potente e flessibile per automatizzare l'analisi dei dati. Con la sua capacità di creare agenti personalizzati e la sua integrazione con i modelli di linguaggio di grandi dimensioni come chatGPT, Langchain è uno strumento che vale la pena esplorare per chiunque sia interessato all'analisi dei dati.
Komentarai