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 }