def METHOD_NAME(
    cls, parser: ParlaiParser, partial_opt: Optional[Opt] = None
) -> ParlaiParser:
    group = parser.add_argument_group('Chat Completion Arguments')
    group.add_argument(
        '--openai-api-key',
        type=str,
        required=True,
        help='Add your OpenAI api key',
    )
    group.add_argument(
        '--model-name',
        type=str,
        required=True,
        help="""Choose model name like GPT-4 or GPT 3.5""",
    )
    group.add_argument(
        '--init-prompt',
        type=str,
        default='',
        help="""Initial prompt that starts the conversation. Turns of conversation are appended to subsequent OpenAI
        completion queries.""",
    )
    group.add_argument(
        '--role',
        type=str,
        default='assistant',
        choices=['user', 'system', 'assistant'],
        help='Role of the author of message',
    )
    group.add_argument(
        '--counterparty-role',
        type=str,
        default='assistant',
        choices=['user', 'system', 'assistant'],
        help='Role of the other speaker',
    )
    group.add_argument(
        '--name',
        type=str,
        help='Name of the author of the message. Alphanumeric (with underscores) strings up to 64 chars are allowed',
    )
    group.add_argument(
        '--counterparty-name',
        type=str,
        help='Name of the other speaker. Alphanumeric (with underscores) strings up to 64 chars are allowed',
    )
    group.add_argument(
        '--max-tokens',
        type=int,
        required=True,
        help='The max number of tokens generated as a single conversation turn',
    )
    group.add_argument(
        '--temperature',
        type=float,
        default=1.0,
        help="""Temperature ranges between 0-2 such that higher temperature will make outputs more random while lower
        values make the output more deterministic""",
    )
    group.add_argument(
        '--top-p',
        type=float,
        default=1.0,
        help='Determines nucleus sampling rate',
    )
    group.add_argument(
        '--stop-sequence',
        type=str,
        help='Stop sequence is a string that will stop further generation of tokens',
    )
    group.add_argument(
        '--presence-penalty',
        type=float,
        default=0.0,
        help="""Presence penalty ranges between -2.0 to 2.0 such that more positive values will reduce chance of generating
        tokens that already appeared in text""",
    )
    group.add_argument(
        '--frequency-penalty',
        type=float,
        default=0.0,
        help="""Frequency penalty ranges between -2.0 to 2.0 such that more positive values will reduce chance of
        generating tokens that appear frequently""",
    )
    return parser