Login

Une plateforme Python pour dialoguer avec des bases de données et des data lakes en langage naturel, utilisant les technologies LLM et RAG pour rendre l'analyse de données conversationnelle.

NOASSERTIONPython 20.9ksinaptik-aipandas-ai Last Updated: 2025-07-13

Présentation détaillée du projet PandasAI

Aperçu du projet

PandasAI est une plateforme Python innovante qui permet aux utilisateurs de dialoguer avec des bases de données et des lacs de données en langage naturel. Développé par l'équipe Sinaptik-AI, ce projet vise à rendre l'analyse de données plus intuitive et accessible, quel que soit le niveau technique de l'utilisateur.

Adresse GitHub: https://github.com/Sinaptik-AI/pandas-ai

Fonctionnalités clés

1. Requête de données en langage naturel

  • Permet de poser des questions sur les données en langage naturel
  • Élimine le besoin d'écrire des requêtes SQL complexes ou du code Python
  • Convient aux utilisateurs non techniques et techniques

2. Prise en charge de multiples sources de données

  • Bases de données: Bases de données SQL
  • Formats de fichiers: Fichiers CSV, Parquet
  • DataFrames: Pandas DataFrame
  • Autres: MongoDB, NoSQL, etc.

3. Intégration des technologies LLM et RAG

  • Utilise des grands modèles de langage (LLM) pour comprendre les requêtes en langage naturel
  • Adopte la technique de génération augmentée par récupération (RAG) pour améliorer la précision des requêtes
  • Utilise BambooLLM par défaut, mais prend également en charge d'autres LLM

4. Visualisation des données

  • Génère automatiquement divers types de graphiques
  • Prend en charge plusieurs types de graphiques, tels que les histogrammes, les diagrammes à barres, etc.
  • Permet de personnaliser les styles et les couleurs des graphiques

Caractéristiques techniques

Configuration requise

  • Python 3.8+ < 3.12
  • Compatible avec les notebooks Jupyter et les applications Streamlit
  • Offre une architecture client-serveur

Méthodes d'installation

Installation avec pip:

pip install "pandasai>=3.0.0b2"

Installation avec poetry:

poetry add "pandasai>=3.0.0b2"

Exemples d'utilisation de base

Requête sur un seul DataFrame

import pandasai as pai

# Création d'un exemple de DataFrame
df = pai.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "revenue": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000]
})

# Définition de la clé API
pai.api_key.set("your-pai-api-key")

# Exécution d'une requête en langage naturel
df.chat('Which are the top 5 countries by sales?')

Requête de jointure sur plusieurs DataFrames

import pandasai as pai

employees_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'],
    'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance']
}

salaries_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Salary': [5000, 6000, 4500, 7000, 5500]
}

employees_df = pai.DataFrame(employees_data)
salaries_df = pai.DataFrame(salaries_data)

pai.api_key.set("your-pai-api-key")
pai.chat("Who gets paid the most?", employees_df, salaries_df)

Génération de graphique

df.chat(
    "Plot the histogram of countries showing for each one the gd. Use different colors for each bar",
)

Fonctionnalités avancées

Intégration de plateforme de données

PandasAI offre de puissantes fonctionnalités d'intégration de plateforme de données, permettant de télécharger et de partager facilement des données :

import pandasai as pai

pai.api_key.set("your-pai-api-key")
file = pai.read_csv("./filepath.csv")
dataset = pai.create(path="your-organization/dataset-name",
                    df=file,
                    name="dataset-name",
                    description="dataset-description")
dataset.push()

Environnement de bac à sable Docker

Pour fournir un environnement d'exécution de code sécurisé, PandasAI prend en charge le bac à sable Docker :

pip install "pandasai-docker"
import pandasai as pai
from pandasai_docker import DockerSandbox

# Initialisation du bac à sable
sandbox = DockerSandbox()
sandbox.start()

# Exécution de la requête dans le bac à sable
pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# Arrêt du bac à sable
sandbox.stop()

Cas d'utilisation

Public cible

  1. Utilisateurs non techniques: N'ont pas besoin d'apprendre SQL ou Python pour analyser les données.
  2. Analystes de données: Pour explorer et analyser rapidement les données.
  3. Développeurs: Pour l'intégration dans des applications existantes.
  4. Utilisateurs en entreprise: Pour la création d'outils d'analyse de données internes.

Applications typiques

  • Analyse de veille stratégique (Business Intelligence)
  • Exploration et visualisation de données
  • Génération de rapports
  • Éducation et formation
  • Développement de prototypes

Architecture technique

Composants clés

  • Traitement du langage naturel: Compréhension de l'intention de la requête utilisateur.
  • Génération de code: Conversion du langage naturel en code exécutable.
  • Exécution sécurisée: Exécution sécurisée du code dans un environnement de bac à sable.
  • Présentation des résultats: Formatage et affichage des résultats de la requête.

Extensibilité

  • Prise en charge de plusieurs backends LLM
  • Connecteurs de données personnalisables
  • Architecture modulaire pour une extension facile

Conclusion

PandasAI représente une innovation majeure dans le domaine de l'analyse de données, en abaissant considérablement la barrière technique à l'analyse de données grâce au traitement du langage naturel et aux technologies LLM. Il convient non seulement aux utilisateurs individuels pour l'exploration de données, mais aussi aux entreprises pour la construction de plateformes d'analyse de données intelligentes. Avec l'évolution continue de la technologie de l'IA, de tels outils joueront un rôle de plus en plus crucial dans la prise de décision basée sur les données.

Star History Chart