Spaces:
Configuration error
Configuration error
package templates_test | |
import ( | |
. "github.com/mudler/LocalAI/pkg/templates" // Update with your module path | |
// Update with your module path | |
. "github.com/onsi/ginkgo/v2" | |
. "github.com/onsi/gomega" | |
) | |
var _ = Describe("EvaluateTemplate", func() { | |
Context("templating simple strings for multimodal chat", func() { | |
It("should template messages correctly", func() { | |
result, err := TemplateMultiModal("", MultiModalOptions{ | |
TotalImages: 1, | |
TotalAudios: 0, | |
TotalVideos: 0, | |
ImagesInMessage: 1, | |
AudiosInMessage: 0, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("[img-0]bar")) | |
}) | |
It("should handle messages with more images correctly", func() { | |
result, err := TemplateMultiModal("", MultiModalOptions{ | |
TotalImages: 2, | |
TotalAudios: 0, | |
TotalVideos: 0, | |
ImagesInMessage: 2, | |
AudiosInMessage: 0, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("[img-0][img-1]bar")) | |
}) | |
It("should handle messages with more images correctly", func() { | |
result, err := TemplateMultiModal("", MultiModalOptions{ | |
TotalImages: 4, | |
TotalAudios: 1, | |
TotalVideos: 0, | |
ImagesInMessage: 2, | |
AudiosInMessage: 1, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("[audio-0][img-2][img-3]bar")) | |
}) | |
It("should handle messages with more images correctly", func() { | |
result, err := TemplateMultiModal("", MultiModalOptions{ | |
TotalImages: 3, | |
TotalAudios: 1, | |
TotalVideos: 0, | |
ImagesInMessage: 1, | |
AudiosInMessage: 1, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("[audio-0][img-2]bar")) | |
}) | |
It("should handle messages with more images correctly", func() { | |
result, err := TemplateMultiModal("", MultiModalOptions{ | |
TotalImages: 0, | |
TotalAudios: 0, | |
TotalVideos: 0, | |
ImagesInMessage: 0, | |
AudiosInMessage: 0, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("bar")) | |
}) | |
}) | |
Context("templating with custom defaults", func() { | |
It("should handle messages with more images correctly", func() { | |
result, err := TemplateMultiModal("{{ range .Audio }}[audio-{{ add1 .ID}}]{{end}}{{ range .Images }}[img-{{ add1 .ID}}]{{end}}{{ range .Video }}[vid-{{ add1 .ID}}]{{end}}{{.Text}}", MultiModalOptions{ | |
TotalImages: 1, | |
TotalAudios: 0, | |
TotalVideos: 0, | |
ImagesInMessage: 1, | |
AudiosInMessage: 0, | |
VideosInMessage: 0, | |
}, "bar") | |
Expect(err).NotTo(HaveOccurred()) | |
Expect(result).To(Equal("[img-1]bar")) | |
}) | |
}) | |
}) | |