Αναλύστε τα δεδομένα σας χρησιμοποιώντας φυσική γλώσσα

Σας ενδιαφέρει να αναλύσετε τα δεδομένα σας χρησιμοποιώντας φυσική γλώσσα; Μάθετε πώς να το κάνετε χρησιμοποιώντας τη βιβλιοθήκη Python PandasAI.

Σε έναν κόσμο όπου τα δεδομένα είναι ζωτικής σημασίας, η κατανόηση και η ανάλυσή τους είναι απαραίτητη. Ωστόσο, η παραδοσιακή ανάλυση δεδομένων μπορεί να είναι πολύπλοκη. Εκεί μπαίνει το PandasAI. Απλοποιεί την ανάλυση δεδομένων, επιτρέποντάς σας να μιλάτε στα δεδομένα σας χρησιμοποιώντας φυσική γλώσσα.

Το Pandas AI λειτουργεί μετατρέποντας τις ερωτήσεις σας σε κώδικα για ανάλυση δεδομένων. Βασίζεται στα δημοφιλή panda της βιβλιοθήκης Python. PandasAI είναι μια βιβλιοθήκη Python που επεκτείνει τα panda, το γνωστό εργαλείο ανάλυσης και χειρισμού δεδομένων, με χαρακτηριστικά Generative AI. Προορίζεται να συμπληρώσει τα πάντα αντί να τα αντικαταστήσει.

Το PandasAI εισάγει μια πτυχή συνομιλίας στα panda (καθώς και σε άλλες ευρέως χρησιμοποιούμενες βιβλιοθήκες ανάλυσης δεδομένων), δίνοντάς σας τη δυνατότητα να αλληλεπιδράτε με τα δεδομένα σας χρησιμοποιώντας ερωτήματα φυσικής γλώσσας.

Αυτό το σεμινάριο θα σας καθοδηγήσει στα βήματα της ρύθμισης του Pandas AI, χρησιμοποιώντας το με ένα πραγματικό σύνολο δεδομένων, δημιουργώντας γραφικά, εξερευνώντας συντομεύσεις και εξερευνώντας τα δυνατά σημεία και τους περιορισμούς αυτού του ισχυρού εργαλείου.

Αφού το ολοκληρώσετε, θα μπορείτε να κάνετε ανάλυση δεδομένων πιο εύκολα και διαισθητικά χρησιμοποιώντας φυσική γλώσσα.

Λοιπόν, ας εξερευνήσουμε τον συναρπαστικό κόσμο της ανάλυσης δεδομένων φυσικής γλώσσας με το Pandas AI!

Πίνακας περιεχομένων

Ρύθμιση του περιβάλλοντος σας

Για να ξεκινήσετε με το PandasAI, θα πρέπει να ξεκινήσετε εγκαθιστώντας τη βιβλιοθήκη PandasAI.

Χρησιμοποιώ ένα σημειωματάριο Jupyter για αυτό το έργο. Αλλά μπορείτε να χρησιμοποιήσετε το Google Collab ή τον VS Code σύμφωνα με τις απαιτήσεις σας.

Εάν σκοπεύετε να χρησιμοποιήσετε μοντέλα ανοιχτής τεχνητής νοημοσύνης με μεγάλες γλώσσες (LLM), είναι επίσης σημαντικό να εγκαταστήσετε το Open AI Python SDK για μια ομαλή εμπειρία.

# Installing Pandas AI
!pip install pandas-ai
# Pandas AI uses OpenAI's language models, so you need to install the OpenAI Python SDK
!pip install openai

Τώρα, ας εισάγουμε όλες τις απαραίτητες βιβλιοθήκες:

# Importing necessary libraries
import pandas as pd 
import numpy as np 

# Importing PandasAI and its components
from pandasai import PandasAI, SmartDataframe
from pandasai.llm.openai import OpenAI

Μια βασική πτυχή της ανάλυσης δεδομένων χρησιμοποιώντας το PandasAI είναι το κλειδί API. Αυτό το εργαλείο υποστηρίζει πολλά μοντέλα Large Language Models (LLM) και LangChains, τα οποία χρησιμοποιούνται για τη δημιουργία κώδικα από ερωτήματα φυσικής γλώσσας. Αυτό καθιστά την ανάλυση δεδομένων πιο προσιτή και φιλική προς τον χρήστη.

Το PandasAI είναι ευέλικτο και μπορεί να λειτουργήσει με διάφορους τύπους μοντέλων. Αυτά περιλαμβάνουν μοντέλα Hugging Face, Azure OpenAI, Google PALM και Google VertexAI. Κάθε ένα από αυτά τα μοντέλα φέρνει τις δικές του δυνάμεις στο τραπέζι, ενισχύοντας τις δυνατότητες του PandasAI.

