Login

Una plataforma Python para interactuar con bases de datos y data lakes utilizando lenguaje natural, empleando tecnologías LLM y RAG para hacer que el análisis de datos sea conversacional.

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

Descripción Detallada del Proyecto PandasAI

Visión General del Proyecto

PandasAI es una innovadora plataforma Python que permite a los usuarios interactuar con bases de datos y data lakes utilizando lenguaje natural. Desarrollado por el equipo de Sinaptik-AI, este proyecto tiene como objetivo hacer que el análisis de datos sea más intuitivo y fácil de usar, independientemente del nivel técnico del usuario.

Dirección de GitHub: https://github.com/Sinaptik-AI/pandas-ai

Características Principales

1. Consulta de Datos en Lenguaje Natural

  • Permite hacer preguntas relacionadas con los datos en lenguaje natural
  • No requiere escribir consultas SQL complejas ni código Python
  • Adecuado tanto para usuarios no técnicos como técnicos

2. Soporte para Múltiples Fuentes de Datos

  • Bases de Datos: Bases de datos SQL
  • Formatos de Archivo: Archivos CSV, Parquet
  • DataFrames: Pandas DataFrame
  • Otros: MongoDB, NoSQL, etc.

3. Integración de Tecnologías LLM y RAG

  • Utiliza Grandes Modelos de Lenguaje (LLM) para comprender las consultas en lenguaje natural
  • Emplea la técnica de Generación Aumentada por Recuperación (RAG) para mejorar la precisión de las consultas
  • Utiliza BambooLLM por defecto, y también soporta otros LLM

4. Visualización de Datos

  • Genera automáticamente varios tipos de gráficos
  • Soporta múltiples tipos de gráficos como histogramas, gráficos de barras, etc.
  • Permite personalizar estilos y colores de los gráficos

Características Técnicas

Requisitos del Sistema

  • Python 3.8+ < 3.12
  • Soporta Jupyter notebooks y aplicaciones Streamlit
  • Ofrece una arquitectura cliente-servidor

Métodos de Instalación

Instalación con pip:

pip install "pandasai>=3.0.0b2"

Instalación con poetry:

poetry add "pandasai>=3.0.0b2"

Ejemplos de Uso Básico

Consulta de un Solo DataFrame

import pandasai as pai

# Crear un DataFrame de ejemplo
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]
})

# Configurar la clave API
pai.api_key.set("your-pai-api-key")

# Realizar una consulta en lenguaje natural
df.chat('Which are the top 5 countries by sales?')

Consulta de Múltiples DataFrames Relacionados

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)

Generación de Gráficos

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

Funcionalidades Avanzadas

Integración con Plataformas de Datos

PandasAI ofrece potentes capacidades de integración con plataformas de datos, permitiendo cargar y compartir datos fácilmente:

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()

Entorno Sandbox de Docker

Para proporcionar un entorno seguro de ejecución de código, PandasAI soporta el sandbox de Docker:

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

# Inicializar el sandbox
sandbox = DockerSandbox()
sandbox.start()

# Ejecutar la consulta en el sandbox
pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# Detener el sandbox
sandbox.stop()

Casos de Uso

Audiencia Objetivo

  1. Usuarios no técnicos: Pueden analizar datos sin necesidad de aprender SQL o Python
  2. Analistas de datos: Para explorar y analizar datos rápidamente
  3. Desarrolladores: Para integrar en aplicaciones existentes
  4. Usuarios empresariales: Para construir herramientas internas de análisis de datos

Aplicaciones Típicas

  • Análisis de inteligencia de negocios
  • Exploración y visualización de datos
  • Generación de informes
  • Educación y formación
  • Desarrollo de prototipos

Arquitectura Técnica

Componentes Principales

  • Procesamiento de Lenguaje Natural: Para comprender la intención de la consulta del usuario
  • Generación de Código: Para convertir el lenguaje natural en código ejecutable
  • Ejecución Segura: Para ejecutar código de forma segura en un entorno sandbox
  • Presentación de Resultados: Para formatear y mostrar los resultados de la consulta

Escalabilidad

  • Soporta múltiples backends de LLM
  • Conectores de datos personalizables
  • Arquitectura de plugins para facilitar la extensión

Resumen

PandasAI representa una innovación significativa en el campo del análisis de datos, reduciendo drásticamente la barrera técnica para el análisis de datos mediante el procesamiento de lenguaje natural y la tecnología LLM. No solo es adecuado para usuarios individuales que exploran datos, sino también para empresas que buscan construir plataformas inteligentes de análisis de datos. Con el continuo avance de la tecnología de IA, herramientas como esta desempeñarán un papel cada vez más importante en la toma de decisiones basada en datos.

Star History Chart