Documentation
¶
Index ¶
- func ConvertAdapter(fsys fs.FS, f *os.File, baseKV ofs.Config) error
- func ConvertModel(fsys fs.FS, f *os.File) error
- func LoadModelMetadata(fsys fs.FS) (ModelKV, *Tokenizer, error)
- type AdapterConverter
- type AdapterParameters
- type KV
- func (kv KV) Architecture() string
- func (kv KV) Bool(key string, defaultValue ...bool) bool
- func (kv KV) Bools(key string, defaultValue ...[]bool) []bool
- func (kv KV) Float(key string, defaultValue ...float32) float32
- func (kv KV) Floats(key string, defaultValue ...[]float32) []float32
- func (kv KV) Ints(key string, defaultValue ...[]int32) []int32
- func (kv KV) Keys() iter.Seq[string]
- func (kv KV) Len() int
- func (kv KV) String(key string, defaultValue ...string) string
- func (kv KV) Strings(key string, defaultValue ...[]string) []string
- func (kv KV) Uint(key string, defaultValue ...uint32) uint32
- func (kv KV) Uints(key string, defaultValue ...[]uint32) []uint32
- func (kv KV) Value(key string) any
- type ModelConverter
- type ModelKV
- type ModelParameters
- type Repacker
- type SpecialVocabulary
- type Tensor
- type Tokenizer
- type Vocabulary
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertAdapter ¶ added in v0.3.7
func ConvertModel ¶ added in v0.3.7
Convert writes an Ollama compatible model to the provided io.WriteSeeker based on configurations and files it finds in the input path. Supported input model formats include safetensors. Supported input tokenizers files include tokenizer.json (preferred) and tokenizer.model.
Types ¶
type AdapterConverter ¶ added in v0.3.7
type AdapterConverter interface {
// KV maps parameters to LLM key-values
KV(ofs.Config) KV
// Tensors maps input tensors to LLM tensors. Adapter specific modifications can be done here.
Tensors([]Tensor) []*ggml.Tensor
// Replacements returns a list of string pairs to replace in tensor names.
// See [strings.Replacer](https://pkg.go.dev/strings#Replacer) for details
Replacements() []string
}
type AdapterParameters ¶ added in v0.3.7
type AdapterParameters struct {
Alpha uint32 `json:"lora_alpha"`
LoraLayers uint32 `json:"lora_layers"`
LoraParameters struct {
Rank uint32 `json:"rank"`
Alpha float32 `json:"alpha"`
Scale float32 `json:"scale"`
} `json:"lora_parameters"`
}
func (AdapterParameters) KV ¶ added in v0.3.7
func (p AdapterParameters) KV() KV
type KV ¶ added in v0.14.0
func (KV) Architecture ¶ added in v0.14.0
type ModelConverter ¶ added in v0.3.7
type ModelConverter interface {
ModelKV
// Tensors maps input tensors to LLM tensors. Model specific modifications can be done here.
Tensors([]Tensor) []*ggml.Tensor
// Replacements returns a list of string pairs to replace in tensor names.
// See [strings.Replacer](https://pkg.go.dev/strings#Replacer) for details
Replacements() []string
// contains filtered or unexported methods
}
type ModelParameters ¶ added in v0.3.7
type ModelParameters struct {
Architectures []string `json:"architectures"`
VocabSize uint32 `json:"vocab_size"`
// TODO is this needed?
ModelType string `json:"model_type"`
TextModel struct {
VocabSize uint32 `json:"vocab_size"`
HiddenSize uint32 `json:"hidden_size"`
ModelType string `json:"model_type"`
} `json:"text_config"`
}
func (ModelParameters) KV ¶ added in v0.3.7
func (ModelParameters) KV(t *Tokenizer) KV
type SpecialVocabulary ¶ added in v0.3.3
type SpecialVocabulary struct {
Type string
ID int
Content string
AddToken bool
// IDs is populated by generation_config.json
IDs []int32
}
func (SpecialVocabulary) Key ¶ added in v0.3.3
func (sv SpecialVocabulary) Key() string
type Tokenizer ¶ added in v0.1.39
type Tokenizer struct {
*Vocabulary
SpecialVocabulary []*SpecialVocabulary
Merges []string
Pre string
Template string
}
Source Files
¶
- convert.go
- convert_bert.go
- convert_commandr.go
- convert_deepseek2.go
- convert_deepseekocr.go
- convert_gemma.go
- convert_gemma2.go
- convert_gemma2_adapter.go
- convert_gemma3.go
- convert_gemma3n.go
- convert_glm4moelite.go
- convert_glmocr.go
- convert_gptoss.go
- convert_lfm2.go
- convert_lfm2_vl.go
- convert_llama.go
- convert_llama4.go
- convert_llama_adapter.go
- convert_mistral.go
- convert_mistral_causal.go
- convert_mixtral.go
- convert_mllama.go
- convert_nemotron_h.go
- convert_nomicbert.go
- convert_olmo.go
- convert_phi3.go
- convert_qwen2.go
- convert_qwen25vl.go
- convert_qwen3.go
- convert_qwen3next.go
- convert_qwen3vl.go
- json_compat.go
- reader.go
- reader_safetensors.go
- reader_torch.go
- tensor.go
- tokenizer.go
- tokenizer_spm.go
Click to show internal directories.
Click to hide internal directories.