Θυμηθείτε, για να χρησιμοποιήσετε αυτά τα μοντέλα, θα χρειαστείτε τα κατάλληλα κλειδιά API. Αυτά τα κλειδιά ελέγχουν την ταυτότητα των αιτημάτων σας και σας επιτρέπουν να αξιοποιήσετε τη δύναμη αυτών των προηγμένων μοντέλων γλώσσας στις εργασίες ανάλυσης δεδομένων σας. Επομένως, φροντίστε να έχετε τα κλειδιά API σας εύχρηστα όταν ρυθμίζετε το PandasAI για τα έργα σας.

Μπορείτε να λάβετε το κλειδί API και να το εξαγάγετε ως μεταβλητή περιβάλλοντος.

Στο επόμενο βήμα, θα μάθετε πώς να χρησιμοποιείτε το PandasAI με διαφορετικούς τύπους μοντέλων μεγάλων γλωσσών (LLM) από το OpenAI και το Hugging Face Hub.

Χρήση μοντέλων μεγάλων γλωσσών

Μπορείτε είτε να επιλέξετε ένα LLM δημιουργώντας ένα στιγμιότυπο και περνώντας το στον κατασκευαστή SmartDataFrame ή SmartDatalake, είτε μπορείτε να καθορίσετε ένα στο αρχείο pandasai.json.

Εάν το μοντέλο αναμένει μία ή περισσότερες παραμέτρους, μπορείτε να τις μεταβιβάσετε στον κατασκευαστή ή να τις καθορίσετε στο αρχείο pandasai.json στην παράμετρο llm_options, ως εξής:

{
  "llm": "OpenAI",
  "llm_options": {
    "api_token": "API_TOKEN_GOES_HERE"
  }
}

Πώς να χρησιμοποιήσετε μοντέλα OpenAI;

Για να χρησιμοποιήσετε μοντέλα OpenAI, πρέπει να έχετε ένα κλειδί OpenAI API. Μπορείτε να πάρετε ένα εδώ.

Αφού έχετε ένα κλειδί API, μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε ένα αντικείμενο OpenAI:

#We have imported all necessary libraries in privious step

llm = OpenAI(api_token="my-api-key")
pandas_ai = SmartDataframe("data.csv", config={"llm": llm})

Μην ξεχάσετε να αντικαταστήσετε το “my-api-key” με το αρχικό κλειδί API

Εναλλακτικά, μπορείτε να ορίσετε τη μεταβλητή περιβάλλοντος OPENAI_API_KEY και να δημιουργήσετε το αντικείμενο OpenAI χωρίς να περάσετε το κλειδί API:

# Set the OPENAI_API_KEY environment variable 
llm = OpenAI() # no need to pass the API key, it will be read from the environment variable
pandas_ai = SmartDataframe("data.csv", config={"llm": llm})

Εάν βρίσκεστε πίσω από έναν ρητό διακομιστή μεσολάβησης, μπορείτε να καθορίσετε το openai_proxy κατά τη δημιουργία του αντικειμένου OpenAI ή να ορίσετε τη μεταβλητή περιβάλλοντος OPENAI_PROXY ώστε να διέρχεται.

  Πώς να ενεργοποιήσετε και να απενεργοποιήσετε τις έξυπνες λήψεις του Netflix

Σημαντική σημείωση: Όταν χρησιμοποιείτε τη βιβλιοθήκη PandasAI για ανάλυση δεδομένων με το κλειδί API, είναι σημαντικό να παρακολουθείτε τη χρήση του διακριτικού σας για τη διαχείριση του κόστους.

Αναρωτιέστε πώς να το κάνετε αυτό; Απλώς εκτελέστε τον παρακάτω κωδικό μετρητή διακριτικών για να έχετε μια σαφή εικόνα της χρήσης του διακριτικού σας και των αντίστοιχων χρεώσεων. Με αυτόν τον τρόπο, μπορείτε να διαχειριστείτε αποτελεσματικά τους πόρους σας και να αποφύγετε τυχόν εκπλήξεις στη χρέωσή σας.

Μπορείτε να μετρήσετε τον αριθμό των διακριτικών που χρησιμοποιούνται από μια προτροπή ως εξής:

"""Example of using PandasAI with a pandas dataframe"""

from pandasai import SmartDataframe
from pandasai.llm import OpenAI
from pandasai.helpers.openai_info import get_openai_callback
import pandas as pd
llm = OpenAI()
# conversational=False is supposed to display lower usage and cost
df = SmartDataframe("data.csv", {"llm": llm, "conversational": False})

with get_openai_callback() as cb:
    response = df.chat("Calculate the sum of the gdp of north american countries")
    print(response)
    print(cb)

