Ejemplo n.º 1
0
 def test_invalid_question(self):
     query = "How many stars does the transformers repository have?"
     table = "Invalid table"
     inputs = {"query": query, "table": table}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "table-question-answering")
Ejemplo n.º 2
0
 def test_multi_label_wrong_type(self):
     params = {"candidate_labels": "happy", "multi_label": "wrong type"}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "zero-shot-classification")
Ejemplo n.º 3
0
 def test_top_k_wrong_type(self):
     params = {"top_k": "wrong type"}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "fill-mask")
Ejemplo n.º 4
0
 def test_invalid_params(self, param_name, param_value):
     params = {param_name: param_value}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, tag)
Ejemplo n.º 5
0
 def test_empty_list(self):
     params = {"candidate_labels": []}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "zero-shot-classification")
Ejemplo n.º 6
0
 def test_no_query(self):
     table = {
         "Repository": ["Transformers", "Datasets", "Tokenizers"],
         "Stars": ["36542", "4512", "3934"],
     }
     inputs = {"table": table}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "table-question-answering")
Ejemplo n.º 7
0
    def test_invalid_data_lengths(self):
        data = {
            "Repository": ["Transformers", "Datasets", "Tokenizers"],
            "Stars": ["36542", "4512"],
        }

        inputs = {"data": data}
        bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
        with self.assertRaises(ValidationError):
            normalize_payload_nlp(bpayload, "structured-data-classification")
Ejemplo n.º 8
0
    def test_invalid_table_input(self):
        query = "How many stars does the transformers repository have?"
        table = {
            "Repository": ["Transformers", "Datasets", "Tokenizers"],
            "Stars": ["36542", "4512"],
        }

        inputs = {"query": query, "table": table}
        bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
        with self.assertRaises(ValidationError):
            normalize_payload_nlp(bpayload, "table-question-answering")
Ejemplo n.º 9
0
 def test_valid_list_of_strings(self):
     inputs = ["hugging", "face"]
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "feature-extraction")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, inputs)
Ejemplo n.º 10
0
 def test_valid_input(self):
     inputs = {"question": "question", "context": "context"}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "question-answering")
     self.assertEqual(processed_params, {})
     self.assertEqual(inputs, normalized_inputs)
Ejemplo n.º 11
0
 def test_accept_raw_string_for_backward_compatibility(self):
     query = "funny cats"
     bpayload = query.encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "translation")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, query)
Ejemplo n.º 12
0
 def test_valid_input(self):
     source_sentence = "why is the sky blue?"
     sentences = ["this is", "a list of sentences"]
     inputs = {"source_sentence": source_sentence, "sentences": sentences}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "sentence-similarity")
     self.assertEqual(processed_params, {})
     self.assertEqual(inputs, normalized_inputs)
Ejemplo n.º 13
0
 def test_invalid_min_length_larger_than_max_length(self):
     params = {"min_length": 20, "max_length": 10}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalized_inputs, processed_params = normalize_payload_nlp(
             bpayload, "summarization")
Ejemplo n.º 14
0
 def test_valid_max_length(self):
     params = {"max_length": 10}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "summarization")
     self.assertEqual(processed_params, params)
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 15
0
 def test_valid_params(self, param_name, param_value):
     params = {param_name: param_value}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, tag)
     self.assertEqual(processed_params, params)
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 16
0
 def test_top_k(self):
     params = {"top_k": 10}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "fill-mask")
     self.assertEqual(processed_params, params)
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 17
0
 def test_multi_label(self):
     params = {"candidate_labels": "happy", "multi_label": True}
     bpayload = json.dumps({
         "inputs": "whatever",
         "parameters": params
     }).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "zero-shot-classification")
     self.assertEqual(processed_params, params)
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 18
0
    def test_valid_input(self):
        data = {
            "Repository": ["Transformers", "Datasets", "Tokenizers"],
            "Stars": ["36542", "4512", "3934"],
        }

        inputs = {"data": data}
        bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
        normalized_inputs, processed_params = normalize_payload_nlp(
            bpayload, "structured-data-classification")
        self.assertEqual(processed_params, {})
        self.assertEqual(inputs, normalized_inputs)
Ejemplo n.º 19
0
    def test_valid_input(self):
        query = "How many stars does the transformers repository have?"
        table = {
            "Repository": ["Transformers", "Datasets", "Tokenizers"],
            "Stars": ["36542", "4512", "3934"],
        }

        inputs = {"query": query, "table": table}
        bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
        normalized_inputs, processed_params = normalize_payload_nlp(
            bpayload, "table-question-answering")
        self.assertEqual(processed_params, {})
        self.assertEqual(inputs, normalized_inputs)
Ejemplo n.º 20
0
    def test_valid_inputs(self):
        past_user_inputs = ["Which movie is the best ?"]
        generated_responses = ["It's Die Hard for sure."]
        text = "Can you explain why ?"

        inputs = {
            "past_user_inputs": past_user_inputs,
            "generated_responses": generated_responses,
            "text": text,
        }

        bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
        normalized_inputs, processed_params = normalize_payload_nlp(
            bpayload, "conversational")
        self.assertEqual(processed_params, {})
        self.assertEqual(inputs, normalized_inputs)
Ejemplo n.º 21
0
 def test_invalid_list_with_other_type(self):
     inputs = ["hugging", [1, 2, 3]]
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValueError):
         normalize_payload_nlp(bpayload, "feature-extraction")
Ejemplo n.º 22
0
 def test_malformed_input(self):
     bpayload = b"\xc3\x28"
     with self.assertRaises(UnicodeDecodeError):
         normalize_payload_nlp(bpayload, "question-answering")
Ejemplo n.º 23
0
 def test_missing_input(self):
     source_sentence = "why is the sky blue?"
     inputs = {"source_sentence": source_sentence}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "sentence-similarity")
Ejemplo n.º 24
0
 def test_text_to_image_accept_string_no_params(self):
     bpayload = json.dumps({"inputs": "whatever"}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "text-to-image")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 25
0
 def test_token_classification_accept_string_no_params(self):
     bpayload = json.dumps({"inputs": "whatever"}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "token-classification")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 26
0
 def test_fill_mask_accept_string_no_params(self):
     bpayload = json.dumps({"inputs": "whatever"}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "fill-mask")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 27
0
 def test_invalid_empty_list(self):
     inputs = []
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValueError):
         normalize_payload_nlp(bpayload, "feature-extraction")
Ejemplo n.º 28
0
 def test_valid_string(self):
     bpayload = json.dumps({"inputs": "whatever"}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, "feature-extraction")
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, "whatever")
Ejemplo n.º 29
0
 def test_missing_input(self):
     inputs = {"question": "question"}
     bpayload = json.dumps({"inputs": inputs}).encode("utf-8")
     with self.assertRaises(ValidationError):
         normalize_payload_nlp(bpayload, "question-answering")
Ejemplo n.º 30
0
 def test_no_params(self):
     bpayload = json.dumps({"inputs": "whatever"}).encode("utf-8")
     normalized_inputs, processed_params = normalize_payload_nlp(
         bpayload, tag)
     self.assertEqual(processed_params, {})
     self.assertEqual(normalized_inputs, "whatever")