Artificial Intelligence (AI)

Process Pandas DataFrames with a Large Language Model | by Dmitrii Eliuseev | Mar, 2024

Written by smirow

Nahtlose Integration von Python, Pandas und LLM

Dmitry Eliuseev
Auf dem Weg zur Datenwissenschaft
Pandas, Bild von Stone Wang, Unsplash

Heutzutage ist es einfach, verschiedene große Sprachmodelle (LLM) über ein Webinterface oder eine öffentliche API zu nutzen. Aber können wir das LLM nahtlos in den Datenanalyseprozess integrieren und das Modell direkt aus Python oder Jupyter Notebook verwenden? Das können wir tatsächlich, und in diesem Artikel zeige ich Ihnen drei verschiedene Möglichkeiten, dies zu tun. Alle im Artikel verwendeten Komponenten sind wie gewohnt kostenlos erhältlich.

Lass uns gehen!

1. Pandas KI

Die erste Python-Bibliothek, die ich testen werde, ist Pandas AI. Dadurch können wir Fragen zu unserem Pandas-Datenrahmen in natürlicher Sprache stellen. Als Spielzeugbeispiel habe ich einen kleinen Datenrahmen mit allen EU-Ländern und ihrer Bevölkerung erstellt:

import pandas as pd

df = pd.DataFrame({
"Country": ['Austria', 'Belgium', 'Bulgaria', 'Croatia', 'Cyprus', 'Czech Republic', 'Denmark', 'Estonia', 'Finland',
'France', 'Germany', 'Greece', 'Hungary', 'Iceland', 'Ireland', 'Italy', 'Latvia', 'Liechtenstein', 'Lithuania',
'Luxembourg', 'Malta', 'Monaco', 'Montenegro', 'Netherlands', 'Norway', 'Poland', 'Portugal', 'Romania', 'Serbia',
'Slovakia', 'Slovenia', 'Spain', 'Sweden', 'Switzerland'],
"Population": [8_205000, 10_403000, 7_148785, 4_491000, 1_102677, 10_476000, 5_484000, 1_291170, 5_244000,
64_768389, 82_369000, 11_000000, 9_930000, 308910, 4_622917, 58_145000, 2_217969, 35000, 3_565000,
497538, 403000, 32965, 666730, 16_645000, 4_907000, 38_500000, 10_676000, 21_959278, 7_344847,
5_455000, 2_007000, 46_505963, 9_045000, 7_581000]
})
df.to_csv('data.csv', index=False)

Bevor wir Pandas AI verwenden, erstellen wir die LLM-Instanz:

from pandasai.llm.local_llm import LocalLLM
from pandasai.llm import OpenAI

# Local LLM
pandas_llm = LocalLLM(api_base="http://localhost:8000/v1")
OR
# OpenAI
pandas_llm = OpenAI(api_token="...")

Hier haben wir zwei Möglichkeiten. Leser mit einem OpenAI-API-Schlüssel können die OpenAI-Klasse verwenden. Es wird bessere und schnellere Ergebnisse liefern, aber diese API ist offensichtlich nicht kostenlos. Eine andere Möglichkeit besteht darin, eine LocalLLM-Instanz zu verwenden, die den OpenAI-kompatiblen Server nutzt…

About the author

smirow

Leave a Comment