Uso Básico¶
Exemplos práticos para casos de uso comuns.
O dataframeit() grava os resultados e o status no próprio DataFrame pandas que recebe; ver Entrada modificada no lugar. Por isso os exemplos desta página passam df.copy(): sem a cópia, cada exemplo encontraria o df já processado pelo anterior.
Análise de Sentimento¶
from pydantic import BaseModel, Field
from typing import Literal
import pandas as pd
from dataframeit import dataframeit
class Sentimento(BaseModel):
sentimento: Literal['positivo', 'negativo', 'neutro']
confianca: Literal['alta', 'media', 'baixa']
df = pd.DataFrame({
'texto': [
'Adorei o produto!',
'Péssimo, não recomendo.',
'Normal, nada demais.'
]
})
resultado = dataframeit(df.copy(), Sentimento, "Analise o sentimento do texto.")
Classificação de Categorias¶
from pydantic import BaseModel, Field
from typing import Literal
class Categoria(BaseModel):
categoria: Literal['tecnologia', 'saude', 'financas', 'educacao', 'outro']
subcategoria: str = Field(description="Subcategoria mais específica")
resultado = dataframeit(
df.copy(),
Categoria,
"Classifique o texto na categoria mais apropriada."
)
Extração de Entidades¶
from pydantic import BaseModel, Field
from typing import List, Optional
class Entidades(BaseModel):
pessoas: List[str] = Field(description="Nomes de pessoas mencionadas")
organizacoes: List[str] = Field(description="Nomes de empresas/organizações")
locais: List[str] = Field(description="Locais mencionados")
datas: List[str] = Field(description="Datas mencionadas")
PROMPT = """
Extraia todas as entidades nomeadas do texto.
Se não houver entidades de algum tipo, retorne lista vazia.
"""
resultado = dataframeit(df.copy(), Entidades, PROMPT)
Resumo de Texto¶
from pydantic import BaseModel, Field
class Resumo(BaseModel):
resumo: str = Field(description="Resumo em até 50 palavras")
pontos_chave: list[str] = Field(description="Lista de 3-5 pontos principais")
tema_principal: str = Field(description="Tema central em uma palavra")
PROMPT = """
Analise o texto e extraia um resumo conciso.
Identifique os pontos principais e o tema central.
"""
resultado = dataframeit(df.copy(), Resumo, PROMPT)
Usando Diferentes Tipos de Entrada¶
Com Lista¶
textos = ['Texto 1', 'Texto 2', 'Texto 3']
resultado = dataframeit(textos, Sentimento, PROMPT)
# Retorna DataFrame com índice numérico
Com Dicionário¶
documentos = {
'doc_001': 'Conteúdo do documento 1',
'doc_002': 'Conteúdo do documento 2',
}
resultado = dataframeit(documentos, Sentimento, PROMPT)
# Retorna DataFrame com chaves como índice
Com Series¶
series = pd.Series(['Texto A', 'Texto B'], index=['id_1', 'id_2'])
resultado = dataframeit(series, Sentimento, PROMPT)
# Preserva o índice original
Usando Diferentes Providers¶
# OpenAI com gpt-6-luna (padrão)
resultado = dataframeit(df.copy(), Sentimento, PROMPT)
# Google Gemini
resultado = dataframeit(
df.copy(), Sentimento, PROMPT,
provider='google_genai',
model='gemini-3.8-flash'
)
# Anthropic Claude
resultado = dataframeit(
df.copy(), Sentimento, PROMPT,
provider='anthropic',
model='claude-sonnet-5'
)
Próximos Passos¶
- Saída Estruturada: Modelos Pydantic avançados
- Tratamento de Erros: Retry e fallbacks
- Performance: Paralelismo e rate limiting