The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
AutoRouterPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginAutoRouter(components.AutoRouterPlugin{/* values here */})
ContextCompressionPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginContextCompression(components.ContextCompressionPlugin{/* values here */})
FileParserPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginFileParser(components.FileParserPlugin{/* values here */})
FusionPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginFusion(components.FusionPlugin{/* values here */})
ModerationPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginModeration(components.ModerationPlugin{/* values here */})
ParetoRouterPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginParetoRouter(components.ParetoRouterPlugin{/* values here */})
ResponseHealingPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginResponseHealing(components.ResponseHealingPlugin{/* values here */})
WebSearchPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginWeb(components.WebSearchPlugin{/* values here */})
WebFetchPlugin
messagesRequestPlugin := components.CreateMessagesRequestPluginWebFetch(components.WebFetchPlugin{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch messagesRequestPlugin.Type {
case components.MessagesRequestPluginTypeAutoRouter:
// messagesRequestPlugin.AutoRouterPlugin is populated
case components.MessagesRequestPluginTypeContextCompression:
// messagesRequestPlugin.ContextCompressionPlugin is populated
case components.MessagesRequestPluginTypeFileParser:
// messagesRequestPlugin.FileParserPlugin is populated
case components.MessagesRequestPluginTypeFusion:
// messagesRequestPlugin.FusionPlugin is populated
case components.MessagesRequestPluginTypeModeration:
// messagesRequestPlugin.ModerationPlugin is populated
case components.MessagesRequestPluginTypeParetoRouter:
// messagesRequestPlugin.ParetoRouterPlugin is populated
case components.MessagesRequestPluginTypeResponseHealing:
// messagesRequestPlugin.ResponseHealingPlugin is populated
case components.MessagesRequestPluginTypeWeb:
// messagesRequestPlugin.WebSearchPlugin is populated
case components.MessagesRequestPluginTypeWebFetch:
// messagesRequestPlugin.WebFetchPlugin is populated
}