in src/sagemaker_huggingface_inference_toolkit/decoder_encoder.py [0:0]
def decode_csv(string_like): # type: (str) -> np.array
"""Convert a CSV object to a dictonary with list attributes.
Args:
string_like (str): CSV string.
Returns:
(dict): dictonatry for input
"""
stream = StringIO(string_like)
# detects if the incoming csv has headers
if not any(header in string_like.splitlines()[0].lower() for header in ["question", "context", "inputs"]):
raise PredictionException(
"You need to provide the correct CSV with Header columns to use it with the inference toolkit default handler.",
400,
)
# reads csv as io
request_list = list(csv.DictReader(stream))
if "inputs" in request_list[0].keys():
return {"inputs": [entry["inputs"] for entry in request_list]}
else:
return {"inputs": request_list}