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}