CoolFace
Apppublic

llzai/axonhub

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
model.go96 linesDownload Raw Back to objects
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