async def METHOD_NAME(self, payload: METHOD_NAME.RequestPayload) -> METHOD_NAME.ResponsePayload:
    payload = jsonable_encoder(payload, exclude_none=True)
    self.check_for_model_field(payload)
    if "top_p" in payload:
        raise HTTPException(
            status_code=422,
            detail="Cannot set both 'temperature' and 'top_p' parameters. "
            "Please use only the temperature parameter for your query.",
        )
    max_tokens = payload.get("max_tokens", MLFLOW_AI_GATEWAY_ANTHROPIC_DEFAULT_MAX_TOKENS)
    if max_tokens > MLFLOW_AI_GATEWAY_ANTHROPIC_MAXIMUM_MAX_TOKENS:
        raise HTTPException(
            status_code=422,
            detail="Invalid value for max_tokens: cannot exceed "
            f"{MLFLOW_AI_GATEWAY_ANTHROPIC_MAXIMUM_MAX_TOKENS}.",
        )
    payload["max_tokens"] = max_tokens
    if payload.get("stream", None) == "true":
        raise HTTPException(
            status_code=422,
            detail="Setting the 'stream' parameter to 'true' is not supported with the MLflow "
            "Gateway.",
        )
    candidate_count = payload.get("candidate_count", 1)
    if candidate_count != 1:
        raise HTTPException(
            status_code=422,
            detail="'candidate_count' must be '1' for the Anthropic provider. "
            f"Received value: '{candidate_count}'.",
        )
    payload = rename_payload_keys(
        payload, {"max_tokens": "max_tokens_to_sample", "stop": "stop_sequences"}
    )
    payload["prompt"] = f"\n\nHuman: {payload['prompt']}\n\nAssistant:"
    resp = await send_request(
        headers=self.headers,
        base_url=self.base_url,
        path="complete",
        payload={"model": self.config.model.name, **payload},
    )
    # Example response:
    # Documentation: https://docs.anthropic.com/claude/reference/complete_post
    # ```
    # {
    #     "completion": " Hello! My name is Claude."
    #     "stop_reason": "stop_sequence",
    #     "model": "claude-instant-1.1",
    #     "truncated": False,
    #     "stop": None,
    #     "log_id": "dee173f87ddf1357da639dee3c38d833",
    #     "exception": None,
    # }
    # ```
    stop_reason = "stop" if resp["stop_reason"] == "stop_sequence" else "length"
    return METHOD_NAME.ResponsePayload(
        **{
            "candidates": [
                {"text": resp["completion"], "metadata": {"finish_reason": stop_reason}}
            ],
            "metadata": {
                "model": resp["model"],
                "route_type": self.config.route_type,
            },
        }
    )