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