Θα έχετε αποτελέσματα όπως αυτό:

#  The sum of the GDP of North American countries is 19,294,482,071,552.

#  Tokens Used: 375
#   Prompt Tokens: 210
#   Completion Tokens: 165
# Total Cost (USD): $ 0.000750

Μην ξεχάσετε να κρατήσετε αρχείο με το συνολικό κόστος σας εάν έχετε περιορισμένη πίστωση!

Πώς να χρησιμοποιήσετε τα μοντέλα Hugging Face;

Για να χρησιμοποιήσετε μοντέλα HuggingFace, πρέπει να έχετε ένα κλειδί API HuggingFace. Μπορείτε να δημιουργήσετε έναν λογαριασμό HuggingFace εδώ και λάβετε ένα κλειδί API εδώ.

Αφού έχετε ένα κλειδί API, μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε ένα από τα μοντέλα HuggingFace.

Προς το παρόν, το PandasAI υποστηρίζει τα ακόλουθα μοντέλα HuggingFace:

  • Starcoder: bigcode/starcoder
  • Falcon: tiiuae/falcon-7b-instruct
from pandasai.llm import Starcoder, Falcon
llm = Starcoder(api_token="my-huggingface-api-key")
                    # or
llm = Falcon(api_token="my-huggingface-api-key")
df = SmartDataframe("data.csv", config={"llm": llm})

Εναλλακτικά, μπορείτε να ορίσετε τη μεταβλητή περιβάλλοντος HUGGINGFACE_API_KEY και να δημιουργήσετε το αντικείμενο HuggingFace χωρίς να περάσετε το κλειδί API:

from pandasai.llm import Starcoder, Falcon
llm = Starcoder() # no need to pass the API key, it will be read from the environment variable
                                       # or
llm = Falcon() # no need to pass the API key, it will be read from the environment variable
df = SmartDataframe("data.csv", config={"llm": llm})

Το Starcoder και το Falcon είναι και τα δύο μοντέλα LLM διαθέσιμα στο Hugging Face.

Ρυθμίσαμε με επιτυχία το περιβάλλον μας και εξερευνήσαμε πώς να χρησιμοποιούμε τα μοντέλα OpenAI και Hugging Face LLM. Τώρα, ας προχωρήσουμε με το ταξίδι ανάλυσης δεδομένων.

Θα χρησιμοποιήσουμε το σύνολο δεδομένων Big Mart Sales, το οποίο περιέχει πληροφορίες σχετικά με τις πωλήσεις διαφόρων προϊόντων σε διαφορετικά καταστήματα του Big Mart. Το σύνολο δεδομένων έχει 12 στήλες και 8524 σειρές. Θα λάβετε τον σύνδεσμο στο τέλος του άρθρου.

Ανάλυση δεδομένων με το PandasAI

Τώρα που εγκαταστήσαμε και εισαγάγαμε με επιτυχία όλες τις απαραίτητες βιβλιοθήκες, ας προχωρήσουμε στη φόρτωση των δεδομένων μας.

Φορτώστε το σύνολο δεδομένων

Μπορείτε είτε να επιλέξετε ένα LLM δημιουργώντας ένα στιγμιότυπο και περνώντας το στο SmartDataFrame. Θα λάβετε τη σύνδεση με το σύνολο δεδομένων στο τέλος του άρθρου.

#Load the dataset from device
path = r"D:\Pandas AI\Train.csv"
df = SmartDataframe(path)

Χρησιμοποιήστε το μοντέλο LLM του OpenAI

Μετά τη φόρτωση των δεδομένων μας. Θα χρησιμοποιήσω το μοντέλο LLM του OpenAI για να χρησιμοποιήσω το PandasAI

llm = OpenAI(api_token="API_Key")
pandas_ai = PandasAI(llm, conversational=False)

Ολα καλά! Τώρα, ας προσπαθήσουμε να χρησιμοποιήσουμε προτροπές.

Εκτυπώστε τις πρώτες 6 σειρές του συνόλου δεδομένων μας

Ας προσπαθήσουμε να φορτώσουμε τις πρώτες 6 σειρές, παρέχοντας οδηγίες:

Result = pandas_ai(df, "Show the first 6 rows of data in tabular form") 
Result

Οι πρώτες 6 σειρές από το σύνολο δεδομένων

Ήταν πραγματικά γρήγορο! Ας κατανοήσουμε το σύνολο δεδομένων μας.

Δημιουργία Περιγραφικών Στατιστικών του DataFrame

# To get descriptive statistics
Result = pandas_ai(df, "Show the description of data in tabular form") 
Result

Περιγραφή

