def _make_google_search_retrieval()

in google/generativeai/types/content_types.py [0:0]


def _make_google_search_retrieval(gsr: GoogleSearchRetrievalType):
    if isinstance(gsr, protos.GoogleSearchRetrieval):
        return gsr
    elif isinstance(gsr, Mapping):
        drc = gsr.get("dynamic_retrieval_config", None)
        if drc is not None and isinstance(drc, Mapping):
            mode = drc.get("mode", None)
            if mode is not None:
                mode = to_mode(mode)
                gsr = gsr.copy()
                gsr["dynamic_retrieval_config"]["mode"] = mode
        return protos.GoogleSearchRetrieval(gsr)
    else:
        raise TypeError(
            "Invalid input type. Expected an instance of `genai.GoogleSearchRetrieval`.\n"
            f"However, received an object of type: {type(gsr)}.\n"
            f"Object Value: {gsr}"
        )