Les dejo por aquà una estructura que estoy probando para un archivo de excel en la que previamente depuramos cierta data que queremos que exista en una base vectorial, me encantarÃa recibir feedback:
from langchain.schema import Document
from typing import List
import pandas as pd
class TransformerExcelLoader:
def __init__(self, file_path: str):
self.file_path = file_path
def load(self) -> List[Document]:
data = pd.read_excel(self.file_path)
documents = []
# Reemplazar valores NaN con cadenas vacÃas
data.fillna("", inplace=True)
for _, fila in data.iterrows():
if fila["FUENTE"] == "":
page_content = "RESPUESTA " + fila["RESPUESTA"]
else:
# Usar str.cat() para concatenar cadenas eficientemente
page_content = "RESPUESTA: " + fila["RESPUESTA"] + " FUENTE: " + fila["FUENTE"]
metadata = {
'empresa': fila["EMPRESA"],
'area': fila["AREA"],
'topico': fila["TOPICO"],
'pregunta': fila["PREGUNTA"],
'contexto': fila["CONTEXTO"]
}
documents.append(Document(page_content=page_content, metadata=metadata))
return documents
Posdata: Se que hice algo de hardcoded colocando los nombres de las variables pero es una estrcutra que no esperamos cambiar en el corto plazo…
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?