Υπάρχουν 7060 τιμές στο Item_Weigth. ίσως λείπουν κάποιες τιμές.

Βρείτε τις αξίες που λείπουν

Υπάρχουν δύο τρόποι για να βρείτε τιμές που λείπουν χρησιμοποιώντας το pandas ai.

#Find missing values
Result = pandas_ai(df, "Show the missing values of data in tabular form") 
Result

Εύρεση αξιών που λείπουν

# Συντόμευση για τον καθαρισμό δεδομένων

df = SmartDataframe('data.csv')
df.clean_data()

Αυτή η συντόμευση θα κάνει καθαρισμό δεδομένων στο πλαίσιο δεδομένων.

Τώρα, ας συμπληρώσουμε τις μηδενικές τιμές που λείπουν.

Συμπληρώστε τις τιμές που λείπουν

#Fill Missing values
result = pandas_ai(df, "Fill Item Weight with median and Item outlet size null values with mode and Show the missing values of data in tabular form") 
result

Συμπληρωμένες μηδενικές τιμές

Είναι μια χρήσιμη μέθοδος για τη συμπλήρωση μηδενικών τιμών, αλλά αντιμετώπισα ορισμένα προβλήματα κατά τη συμπλήρωση μηδενικών τιμών.

# Συντόμευση για Συμπλήρωση μηδενικών τιμών

df = SmartDataframe('data.csv')
df.impute_missing_values()

Αυτή η συντόμευση θα καταλογίσει τιμές που λείπουν στο πλαίσιο δεδομένων.

Απόθεση μηδενικών τιμών

Εάν θέλετε να αφαιρέσετε όλες τις μηδενικές τιμές από το df σας, μπορείτε να δοκιμάσετε αυτήν τη μέθοδο.

result = pandas_ai(df, "Drop the row with missing values with inplace=True") 
result

Η ανάλυση δεδομένων είναι απαραίτητη για τον εντοπισμό τάσεων, τόσο βραχυπρόθεσμων όσο και μακροπρόθεσμων, οι οποίες μπορεί να είναι ανεκτίμητες για τις επιχειρήσεις, τις κυβερνήσεις, τους ερευνητές και τα άτομα.

Ας προσπαθήσουμε να βρούμε μια συνολική τάση πωλήσεων όλα αυτά τα χρόνια από την ίδρυσή του.

Εύρεση τάσης πωλήσεων

# finding trend in sales 
result = pandas_ai(df, "What is the overall trend in sales over the years since outlet establishment?") 
result

Πωλήσεις καθ’ όλη τη διάρκεια του έτους (Line plot)

  Πώς να εγκαταστήσετε προσαρμοσμένες γραμματοσειρές στο iPhone ή το iPad σας

Η αρχική διαδικασία δημιουργίας πλοκής ήταν λίγο αργή, αλλά μετά την επανεκκίνηση του πυρήνα και την εκτέλεση όλων, έτρεξε πιο γρήγορα.

# Συντόμευση για τη γραφική παράσταση γραμμών

df.plot_line_chart(x = ['a', 'b', 'c'], y = [1, 2, 3])

Αυτή η συντόμευση θα σχεδιάσει ένα γραμμικό γράφημα του πλαισίου δεδομένων.

Ίσως αναρωτιέστε γιατί υπάρχει μια πτώση στην τάση. Αυτό οφείλεται στο ότι δεν έχουμε στοιχεία από το 1989 έως το 1994.

Εύρεση έτους με τις υψηλότερες πωλήσεις

Τώρα, ας μάθουμε ποια χρονιά έχει τις υψηλότερες πωλήσεις.

# finding year of highest sales
result = pandas_ai(df, "Explain which years have highest sales") 
result

Έτσι, η χρονιά με τις υψηλότερες πωλήσεις είναι το 1985.

Όμως, θέλω να μάθω ποιος τύπος αντικειμένου δημιουργεί τις υψηλότερες μέσες πωλήσεις και ποιος τύπος δημιουργεί τις χαμηλότερες μέσες πωλήσεις.

Οι υψηλότερες και οι χαμηλότερες μέσες πωλήσεις

# finding highest and lowest average sale
result = pandas_ai(df, "Which item type generates the highest average sales, and which one generates the lowest?") 
result

Τα Starchy Foods έχουν τις υψηλότερες μέσες πωλήσεις και άλλα έχουν τις χαμηλότερες μέσες πωλήσεις. Εάν δεν θέλετε άλλους να έχουν τις χαμηλότερες πωλήσεις, μπορείτε να βελτιώσετε την προτροπή σύμφωνα με τις ανάγκες σας.

Υπέροχος! Τώρα, θέλω να μάθω την κατανομή των πωλήσεων σε διαφορετικά σημεία πώλησης.

