Skip to content

Commit f3916d3

Browse files
committed
tests: add gpt4all tests
1 parent 564818f commit f3916d3

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ test-models/testmodel:
232232
cp tests/models_fixtures/* test-models
233233

234234
test: prepare test-models/testmodel
235+
cp -r backend-assets api
235236
cp tests/models_fixtures/* test-models
236237
C_INCLUDE_PATH=${C_INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} TEST_DIR=$(abspath ./)/test-dir/ FIXTURES=$(abspath ./)/tests/fixtures CONFIG_FILE=$(abspath ./)/test-models/config.yaml MODELS_PATH=$(abspath ./)/test-models $(GOCMD) run github.com/onsi/ginkgo/v2/ginkgo --flake-attempts 5 -v -r ./api ./pkg
237238

api/api_test.go

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package api_test
33
import (
44
"bytes"
55
"context"
6+
"embed"
67
"encoding/json"
78
"fmt"
89
"io/ioutil"
@@ -95,6 +96,9 @@ func postModelApplyRequest(url string, request modelApplyRequest) (response map[
9596
return
9697
}
9798

99+
//go:embed backend-assets/*
100+
var backendAssets embed.FS
101+
98102
var _ = Describe("API test", func() {
99103

100104
var app *fiber.App
@@ -114,7 +118,7 @@ var _ = Describe("API test", func() {
114118
modelLoader = model.NewModelLoader(tmpdir)
115119
c, cancel = context.WithCancel(context.Background())
116120

117-
app, err = App(WithContext(c), WithModelLoader(modelLoader))
121+
app, err = App(WithContext(c), WithModelLoader(modelLoader), WithBackendAssets(backendAssets), WithBackendAssetsOutput(tmpdir))
118122
Expect(err).ToNot(HaveOccurred())
119123
go app.Listen("127.0.0.1:9090")
120124

@@ -191,6 +195,29 @@ var _ = Describe("API test", func() {
191195
Expect(err).ToNot(HaveOccurred())
192196
Expect(content["backend"]).To(Equal("bert-embeddings"))
193197
})
198+
199+
It("runs gpt4all", func() {
200+
response := postModelApplyRequest("http://127.0.0.1:9090/models/apply", modelApplyRequest{
201+
URL: "github:go-skynet/model-gallery/gpt4all-j.yaml",
202+
Name: "gpt4all-j",
203+
Overrides: map[string]string{},
204+
})
205+
206+
Expect(response["uuid"]).ToNot(BeEmpty(), fmt.Sprint(response))
207+
208+
uuid := response["uuid"].(string)
209+
210+
Eventually(func() bool {
211+
response := getModelStatus("http://127.0.0.1:9090/models/jobs/" + uuid)
212+
fmt.Println(response)
213+
return response["processed"].(bool)
214+
}, "360s").Should(Equal(true))
215+
216+
resp, err := client.CreateChatCompletion(context.TODO(), openai.ChatCompletionRequest{Model: "gpt4all-j", Messages: []openai.ChatCompletionMessage{openai.ChatCompletionMessage{Role: "user", Content: "How are you?"}}})
217+
Expect(err).ToNot(HaveOccurred())
218+
Expect(len(resp.Choices)).To(Equal(1))
219+
Expect(resp.Choices[0].Message.Content).To(ContainSubstring("well"))
220+
})
194221
})
195222
})
196223

0 commit comments

Comments
 (0)