The Go SDK and docs are currently in beta.
Report issues on GitHub.
Supported Types
AutoRouterPlugin
chatRequestPlugin := components.CreateChatRequestPluginAutoRouter(components.AutoRouterPlugin{/* values here */})
ContextCompressionPlugin
chatRequestPlugin := components.CreateChatRequestPluginContextCompression(components.ContextCompressionPlugin{/* values here */})
FileParserPlugin
chatRequestPlugin := components.CreateChatRequestPluginFileParser(components.FileParserPlugin{/* values here */})
FusionPlugin
chatRequestPlugin := components.CreateChatRequestPluginFusion(components.FusionPlugin{/* values here */})
ModerationPlugin
chatRequestPlugin := components.CreateChatRequestPluginModeration(components.ModerationPlugin{/* values here */})
ParetoRouterPlugin
chatRequestPlugin := components.CreateChatRequestPluginParetoRouter(components.ParetoRouterPlugin{/* values here */})
ResponseHealingPlugin
chatRequestPlugin := components.CreateChatRequestPluginResponseHealing(components.ResponseHealingPlugin{/* values here */})
WebSearchPlugin
chatRequestPlugin := components.CreateChatRequestPluginWeb(components.WebSearchPlugin{/* values here */})
WebFetchPlugin
chatRequestPlugin := components.CreateChatRequestPluginWebFetch(components.WebFetchPlugin{/* values here */})
Union Discrimination
Use theType field to determine which variant is active, then access the corresponding field:
switch chatRequestPlugin.Type {
case components.ChatRequestPluginTypeAutoRouter:
// chatRequestPlugin.AutoRouterPlugin is populated
case components.ChatRequestPluginTypeContextCompression:
// chatRequestPlugin.ContextCompressionPlugin is populated
case components.ChatRequestPluginTypeFileParser:
// chatRequestPlugin.FileParserPlugin is populated
case components.ChatRequestPluginTypeFusion:
// chatRequestPlugin.FusionPlugin is populated
case components.ChatRequestPluginTypeModeration:
// chatRequestPlugin.ModerationPlugin is populated
case components.ChatRequestPluginTypeParetoRouter:
// chatRequestPlugin.ParetoRouterPlugin is populated
case components.ChatRequestPluginTypeResponseHealing:
// chatRequestPlugin.ResponseHealingPlugin is populated
case components.ChatRequestPluginTypeWeb:
// chatRequestPlugin.WebSearchPlugin is populated
case components.ChatRequestPluginTypeWebFetch:
// chatRequestPlugin.WebFetchPlugin is populated
}