__init__.py 817 Bytes
Newer Older
1
from text_generation.models.model import Model
2
from text_generation.models.causal_lm import CausalLM
3
4
from text_generation.models.bloom import BLOOMSharded
from text_generation.models.seq2seq_lm import Seq2SeqLM
5

6
__all__ = ["Model", "BLOOMSharded", "CausalLM", "Seq2SeqLM"]
7
8
9
10
11


def get_model(model_name: str, sharded: bool, quantize: bool) -> Model:
    if model_name.startswith("bigscience/bloom"):
        if sharded:
OlivierDehaene's avatar
OlivierDehaene committed
12
            return BLOOMSharded(model_name, quantize=quantize)
13
        else:
OlivierDehaene's avatar
OlivierDehaene committed
14
            return CausalLM(model_name, quantize=quantize)
15
    else:
16
17
        if sharded:
            raise ValueError("sharded is not supported for AutoModel")
18
        try:
OlivierDehaene's avatar
OlivierDehaene committed
19
            return CausalLM(model_name, quantize=quantize)
20
        except Exception as e:
OlivierDehaene's avatar
OlivierDehaene committed
21
            return Seq2SeqLM(model_name, quantize=quantize)