def METHOD_NAME(
    query,
    data_files,
    filters,
    top_k_reader,
    top_k_retriever,
    chunk_size,
    pooling_mode,
    separator,
    api_key,
    secret_key,
    history=None,
):
    if filters is not None:
        filters = [sy for sy in filters.split(";") if sy != ""]
    if data_files is not None and len(data_files) != 0:
        upload(data_files, chunk_size=chunk_size, separator=separator, filters=filters)
    if history is None:
        history = []
    result = ChatFile(
        query,
        top_k_reader=top_k_reader,
        top_k_retriever=top_k_retriever,
        pooling_mode=pooling_mode,
        api_key=api_key,
        secret_key=secret_key,
    )
    history.append(["user: {}".format(query), "assistant: {}".format(result["result"])])
    return " ", history, history