1package providertests
2
3import (
4 "net/http"
5 "os"
6 "testing"
7
8 "charm.land/fantasy"
9 "charm.land/fantasy/providers/xai"
10 "gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
11)
12
13func TestXAICommon(t *testing.T) {
14 testCommon(t, []builderPair{
15 {"xai-grok-code-fast", builderXAI, nil, nil},
16 })
17}
18
19func builderXAI(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
20 provider, err := xai.New(
21 xai.WithAPIKey(os.Getenv("FANTASY_XAI_API_KEY")),
22 xai.WithHTTPClient(&http.Client{Transport: r}),
23 )
24 if err != nil {
25 return nil, err
26 }
27 return provider.LanguageModel(t.Context(), "grok-code-fast-1")
28}