File size: 3,243 Bytes
9853396 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | package objects
type ModelCardReasoning struct {
Supported bool `json:"supported"`
Default bool `json:"default"`
}
type ModelCardModalities struct {
// "text","image","video"
Input []string `json:"input"`
Output []string `json:"output"`
}
type ModelCardCost struct {
Input float64 `json:"input"`
Output float64 `json:"output"`
CacheRead float64 `json:"cacheRead"`
CacheWrite float64 `json:"cacheWrite"`
}
type ModelCardLimit struct {
Context int `json:"context"`
Output int `json:"output"`
}
type ModelCard struct {
Reasoning ModelCardReasoning `json:"reasoning"`
ToolCall bool `json:"toolCall"`
Temperature bool `json:"temperature"`
Modalities ModelCardModalities `json:"modalities"`
Vision bool `json:"vision"`
Cost ModelCardCost `json:"cost"`
Limit ModelCardLimit `json:"limit"`
Knowledge string `json:"knowledge"`
ReleaseDate string `json:"releaseDate"`
LastUpdated string `json:"lastUpdated"`
}
type ModelSettings struct {
Associations []*ModelAssociation `json:"associations"`
}
type ModelAssociation struct {
// channel_model: the specified model id in the specified channel
// channel_regex: the specified pattern in the specified channel
// regex: the pattern for all channels
// model: the specified model id
// channel_tags_model: the specified model id in channels with specified tags (OR logic)
// channel_tags_regex: the specified pattern in channels with specified tags (OR logic)
Type string `json:"type"`
Priority int `json:"priority"` // Lower value = higher priority, default 0
Disabled bool `json:"disabled"`
ChannelModel *ChannelModelAssociation `json:"channelModel"`
ChannelRegex *ChannelRegexAssociation `json:"channelRegex"`
Regex *RegexAssociation `json:"regex"`
ModelID *ModelIDAssociation `json:"modelId"`
ChannelTagsModel *ChannelTagsModelAssociation `json:"channelTagsModel"`
ChannelTagsRegex *ChannelTagsRegexAssociation `json:"channelTagsRegex"`
}
type ExcludeAssociation struct {
ChannelNamePattern string `json:"channelNamePattern"`
ChannelIds []int `json:"channelIds"`
ChannelTags []string `json:"channelTags"`
}
type ChannelModelAssociation struct {
ChannelID int `json:"channelId"`
ModelID string `json:"modelId"`
}
type ChannelRegexAssociation struct {
ChannelID int `json:"channelId"`
Pattern string `json:"pattern"`
}
type RegexAssociation struct {
Pattern string `json:"pattern"`
Exclude []*ExcludeAssociation `json:"exclude"`
}
type ModelIDAssociation struct {
ModelID string `json:"modelId"`
Exclude []*ExcludeAssociation `json:"exclude"`
}
type ChannelTagsModelAssociation struct {
ChannelTags []string `json:"channelTags"`
ModelID string `json:"modelId"`
}
type ChannelTagsRegexAssociation struct {
ChannelTags []string `json:"channelTags"`
Pattern string `json:"pattern"`
}
|