azure.go

 1package provider
 2
 3import (
 4	"github.com/openai/openai-go"
 5	"github.com/openai/openai-go/azure"
 6	"github.com/openai/openai-go/option"
 7)
 8
 9type azureProvider struct {
10	*openaiProvider
11}
12
13func NewAzureProvider(base *baseProvider) Provider {
14	apiVersion := base.extraParams["apiVersion"]
15	if apiVersion == "" {
16		apiVersion = "2025-01-01-preview"
17	}
18
19	reqOpts := []option.RequestOption{
20		azure.WithEndpoint(base.baseURL, apiVersion),
21	}
22
23	reqOpts = append(reqOpts, azure.WithAPIKey(base.apiKey))
24	client := &openaiProvider{
25		baseProvider: base,
26		client:       openai.NewClient(reqOpts...),
27	}
28
29	return &azureProvider{openaiProvider: client}
30}