Διανομή πωλήσεων σε διαφορετικά σημεία πώλησης

Υπάρχουν τέσσερις τύποι καταστημάτων: Σούπερ μάρκετ Τύπου 1/2/3 και Παντοπωλεία.

# distribution of sales across different outlet types since establishment
response = pandas_ai(df, "Visualize the distribution of sales across different outlet types since establishment using bar plot, plot size=(13,10)") 
response

Κατανομή των πωλήσεων σε διάφορα σημεία πώλησης

Όπως παρατηρήθηκε σε προηγούμενα μηνύματα, οι κορυφαίες πωλήσεις σημειώθηκαν το 1985 και αυτό το οικόπεδο υπογραμμίζει τις υψηλότερες πωλήσεις το 1985 από καταστήματα σούπερ μάρκετ τύπου 3.

# Συντόμευση στο γράφημα ράβδου γραφήματος

df = SmartDataframe('data.csv')
df.plot_bar_chart(x = ['a', 'b', 'c'], y = [1, 2, 3])

Αυτή η συντόμευση θα σχεδιάσει ένα γράφημα ράβδων του πλαισίου δεδομένων.

# Συντόμευση στο Ιστόγραμμα Σχεδίου

df = SmartDataframe('data.csv')
df.plot_histogram(column = 'a')

Αυτή η συντόμευση θα σχεδιάσει ένα ιστόγραμμα του πλαισίου δεδομένων.

Τώρα, ας μάθουμε Ποιες είναι οι μέσες πωλήσεις για τα είδη με περιεκτικότητα σε λιπαρά είδη «Χαμηλά λιπαρά» και «κανονικά».

Βρείτε μέσες πωλήσεις για είδη με λιπαρά περιεχόμενα

# finding index of a row using value of a column 
result = pandas_ai(df, "What is the average sales for the items with 'Low Fat' and 'Regular' item fat content?") 
result

Η σύνταξη προτροπών όπως αυτή σάς επιτρέπει να συγκρίνετε δύο ή περισσότερα προϊόντα.

Μέσες πωλήσεις για κάθε τύπο αντικειμένου

Θέλω να συγκρίνω όλα τα προϊόντα με τις μέσες πωλήσεις τους.

#Average Sales for Each Item Type
result = pandas_ai(df, "What are the average sales for each item type over the past 5 years?, use pie plot, size=(6,6)") 
result

Γράφημα πίτας μέσες πωλήσεις

Όλα τα τμήματα του γραφήματος πίτας εμφανίζονται παρόμοια επειδή έχουν σχεδόν τα ίδια στοιχεία πωλήσεων.

# Συντόμευση στο γράφημα πίτας γραφήματος

df.plot_pie_chart(labels = ['a', 'b', 'c'], values = [1, 2, 3])

Αυτή η συντόμευση θα σχεδιάσει ένα γράφημα πίτας του πλαισίου δεδομένων.

Κορυφαίοι 5 τύποι αντικειμένων με τις υψηλότερες πωλήσεις

Αν και έχουμε ήδη συγκρίνει όλα τα προϊόντα με βάση τις μέσες πωλήσεις, τώρα θα ήθελα να προσδιορίσω τα 5 κορυφαία προϊόντα με τις υψηλότερες πωλήσεις.

#Finding top 5 highest selling items
result = pandas_ai(df, "What are the top 5 highest selling item type based on average sells? Write in tablular form") 
result

Όπως ήταν αναμενόμενο, το Starchy Foods είναι το προϊόν με τις υψηλότερες πωλήσεις με βάση τις μέσες πωλήσεις.

Κορυφαίοι 5 τύποι αντικειμένων με τις χαμηλότερες πωλήσεις

result = pandas_ai(df, "What are the top 5 lowest selling item type based on average sells?")
result

Ίσως εκπλαγείτε αν δείτε αναψυκτικά στην κατηγορία με τις χαμηλότερες πωλήσεις. Ωστόσο, είναι σημαντικό να σημειωθεί ότι αυτά τα δεδομένα φτάνουν μέχρι το 2008 και η τάση για τα αναψυκτικά απογειώθηκε λίγα χρόνια αργότερα.

Πωλήσεις Κατηγοριών Προϊόντων

Εδώ, χρησιμοποίησα τη λέξη «κατηγορία προϊόντος» αντί για «τύπος αντικειμένου» και η PandasAI εξακολουθεί να δημιουργεί τις πλοκές, δείχνοντας ότι κατανοεί παρόμοιες λέξεις.

result = pandas_ai(df, "Give a stacked large size bar chart of the sales of the various product categories for the last FY") 
result

Πωλήσεις τύπου αντικειμένου

