Spaces:
Configuration error
Configuration error
| package backend_test | |
| import ( | |
| . "github.com/mudler/LocalAI/core/backend" | |
| "github.com/mudler/LocalAI/core/config" | |
| "github.com/mudler/LocalAI/core/schema" | |
| . "github.com/onsi/ginkgo/v2" | |
| . "github.com/onsi/gomega" | |
| ) | |
| var _ = Describe("LLM tests", func() { | |
| Context("Finetune LLM output", func() { | |
| var ( | |
| testConfig config.BackendConfig | |
| input string | |
| prediction string | |
| result string | |
| ) | |
| BeforeEach(func() { | |
| testConfig = config.BackendConfig{ | |
| PredictionOptions: schema.PredictionOptions{ | |
| Echo: false, | |
| }, | |
| LLMConfig: config.LLMConfig{ | |
| Cutstrings: []string{`<.*?>`}, // Example regex for removing XML tags | |
| ExtractRegex: []string{`<result>(.*?)</result>`}, // Example regex to extract from tags | |
| TrimSpace: []string{" ", "\n"}, | |
| TrimSuffix: []string{".", "!"}, | |
| }, | |
| } | |
| }) | |
| Context("when echo is enabled", func() { | |
| BeforeEach(func() { | |
| testConfig.Echo = true | |
| input = "Hello" | |
| prediction = "World" | |
| }) | |
| It("should prepend input to prediction", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("HelloWorld")) | |
| }) | |
| }) | |
| Context("when echo is disabled", func() { | |
| BeforeEach(func() { | |
| testConfig.Echo = false | |
| input = "Hello" | |
| prediction = "World" | |
| }) | |
| It("should not modify the prediction with input", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("World")) | |
| }) | |
| }) | |
| Context("when cutstrings regex is applied", func() { | |
| BeforeEach(func() { | |
| input = "" | |
| prediction = "<div>Hello</div> World" | |
| }) | |
| It("should remove substrings matching cutstrings regex", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("Hello World")) | |
| }) | |
| }) | |
| Context("when extract regex is applied", func() { | |
| BeforeEach(func() { | |
| input = "" | |
| prediction = "<response><result>42</result></response>" | |
| }) | |
| It("should extract substrings matching the extract regex", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("42")) | |
| }) | |
| }) | |
| Context("when trimming spaces", func() { | |
| BeforeEach(func() { | |
| input = "" | |
| prediction = " Hello World " | |
| }) | |
| It("should trim spaces from the prediction", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("Hello World")) | |
| }) | |
| }) | |
| Context("when trimming suffixes", func() { | |
| BeforeEach(func() { | |
| input = "" | |
| prediction = "Hello World." | |
| }) | |
| It("should trim suffixes from the prediction", func() { | |
| result = Finetune(testConfig, input, prediction) | |
| Expect(result).To(Equal("Hello World")) | |
| }) | |
| }) | |
| }) | |
| }) | |