The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
AutoRouterPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginAutoRouter(components.AutoRouterPlugin{/* values here */})
ContextCompressionPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginContextCompression(components.ContextCompressionPlugin{/* values here */})
FileParserPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginFileParser(components.FileParserPlugin{/* values here */})
FusionPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginFusion(components.FusionPlugin{/* values here */})
ModerationPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginModeration(components.ModerationPlugin{/* values here */})
ParetoRouterPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginParetoRouter(components.ParetoRouterPlugin{/* values here */})
ResponseHealingPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginResponseHealing(components.ResponseHealingPlugin{/* values here */})
WebSearchPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginWeb(components.WebSearchPlugin{/* values here */})
WebFetchPlugin
responsesRequestPlugin := components.CreateResponsesRequestPluginWebFetch(components.WebFetchPlugin{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch responsesRequestPlugin.Type {
case components.ResponsesRequestPluginTypeAutoRouter:
// responsesRequestPlugin.AutoRouterPlugin is populated
case components.ResponsesRequestPluginTypeContextCompression:
// responsesRequestPlugin.ContextCompressionPlugin is populated
case components.ResponsesRequestPluginTypeFileParser:
// responsesRequestPlugin.FileParserPlugin is populated
case components.ResponsesRequestPluginTypeFusion:
// responsesRequestPlugin.FusionPlugin is populated
case components.ResponsesRequestPluginTypeModeration:
// responsesRequestPlugin.ModerationPlugin is populated
case components.ResponsesRequestPluginTypeParetoRouter:
// responsesRequestPlugin.ParetoRouterPlugin is populated
case components.ResponsesRequestPluginTypeResponseHealing:
// responsesRequestPlugin.ResponseHealingPlugin is populated
case components.ResponsesRequestPluginTypeWeb:
// responsesRequestPlugin.WebSearchPlugin is populated
case components.ResponsesRequestPluginTypeWebFetch:
// responsesRequestPlugin.WebFetchPlugin is populated
}