Μπορείτε να βρείτε τις υπόλοιπες συντομεύσεις μας Εδώ.

Μπορεί να παρατηρήσετε ότι όταν γράφουμε μια προτροπή και παρέχουμε οδηγίες σε ένα PandasAI, παρέχει αποτελέσματα που βασίζονται αποκλειστικά στη συγκεκριμένη προτροπή. Δεν αναλύει τις προηγούμενες προτροπές σας για να προσφέρει πιο ακριβείς απαντήσεις.

Ωστόσο, με τη βοήθεια ενός πράκτορα συνομιλίας, μπορείτε να επιτύχετε και αυτή τη λειτουργία.

Πράκτορας συνομιλίας

Με τον πράκτορα συνομιλίας, μπορείτε να συμμετέχετε σε δυναμικές συνομιλίες όπου ο πράκτορας διατηρεί το πλαίσιο καθ’ όλη τη διάρκεια της συζήτησης. Αυτό σας δίνει τη δυνατότητα να έχετε πιο διαδραστικές και ουσιαστικές ανταλλαγές.

Τα βασικά χαρακτηριστικά που ενισχύουν αυτήν την αλληλεπίδραση περιλαμβάνουν τη διατήρηση περιβάλλοντος, όπου ο πράκτορας θυμάται το ιστορικό συνομιλιών, επιτρέποντας απρόσκοπτες αλληλεπιδράσεις με επίγνωση του περιβάλλοντος. Μπορείτε να χρησιμοποιήσετε τη μέθοδο Ερωτήσεις διευκρίνισης για να ζητήσετε διευκρινίσεις σχετικά με οποιαδήποτε πτυχή της συνομιλίας, διασφαλίζοντας ότι κατανοείτε πλήρως τις πληροφορίες που παρέχονται.

Επιπλέον, η μέθοδος Explain είναι διαθέσιμη για τη λήψη λεπτομερών εξηγήσεων για το πώς ο πράκτορας έφτασε σε μια συγκεκριμένη λύση ή απάντηση, προσφέροντας διαφάνεια και πληροφορίες σχετικά με τη διαδικασία λήψης αποφάσεων του πράκτορα.

Μη διστάσετε να ξεκινήσετε συνομιλίες, να αναζητήσετε διευκρινίσεις και να εξερευνήσετε εξηγήσεις για να βελτιώσετε τις αλληλεπιδράσεις σας με τον πράκτορα συνομιλίας!

from pandasai import Agent
agent = Agent(df, config={"llm": llm}, memory_size=10)
result = agent.chat("Which are top 5 items with highest MRP")
result

Σε αντίθεση με ένα SmartDataframe ή ένα SmartDatalake, ένας πράκτορας θα παρακολουθεί την κατάσταση της συνομιλίας και θα μπορεί να απαντά σε συνομιλίες πολλαπλών στροφών.

  [Explained] Πώς να εφαρμόσετε το Switch-Case στην Python

Ας προχωρήσουμε προς τα Πλεονεκτήματα και τους Περιορισμούς του PandasAI

Πλεονεκτήματα του PandasAI

