root
add custom pipeline
85bfdae
raw
history blame
1.31 kB
from typing import Dict, Any
from transformers import pipeline
import holidays
import PIL.Image
import io
class PreTrainedPipeline():
def __init__(self, model_path="PrimWong/layout_qa_hparam_tuning"):
# Initialize the document-question-answering pipeline with the specified model
self.pipeline = pipeline("document-question-answering", model=model_path)
self.holidays = holidays.US()
def __call__(self, data: Dict[str, Any]) -> str:
"""
Process input data for document question answering with optional holiday checking.
Args:
data (Dict[str, Any]): Input data containing a 'text' field possibly along with 'image',
and optionally a 'date' field.
Returns:
str: The answer or processed information based on the text, or a holiday message if applicable.
"""
text = data.get("inputs")
date = data.get("date")
# Check if the date is a holiday
if date and date in self.holidays:
return "Today is a holiday!"
# Run prediction using only the text input
prediction = self.pipeline(question=text, image="What information do you need?")
return prediction["answer"] # Adjust based on actual output format of the model