| # Note that llama and cohere have different definitions for rotate_half | |
| from transformers.models.cohere.modeling_cohere import rotate_half # noqa | |
| from transformers.models.llama.modeling_llama import LlamaAttention | |
| # When following LlamaAttention dependencies, we will grab the function `rotate_half` defined | |
| # in `modeling_llama.py`. But here we imported it explicitly from Cohere, so it should use Cohere's | |
| # definition instead | |
| class SwitchFunctionAttention(LlamaAttention): | |
| pass | |