123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package llm
- import "fmt"
- type filetype uint32
- const (
- filetypeF32 filetype = iota
- filetypeF16
- filetypeQ4_0
- filetypeQ4_1
- filetypeQ4_1_F16
- filetypeQ8_0 filetype = iota + 2
- filetypeQ5_0
- filetypeQ5_1
- filetypeQ2_K
- filetypeQ3_K_S
- filetypeQ3_K_M
- filetypeQ3_K_L
- filetypeQ4_K_S
- filetypeQ4_K_M
- filetypeQ5_K_S
- filetypeQ5_K_M
- filetypeQ6_K
- filetypeIQ2_XXS
- filetypeIQ2_XS
- filetypeQ2_K_S
- filetypeQ3_K_XS
- filetypeIQ3_XXS
- filetypeUnknown
- )
- func ParseFileType(s string) (filetype, error) {
- switch s {
- case "F32":
- return filetypeF32, nil
- case "F16":
- return filetypeF16, nil
- case "Q4_0":
- return filetypeQ4_0, nil
- case "Q4_1":
- return filetypeQ4_1, nil
- case "Q4_1_F16":
- return filetypeQ4_1_F16, nil
- case "Q8_0":
- return filetypeQ8_0, nil
- case "Q5_0":
- return filetypeQ5_0, nil
- case "Q5_1":
- return filetypeQ5_1, nil
- case "Q2_K":
- return filetypeQ2_K, nil
- case "Q3_K_S":
- return filetypeQ3_K_S, nil
- case "Q3_K_M":
- return filetypeQ3_K_M, nil
- case "Q3_K_L":
- return filetypeQ3_K_L, nil
- case "Q4_K_S":
- return filetypeQ4_K_S, nil
- case "Q4_K_M":
- return filetypeQ4_K_M, nil
- case "Q5_K_S":
- return filetypeQ5_K_S, nil
- case "Q5_K_M":
- return filetypeQ5_K_M, nil
- case "Q6_K":
- return filetypeQ6_K, nil
- case "IQ2_XXS":
- return filetypeIQ2_XXS, nil
- case "IQ2_XS":
- return filetypeIQ2_XS, nil
- case "Q2_K_S":
- return filetypeQ2_K_S, nil
- case "Q3_K_XS":
- return filetypeQ3_K_XS, nil
- case "IQ3_XXS":
- return filetypeIQ3_XXS, nil
- default:
- return filetypeUnknown, fmt.Errorf("unknown filetype: %s", s)
- }
- }
- func (t filetype) String() string {
- switch t {
- case filetypeF32:
- return "F32"
- case filetypeF16:
- return "F16"
- case filetypeQ4_0:
- return "Q4_0"
- case filetypeQ4_1:
- return "Q4_1"
- case filetypeQ4_1_F16:
- return "Q4_1_F16"
- case filetypeQ8_0:
- return "Q8_0"
- case filetypeQ5_0:
- return "Q5_0"
- case filetypeQ5_1:
- return "Q5_1"
- case filetypeQ2_K:
- return "Q2_K"
- case filetypeQ3_K_S:
- return "Q3_K_S"
- case filetypeQ3_K_M:
- return "Q3_K_M"
- case filetypeQ3_K_L:
- return "Q3_K_L"
- case filetypeQ4_K_S:
- return "Q4_K_S"
- case filetypeQ4_K_M:
- return "Q4_K_M"
- case filetypeQ5_K_S:
- return "Q5_K_S"
- case filetypeQ5_K_M:
- return "Q5_K_M"
- case filetypeQ6_K:
- return "Q6_K"
- case filetypeIQ2_XXS:
- return "IQ2_XXS"
- case filetypeIQ2_XS:
- return "IQ2_XS"
- case filetypeQ2_K_S:
- return "Q2_K_S"
- case filetypeQ3_K_XS:
- return "Q3_K_XS"
- case filetypeIQ3_XXS:
- return "IQ3_XXS"
- default:
- return "unknown"
- }
- }
- func (t filetype) Value() uint32 {
- return uint32(t)
- }
|