vertexai.go

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