vertexai.go

 1package provider
 2
 3import (
 4	"context"
 5	"log/slog"
 6
 7	"google.golang.org/genai"
 8)
 9
10type VertexAIClient ProviderClient
11
12func newVertexAIClient(opts providerClientOptions) VertexAIClient {
13	project := opts.extraParams["project"]
14	location := opts.extraParams["location"]
15	client, err := genai.NewClient(context.Background(), &genai.ClientConfig{
16		Project:  project,
17		Location: location,
18		Backend:  genai.BackendVertexAI,
19	})
20	if err != nil {
21		slog.Error("Failed to create VertexAI client", "error", err)
22		return nil
23	}
24
25	return &geminiClient{
26		providerOptions: opts,
27		client:          client,
28	}
29}