



import datasets

from .evaluate import evaluate


__SCREAMING_SNAKE_CASE           =  """\
@inproceedings{Rajpurkar2016SQuAD10,
  title={SQuAD: 100, 000+ Questions for Machine Comprehension of Text},
  author={Pranav Rajpurkar and Jian Zhang and Konstantin Lopyrev and Percy Liang},
  booktitle={EMNLP},
  year={2016}
}
"""

__SCREAMING_SNAKE_CASE           =  """
This metric wrap the official scoring script for version 1 of the Stanford Question Answering Dataset (SQuAD).

Stanford Question Answering Dataset (SQuAD) is a reading comprehension dataset, consisting of questions posed by
crowdworkers on a set of Wikipedia articles, where the answer to every question is a segment of text, or span,
from the corresponding reading passage, or the question might be unanswerable.
"""

__SCREAMING_SNAKE_CASE           =  """
Computes SQuAD scores (F1 and EM).
Args:
    predictions: List of question-answers dictionaries with the following key-values:
        - 'id': id of the question-answer pair as given in the references (see below)
        - 'prediction_text': the text of the answer
    references: List of question-answers dictionaries with the following key-values:
        - 'id': id of the question-answer pair (see above),
        - 'answers': a Dict in the SQuAD dataset format
            {
                'text': list of possible texts for the answer, as a list of strings
                'answer_start': list of start positions for the answer, as a list of ints
            }
            Note that answer_start values are not taken into account to compute the metric.
Returns:
    'exact_match': Exact match (the normalized answer exactly match the gold answer)
    'f1': The F-score of predicted tokens versus the gold answer
Examples:

    >>> predictions = [{'prediction_text': '1976', 'id': '56e10a3be3433e1400422b22'}]
    >>> references = [{'answers': {'answer_start': [97], 'text': ['1976']}, 'id': '56e10a3be3433e1400422b22'}]
    >>> squad_metric = datasets.load_metric(\"squad\")
    >>> results = squad_metric.compute(predictions=predictions, references=references)
    >>> print(results)
    {'exact_match': 100.0, 'f1': 100.0}
"""

@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION						,_KWARGS_DESCRIPTION						)
class 	lowerCamelCase_    ( datasets.Metric						):






						'''simple docstring'''







						def 			SCREAMING_SNAKE_CASE__		(	self      :			Optional[int] )      ->				Any:
									return datasets.MetricInfo(
									    description=_DESCRIPTION	,	citation=_CITATION	,	inputs_description=_KWARGS_DESCRIPTION	,	features=datasets.Features(
									        {
									            "predictions": {"id": datasets.Value("string" ), "prediction_text": datasets.Value("string" )},
									            "references": {
									                "id": datasets.Value("string" ),
									                "answers": datasets.features.Sequence(
									                    {
									                        "text": datasets.Value("string" ),
									                        "answer_start": datasets.Value("int32" ),
									                    } ),
									            },
									        } )	,	codebase_urls=["https://rajpurkar.github.io/SQuAD-explorer/"]	,	reference_urls=["https://rajpurkar.github.io/SQuAD-explorer/"]	,	)







						def 			SCREAMING_SNAKE_CASE__		(	self      :			Dict	,	__lowerCamelCase      :			Optional[int]	,	__lowerCamelCase      :			Optional[int] )      ->				Dict:
									A							:					Dict              =						{prediction["id"]: prediction["prediction_text"] for prediction in predictions}
									A							:					str              =						[
									    {
									        "paragraphs": [
									            {
									                "qas": [
									                    {
									                        "answers": [{"text": answer_text} for answer_text in ref["answers"]["text"]],
									                        "id": ref["id"],
									                    }
									                    for ref in references
									                ]
									            }
									        ]
									    }
									]
									A							:					List[Any]              =						evaluate(dataset=__lowerCamelCase	,	predictions=__lowerCamelCase )
									return score




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


__SCREAMING_SNAKE_CASE           =  {
    """configuration_altclip""": [
        """ALTCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """AltCLIPConfig""",
        """AltCLIPTextConfig""",
        """AltCLIPVisionConfig""",
    ],
    """processing_altclip""": ["""AltCLIPProcessor"""],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__SCREAMING_SNAKE_CASE           =  [
							    """ALTCLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """AltCLIPPreTrainedModel""",
							    """AltCLIPModel""",
							    """AltCLIPTextModel""",
							    """AltCLIPVisionModel""",
							]


if TYPE_CHECKING:
							from .configuration_altclip import (
							    ALTCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
							    AltCLIPConfig,
							    AltCLIPTextConfig,
							    AltCLIPVisionConfig,
							)
							from .processing_altclip import AltCLIPProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_altclip import (
														    ALTCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
														    AltCLIPModel,
														    AltCLIPPreTrainedModel,
														    AltCLIPTextModel,
														    AltCLIPVisionModel,
														)


else:
							import sys

							__SCREAMING_SNAKE_CASE           =  _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)