convert

package
v0.1.39 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ByteOrder added in v0.1.32

type ByteOrder interface {
	binary.ByteOrder
	binary.AppendByteOrder
}

type GemmaModel added in v0.1.32

type GemmaModel struct {
	ModelData
}

func (*GemmaModel) GetTensors added in v0.1.32

func (m *GemmaModel) GetTensors() error

func (*GemmaModel) LoadVocab added in v0.1.32

func (m *GemmaModel) LoadVocab() error

func (*GemmaModel) Repack added in v0.1.39

func (m *GemmaModel) Repack(_ string, data []float32, shape []uint64) ([]float32, error)

func (*GemmaModel) WriteGGUF added in v0.1.32

func (m *GemmaModel) WriteGGUF(ws io.WriteSeeker) error

type LlamaModel added in v0.1.33

type LlamaModel struct {
	ModelData
}

func (*LlamaModel) GetTensors added in v0.1.33

func (m *LlamaModel) GetTensors() error

func (*LlamaModel) LoadVocab added in v0.1.33

func (m *LlamaModel) LoadVocab() (err error)

func (*LlamaModel) Repack added in v0.1.39

func (m *LlamaModel) Repack(name string, data []float32, shape []uint64) ([]float32, error)

func (*LlamaModel) WriteGGUF added in v0.1.33

func (m *LlamaModel) WriteGGUF(ws io.WriteSeeker) error

type MistralModel added in v0.1.32

type MistralModel struct {
	ModelData
}

func (*MistralModel) GetTensors added in v0.1.32

func (m *MistralModel) GetTensors() error

func (*MistralModel) LoadVocab added in v0.1.32

func (m *MistralModel) LoadVocab() error

func (*MistralModel) Repack added in v0.1.39

func (m *MistralModel) Repack(name string, data []float32, shape []uint64) ([]float32, error)

func (*MistralModel) WriteGGUF added in v0.1.32

func (m *MistralModel) WriteGGUF(ws io.WriteSeeker) error

type MixtralModel added in v0.1.33

type MixtralModel struct {
	ModelData
}

func (*MixtralModel) GetTensors added in v0.1.33

func (m *MixtralModel) GetTensors() error

func (*MixtralModel) LoadVocab added in v0.1.33

func (m *MixtralModel) LoadVocab() error

func (*MixtralModel) Repack added in v0.1.39

func (m *MixtralModel) Repack(name string, data []float32, shape []uint64) ([]float32, error)

func (*MixtralModel) WriteGGUF added in v0.1.33

func (m *MixtralModel) WriteGGUF(ws io.WriteSeeker) error

type ModelArch added in v0.1.32

type ModelArch interface {
	GetTensors() error
	LoadVocab() error
	WriteGGUF(io.WriteSeeker) error
}

type ModelData added in v0.1.32

type ModelData struct {
	Path    string
	Name    string
	Params  *Params
	Vocab   *Vocab
	Tensors []llm.Tensor
	Format  ModelFormat
}

type ModelFormat added in v0.1.33

type ModelFormat interface {
	GetLayerName(string) (string, error)
	GetTensors(string, *Params) ([]llm.Tensor, error)
	GetParams(string) (*Params, error)
	GetModelArch(string, string, *Params) (ModelArch, error)
}

func GetModelFormat added in v0.1.33

func GetModelFormat(dirname string) (ModelFormat, error)

type Params

type Params struct {
	Architectures     []string `json:"architectures"`
	VocabSize         int      `json:"vocab_size"`
	HiddenSize        int      `json:"hidden_size"`       // n_embd
	HiddenLayers      int      `json:"num_hidden_layers"` // n_layer
	ContextSize       int      `json:"max_position_embeddings"`
	IntermediateSize  int      `json:"intermediate_size"`
	AttentionHeads    int      `json:"num_attention_heads"` // n_head
	KeyValHeads       int      `json:"num_key_value_heads"`
	NormEPS           float64  `json:"rms_norm_eps"`
	BoSTokenID        int      `json:"bos_token_id"`
	EoSTokenID        int      `json:"eos_token_id"`
	HeadDimension     int      `json:"head_dim"`
	PaddingTokenID    int      `json:"pad_token_id"`
	RopeFrequencyBase float64  `json:"rope_theta"`

	Experts     int `json:"num_local_experts"`
	ExpertsUsed int `json:"num_experts_per_tok"`

	PreTokenizer string

	ByteOrder
}

type SafetensorFormat added in v0.1.33

type SafetensorFormat struct{}

func (*SafetensorFormat) GetLayerName added in v0.1.33

func (m *SafetensorFormat) GetLayerName(n string) (string, error)

func (*SafetensorFormat) GetModelArch added in v0.1.33

func (m *SafetensorFormat) GetModelArch(name, dirPath string, params *Params) (ModelArch, error)

func (*SafetensorFormat) GetParams added in v0.1.33

func (m *SafetensorFormat) GetParams(dirpath string) (*Params, error)

func (*SafetensorFormat) GetTensors added in v0.1.33

func (m *SafetensorFormat) GetTensors(dirpath string, params *Params) ([]llm.Tensor, error)

type Token added in v0.1.39

type Token struct {
	ID          int    `json:"id"`
	Content     string `json:"content"`
	Special     bool   `json:"special"`
	UserDefined bool
}

func (*Token) Type added in v0.1.39

func (t *Token) Type() int32

type Tokenizer added in v0.1.39

type Tokenizer struct {
	Version     string         `json:"version"`
	AddedTokens []Token        `json:"added_tokens"`
	Model       TokenizerModel `json:"model"`

	PreTokenizer struct {
		PreTokenizers []struct {
			Type    string `json:"type"`
			Pattern struct {
				Regex string `json:"Regex"`
			} `json:"pattern"`
		} `json:"pretokenizers"`
	} `json:"pre_tokenizer"`
}

type TokenizerModel added in v0.1.39

type TokenizerModel struct {
	Type   string         `json:"type"`
	Vocab  map[string]int `json:"vocab"`
	Merges []string       `json:"merges"`
	Tokens []Token
}

type TorchFormat added in v0.1.33

type TorchFormat struct{}

func (*TorchFormat) GetLayerName added in v0.1.33

func (m *TorchFormat) GetLayerName(n string) (string, error)

func (*TorchFormat) GetModelArch added in v0.1.33

func (m *TorchFormat) GetModelArch(name, dirPath string, params *Params) (ModelArch, error)

func (*TorchFormat) GetParams added in v0.1.33

func (m *TorchFormat) GetParams(dirpath string) (*Params, error)

func (*TorchFormat) GetTensors added in v0.1.33

func (tf *TorchFormat) GetTensors(dirpath string, params *Params) ([]llm.Tensor, error)

type Vocab

type Vocab struct {
	Tokens []string
	Scores []float32
	Types  []int32
	Merges []string
}

Details on gguf's tokenizer can be found at: https://github.com/ggerganov/ggml/blob/master/docs/gguf.md#tokenizer

func LoadSentencePieceTokens added in v0.1.32

func LoadSentencePieceTokens(dirpath string, params *Params) (*Vocab, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL