The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
OpenAIResponsesToolChoiceAuto
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceAuto(components.OpenAIResponsesToolChoiceAuto{/* values here */})
OpenAIResponsesToolChoiceNone
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceNone(components.OpenAIResponsesToolChoiceNone{/* values here */})
OpenAIResponsesToolChoiceRequired
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceRequired(components.OpenAIResponsesToolChoiceRequired{/* values here */})
OpenAIResponsesToolChoiceFunction
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceFunction(components.OpenAIResponsesToolChoiceFunction{/* values here */})
OpenAIResponsesToolChoice
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoice(components.OpenAIResponsesToolChoice{/* values here */})
ToolChoiceAllowed
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionToolChoiceAllowed(components.ToolChoiceAllowed{/* values here */})
OpenAIResponsesToolChoiceApplyPatch
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceApplyPatch(components.OpenAIResponsesToolChoiceApplyPatch{/* values here */})
OpenAIResponsesToolChoiceShell
openAIResponsesToolChoiceUnion := components.CreateOpenAIResponsesToolChoiceUnionOpenAIResponsesToolChoiceShell(components.OpenAIResponsesToolChoiceShell{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch openAIResponsesToolChoiceUnion.Type {
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceAuto:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceAuto is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceNone:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceNone is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceRequired:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceRequired is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceFunction:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceFunction is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoice:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoice is populated
case components.OpenAIResponsesToolChoiceUnionTypeToolChoiceAllowed:
// openAIResponsesToolChoiceUnion.ToolChoiceAllowed is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceApplyPatch:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceApplyPatch is populated
case components.OpenAIResponsesToolChoiceUnionTypeOpenAIResponsesToolChoiceShell:
// openAIResponsesToolChoiceUnion.OpenAIResponsesToolChoiceShell is populated
}