Η χρήση του Pandas AI προσφέρει πολλά πλεονεκτήματα που το καθιστούν πολύτιμο εργαλείο για την ανάλυση δεδομένων, όπως:

  • Προσβασιμότητα: Το PandasAI απλοποιεί την ανάλυση δεδομένων, καθιστώντας το προσβάσιμο σε ένα ευρύ φάσμα χρηστών. Οποιοσδήποτε, ανεξάρτητα από το τεχνικό υπόβαθρό του, μπορεί να το χρησιμοποιήσει για να εξάγει πληροφορίες από δεδομένα και να απαντά σε επιχειρηματικές ερωτήσεις.
  • Ερωτήματα φυσικής γλώσσας: Η δυνατότητα να κάνετε ερωτήσεις απευθείας και να λαμβάνετε απαντήσεις από δεδομένα χρησιμοποιώντας ερωτήματα φυσικής γλώσσας καθιστά την εξερεύνηση και την ανάλυση δεδομένων πιο φιλική προς το χρήστη. Αυτή η δυνατότητα επιτρέπει ακόμη και μη τεχνικούς χρήστες να αλληλεπιδρούν αποτελεσματικά με τα δεδομένα.
  • Λειτουργικότητα συνομιλίας με πράκτορα: Η λειτουργία συνομιλίας επιτρέπει στους χρήστες να αλληλεπιδρούν με δεδομένα, ενώ η λειτουργία συνομιλίας με πράκτορα αξιοποιεί το προηγούμενο ιστορικό συνομιλιών για να παρέχει απαντήσεις που έχουν επίγνωση του περιβάλλοντος. Αυτό προωθεί μια δυναμική και συνομιλητική προσέγγιση στην ανάλυση δεδομένων.
  • Οπτικοποίηση δεδομένων: Το PandasAI παρέχει μια σειρά επιλογών οπτικοποίησης δεδομένων, συμπεριλαμβανομένων χαρτών θερμότητας, διαγραμμάτων διασποράς, ραβδώσεων, γραφημάτων πίτας, γραμμών και άλλων. Αυτές οι απεικονίσεις βοηθούν στην κατανόηση και την παρουσίαση προτύπων και τάσεων δεδομένων.
  • Συντομεύσεις εξοικονόμησης χρόνου: Η διαθεσιμότητα συντομεύσεων και λειτουργιών εξοικονόμησης χρόνου απλοποιεί τη διαδικασία ανάλυσης δεδομένων, βοηθώντας τους χρήστες να εργάζονται πιο αποτελεσματικά και αποτελεσματικά.
  • Συμβατότητα αρχείων: Το PandasAI υποστηρίζει διάφορες μορφές αρχείων, όπως CSV, Excel, Φύλλα Google και άλλα. Αυτή η ευελιξία επιτρέπει στους χρήστες να εργάζονται με δεδομένα από διάφορες πηγές και μορφές.
  • Προσαρμοσμένες προτροπές: Οι χρήστες μπορούν να δημιουργήσουν προσαρμοσμένες προτροπές χρησιμοποιώντας απλές οδηγίες και κώδικα Python. Αυτή η δυνατότητα δίνει τη δυνατότητα στους χρήστες να προσαρμόζουν τις αλληλεπιδράσεις τους με δεδομένα ώστε να ταιριάζουν σε συγκεκριμένες ανάγκες και ερωτήματα.
  • Αποθήκευση αλλαγών: Η δυνατότητα αποθήκευσης των αλλαγών που έγιναν σε πλαίσια δεδομένων διασφαλίζει ότι η εργασία σας διατηρείται και μπορείτε να επισκεφθείτε ξανά και να μοιραστείτε την ανάλυσή σας ανά πάσα στιγμή.
  • Προσαρμοσμένες απαντήσεις: Η επιλογή δημιουργίας προσαρμοσμένων απαντήσεων επιτρέπει στους χρήστες να ορίζουν συγκεκριμένες συμπεριφορές ή αλληλεπιδράσεις, κάνοντας το εργαλείο ακόμα πιο ευέλικτο.
  • Ενσωμάτωση μοντέλου: Το PandasAI υποστηρίζει διάφορα μοντέλα γλώσσας, συμπεριλαμβανομένων εκείνων από τα μοντέλα Hugging Face, Azure, Google Palm, Google VertexAI και LangChain. Αυτή η ενοποίηση ενισχύει τις δυνατότητες του εργαλείου και επιτρέπει την προηγμένη επεξεργασία και κατανόηση φυσικής γλώσσας.
  • Ενσωματωμένη υποστήριξη LangChain: Η ενσωματωμένη υποστήριξη για μοντέλα LangChain διευρύνει περαιτέρω το φάσμα των διαθέσιμων μοντέλων και λειτουργιών, ενισχύοντας το βάθος της ανάλυσης και τις πληροφορίες που μπορούν να προκύψουν από τα δεδομένα.
  • Κατανοήστε τα ονόματα: Το PandasAI επιδεικνύει την ικανότητα κατανόησης της συσχέτισης μεταξύ των ονομάτων στηλών και της πραγματικής ορολογίας. Για παράδειγμα, ακόμα κι αν χρησιμοποιείτε όρους όπως «κατηγορία προϊόντος» αντί για «τύπος αντικειμένου» στις προτροπές σας, το εργαλείο μπορεί να παρέχει σχετικά και ακριβή αποτελέσματα. Αυτή η ευελιξία στην αναγνώριση συνωνύμων και την αντιστοίχιση τους στις κατάλληλες στήλες δεδομένων ενισχύει την ευκολία του χρήστη και την προσαρμοστικότητα του εργαλείου σε ερωτήματα φυσικής γλώσσας.

Ενώ το PandasAI προσφέρει πολλά πλεονεκτήματα, έρχεται επίσης με ορισμένους περιορισμούς και προκλήσεις που πρέπει να γνωρίζουν οι χρήστες:

Περιορισμοί του PandasAI

