(feat) Bedrock embedding - raise correct exception BadRequest

This commit is contained in:
ishaan-jaff 2024-01-30 08:14:35 -08:00
parent 6488de36c4
commit b9a117fa1d

View file

@ -702,6 +702,11 @@ def _embedding_func_single(
encoding=None, encoding=None,
logging_obj=None, logging_obj=None,
): ):
if type(input) != str:
raise BedrockError(
message="Bedrock Embedding API input must be type str | List[str]",
status_code=400,
)
# logic for parsing in - calling - parsing out model embedding calls # logic for parsing in - calling - parsing out model embedding calls
## FORMAT EMBEDDING INPUT ## ## FORMAT EMBEDDING INPUT ##
provider = model.split(".")[0] provider = model.split(".")[0]
@ -805,7 +810,7 @@ def embedding(
logging_obj=logging_obj, logging_obj=logging_obj,
) )
] ]
else: elif type(input) == list:
## Embedding Call ## Embedding Call
embeddings = [ embeddings = [
_embedding_func_single( _embedding_func_single(
@ -817,6 +822,12 @@ def embedding(
) )
for i in input for i in input
] # [TODO]: make these parallel calls ] # [TODO]: make these parallel calls
else:
# enters this branch if input = int, ex. input=2
raise BedrockError(
message="Bedrock Embedding API input must be type str | List[str]",
status_code=400,
)
## Populate OpenAI compliant dictionary ## Populate OpenAI compliant dictionary
embedding_response = [] embedding_response = []