xai_test.go

 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}