Ακολουθούν ορισμένοι περιορισμοί που παρατήρησα:

  • Απαίτηση κλειδιού API: Για να χρησιμοποιήσετε το PandasAI, είναι απαραίτητο να έχετε ένα κλειδί API. Εάν δεν έχετε επαρκείς πιστώσεις στον λογαριασμό σας OpenAI, ενδέχεται να μην μπορείτε να χρησιμοποιήσετε την υπηρεσία. Ωστόσο, αξίζει να σημειωθεί ότι το OpenAI παρέχει πίστωση 5 $ για νέους χρήστες, καθιστώντας το προσβάσιμο για όσους είναι νέοι στην πλατφόρμα.
  • Χρόνος επεξεργασίας: Μερικές φορές, η υπηρεσία ενδέχεται να παρουσιάσει καθυστερήσεις στην παροχή αποτελεσμάτων, οι οποίες μπορεί να αποδοθούν σε υψηλή χρήση ή φόρτο διακομιστή. Οι χρήστες θα πρέπει να είναι προετοιμασμένοι για πιθανούς χρόνους αναμονής όταν ρωτούν την υπηρεσία.
  • Ερμηνεία των μηνυμάτων: Ενώ μπορείτε να κάνετε ερωτήσεις μέσω προτροπών, η ικανότητα του συστήματος να εξηγεί τις απαντήσεις ενδέχεται να μην έχει αναπτυχθεί πλήρως και η ποιότητα των επεξηγήσεων μπορεί να ποικίλλει. Αυτή η πτυχή του PandasAI μπορεί να βελτιωθεί στο μέλλον με περαιτέρω ανάπτυξη.
  • Ευαισθησία προτροπής: Οι χρήστες πρέπει να είναι προσεκτικοί όταν δημιουργούν προτροπές, καθώς ακόμη και μικρές αλλαγές μπορούν να οδηγήσουν σε διαφορετικά αποτελέσματα. Αυτή η ευαισθησία στη φράση και τη δομή άμεσης επικοινωνίας μπορεί να επηρεάσει τη συνέπεια των αποτελεσμάτων, ειδικά όταν εργάζεστε με γραφικά δεδομένα ή πιο σύνθετα ερωτήματα.
  • Περιορισμοί στις σύνθετες προτροπές: Το PandasAI ενδέχεται να μην χειρίζεται εξαιρετικά πολύπλοκα μηνύματα ή ερωτήματα τόσο αποτελεσματικά όσο πιο απλά. Οι χρήστες θα πρέπει να προσέχουν την πολυπλοκότητα των ερωτήσεών τους και να διασφαλίζουν ότι το εργαλείο είναι κατάλληλο για τις συγκεκριμένες ανάγκες τους.
  • Ασυνεπείς αλλαγές στο DataFrame: Οι χρήστες έχουν αναφέρει προβλήματα με την πραγματοποίηση αλλαγών στα DataFrames, όπως η πλήρωση μηδενικών τιμών ή η απόρριψη σειρών μηδενικών τιμών, ακόμη και όταν καθορίζουν “Inplace=True”. Αυτή η ασυνέπεια μπορεί να είναι απογοητευτική για τους χρήστες που προσπαθούν να τροποποιήσουν τα δεδομένα τους.
  • Μεταβλητά Αποτελέσματα: Κατά την επανεκκίνηση ενός πυρήνα ή την εκ νέου εκτέλεση μηνυμάτων, είναι δυνατό να λαμβάνετε διαφορετικά αποτελέσματα ή ερμηνείες δεδομένων από προηγούμενες εκτελέσεις. Αυτή η μεταβλητότητα μπορεί να είναι προκλητική για χρήστες που απαιτούν συνεπή και αναπαραγώγιμα αποτελέσματα. Δεν ισχύει για όλα τα μηνύματα.

Μπορείτε να κατεβάσετε το σύνολο δεδομένων εδώ.

Ο κωδικός είναι διαθέσιμος στο GitHub.

συμπέρασμα

Το PandasAI προσφέρει μια φιλική προς το χρήστη προσέγγιση στην ανάλυση δεδομένων, προσβάσιμη ακόμη και σε όσους δεν διαθέτουν εκτεταμένες δεξιότητες κωδικοποίησης.

Σε αυτό το άρθρο, έχω καλύψει τον τρόπο ρύθμισης και χρήσης του PandasAI για ανάλυση δεδομένων, συμπεριλαμβανομένης της δημιουργίας γραφικών παραστάσεων, του χειρισμού μηδενικών τιμών και της αξιοποίησης της λειτουργικότητας συνομιλίας με πράκτορες.

Εγγραφείτε στο ενημερωτικό μας δελτίο για περισσότερα ενημερωτικά άρθρα. Μπορεί να σας ενδιαφέρει να μάθετε για μοντέλα τεχνητής νοημοσύνης για τη δημιουργία γενετικής τεχνητής νοημοσύνης.

‘Ηταν αυτό το άρθρο χρήσιμο?

Ευχαριστούμε για την ανταπόκρισή σας!