github.com/instill-ai/component@v0.16.0-beta/pkg/connector/openai/v0/client.go (about)

     1  package openai
     2  
     3  import (
     4  	"github.com/instill-ai/component/pkg/connector/util/httpclient"
     5  	"go.uber.org/zap"
     6  	"google.golang.org/protobuf/types/known/structpb"
     7  )
     8  
     9  func newClient(config *structpb.Struct, logger *zap.Logger) *httpclient.Client {
    10  	c := httpclient.New("OpenAI", getBasePath(config),
    11  		httpclient.WithLogger(logger),
    12  		httpclient.WithEndUserError(new(errBody)),
    13  	)
    14  
    15  	c.SetAuthToken(getAPIKey(config))
    16  
    17  	org := getOrg(config)
    18  	if org != "" {
    19  		c.SetHeader("OpenAI-Organization", org)
    20  	}
    21  
    22  	return c
    23  }
    24  
    25  type errBody struct {
    26  	Error struct {
    27  		Message string `json:"message"`
    28  	} `json:"error"`
    29  }
    30  
    31  func (e errBody) Message() string {
    32  	return e.Error.Message
    33  }