feat: add initial AutoGPTQ backend implementation

This commit is contained in:
Ettore Di Giacinto 2023-08-07 22:39:10 +02:00
parent 91d49cfe9f
commit a843e64fc2
37 changed files with 660 additions and 148 deletions

View file

@ -15,7 +15,7 @@ type Embeddings struct {
}
func (llm *Embeddings) Load(opts *pb.ModelOptions) error {
model, err := bert.New(opts.Model)
model, err := bert.New(opts.ModelFile)
llm.bert = model
return err
}

View file

@ -18,7 +18,7 @@ type LLM struct {
}
func (llm *LLM) Load(opts *pb.ModelOptions) error {
model, err := bloomz.New(opts.Model)
model, err := bloomz.New(opts.ModelFile)
llm.bloomz = model
return err
}

View file

@ -40,7 +40,7 @@ func (llm *LLM) Load(opts *pb.ModelOptions) error {
ggllmOpts = append(ggllmOpts, ggllm.SetNBatch(512))
}
model, err := ggllm.New(opts.Model, ggllmOpts...)
model, err := ggllm.New(opts.ModelFile, ggllmOpts...)
llm.falcon = model
return err
}

View file

@ -17,7 +17,7 @@ type LLM struct {
}
func (llm *LLM) Load(opts *pb.ModelOptions) error {
model, err := gpt4all.New(opts.Model,
model, err := gpt4all.New(opts.ModelFile,
gpt4all.SetThreads(int(opts.Threads)),
gpt4all.SetLibrarySearchPath(opts.LibrarySearchPath))
llm.gpt4all = model

View file

@ -71,7 +71,7 @@ func (llm *LLM) Load(opts *pb.ModelOptions) error {
llamaOpts = append(llamaOpts, llama.EnabelLowVRAM)
}
model, err := llama.New(opts.Model, llamaOpts...)
model, err := llama.New(opts.ModelFile, llamaOpts...)
llm.llama = model
return err
}

View file

@ -20,9 +20,9 @@ type LLM struct {
}
func (llm *LLM) Load(opts *pb.ModelOptions) error {
modelPath := filepath.Dir(opts.Model)
modelFile := filepath.Base(opts.Model)
model := rwkv.LoadFiles(opts.Model, filepath.Join(modelPath, modelFile+tokenizerSuffix), uint32(opts.GetThreads()))
modelPath := filepath.Dir(opts.ModelFile)
modelFile := filepath.Base(opts.ModelFile)
model := rwkv.LoadFiles(opts.ModelFile, filepath.Join(modelPath, modelFile+tokenizerSuffix), uint32(opts.GetThreads()))
if model == nil {
return fmt.Errorf("could not load model")

View file

@ -18,7 +18,7 @@ type Dolly struct {
}
func (llm *Dolly) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewDolly(opts.Model)
model, err := transformers.NewDolly(opts.ModelFile)
llm.dolly = model
return err
}

View file

@ -18,7 +18,7 @@ type Falcon struct {
}
func (llm *Falcon) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewFalcon(opts.Model)
model, err := transformers.NewFalcon(opts.ModelFile)
llm.falcon = model
return err
}

View file

@ -18,7 +18,7 @@ type GPT2 struct {
}
func (llm *GPT2) Load(opts *pb.ModelOptions) error {
model, err := transformers.New(opts.Model)
model, err := transformers.New(opts.ModelFile)
llm.gpt2 = model
return err
}

View file

@ -18,7 +18,7 @@ type GPTJ struct {
}
func (llm *GPTJ) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewGPTJ(opts.Model)
model, err := transformers.NewGPTJ(opts.ModelFile)
llm.gptj = model
return err
}

View file

@ -18,7 +18,7 @@ type GPTNeoX struct {
}
func (llm *GPTNeoX) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewGPTNeoX(opts.Model)
model, err := transformers.NewGPTNeoX(opts.ModelFile)
llm.gptneox = model
return err
}

View file

@ -18,7 +18,7 @@ type MPT struct {
}
func (llm *MPT) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewMPT(opts.Model)
model, err := transformers.NewMPT(opts.ModelFile)
llm.mpt = model
return err
}

View file

@ -18,7 +18,7 @@ type Replit struct {
}
func (llm *Replit) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewReplit(opts.Model)
model, err := transformers.NewReplit(opts.ModelFile)
llm.replit = model
return err
}

View file

@ -18,7 +18,7 @@ type Starcoder struct {
}
func (llm *Starcoder) Load(opts *pb.ModelOptions) error {
model, err := transformers.NewStarcoder(opts.Model)
model, err := transformers.NewStarcoder(opts.ModelFile)
llm.starcoder = model
return err
}