Login

Uma plataforma Python para conversar com bancos de dados e data lakes em linguagem natural, usando LLM e tecnologias RAG para tornar a análise de dados conversacional.

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

Descrição Detalhada do Projeto PandasAI

Visão Geral do Projeto

PandasAI é uma plataforma Python inovadora que permite aos utilizadores interagir com bases de dados e data lakes usando linguagem natural. Desenvolvido pela equipa Sinaptik-AI, este projeto visa tornar a análise de dados mais intuitiva e acessível, independentemente do nível técnico do utilizador.

Endereço GitHub: https://github.com/Sinaptik-AI/pandas-ai

Funcionalidades Principais

1. Consulta de Dados em Linguagem Natural

  • Suporta perguntas relacionadas a dados em linguagem natural.
  • Não é necessário escrever consultas SQL complexas ou código Python.
  • Adequado para utilizadores técnicos e não técnicos.

2. Suporte a Múltiplas Fontes de Dados

  • Bases de Dados: Bases de dados SQL.
  • Formatos de Ficheiro: Ficheiros CSV, Parquet.
  • DataFrames: Pandas DataFrame.
  • Outros: MongoDB, NoSQL, etc.

3. Integração de Tecnologias LLM e RAG

  • Utiliza Grandes Modelos de Linguagem (LLM) para compreender consultas em linguagem natural.
  • Adota a tecnologia de Geração Aumentada por Recuperação (RAG) para melhorar a precisão das consultas.
  • Usa BambooLLM por padrão, mas também suporta outros LLMs.

4. Visualização de Dados

  • Geração automática de vários gráficos.
  • Suporta múltiplos tipos de gráficos, como histogramas, gráficos de barras, etc.
  • Estilos e cores de gráficos personalizáveis.

Características Técnicas

Requisitos do Sistema

  • Python 3.8+ < 3.12
  • Suporta Jupyter notebooks e aplicações Streamlit.
  • Oferece arquitetura cliente-servidor.

Instalação

Instalação com pip:

pip install "pandasai>=3.0.0b2"

Instalação com poetry:

poetry add "pandasai>=3.0.0b2"

Exemplo de Uso Básico

Consulta de um Único DataFrame

import pandasai as pai

# Criar um DataFrame de exemplo
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]
})

# Definir a chave API
pai.api_key.set("your-pai-api-key")

# Realizar uma consulta em linguagem natural
df.chat('Which are the top 5 countries by sales?')

Consulta de Associação de Múltiplos 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)

Geração de Gráficos

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

Funcionalidades Avançadas

Integração com Plataformas de Dados

PandasAI oferece poderosas funcionalidades de integração com plataformas de dados, permitindo carregar e partilhar dados facilmente:

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

Ambiente Sandbox Docker

Para fornecer um ambiente de execução de código seguro, PandasAI suporta o sandbox Docker:

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

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

# Executar a consulta no sandbox
pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# Parar o sandbox
sandbox.stop()

Cenários de Uso

Público-Alvo

  1. Utilizadores Não Técnicos: Analisar dados sem aprender SQL ou Python.
  2. Analistas de Dados: Explorar e analisar dados rapidamente.
  3. Desenvolvedores: Integrar em aplicações existentes.
  4. Utilizadores Corporativos: Construir ferramentas internas de análise de dados.

Aplicações Típicas

  • Análise de Business Intelligence
  • Exploração e visualização de dados
  • Geração de relatórios
  • Educação e formação
  • Desenvolvimento de protótipos

Arquitetura Técnica

Componentes Principais

  • Processamento de Linguagem Natural: Compreender a intenção da consulta do utilizador.
  • Geração de Código: Converter linguagem natural em código executável.
  • Execução Segura: Executar código de forma segura num ambiente sandbox.
  • Apresentação de Resultados: Formatar e exibir os resultados da consulta.

Extensibilidade

  • Suporta múltiplos backends LLM.
  • Conectores de dados personalizáveis.
  • Arquitetura plug-in para fácil extensão.

Conclusão

PandasAI representa uma inovação significativa no campo da análise de dados, reduzindo drasticamente a barreira técnica para a análise de dados através do processamento de linguagem natural e da tecnologia LLM. Não é apenas adequado para utilizadores individuais explorarem dados, mas também para empresas construírem plataformas inteligentes de análise de dados. Com o desenvolvimento contínuo da tecnologia de IA, ferramentas como esta desempenharão um papel cada vez mais importante na tomada de decisões orientada por dados.

Star History Chart