mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
78 lines
1.7 KiB
Go
78 lines
1.7 KiB
Go
package ai_api_dto
|
|
|
|
import (
|
|
"github.com/eolinker/go-common/auto"
|
|
)
|
|
|
|
type ModelType string
|
|
|
|
const (
|
|
ModelTypeOnline ModelType = "online"
|
|
ModelTypeLocal ModelType = "local"
|
|
)
|
|
|
|
func (m ModelType) String() string {
|
|
return string(m)
|
|
}
|
|
|
|
func (m ModelType) Int() int {
|
|
switch m {
|
|
case ModelTypeOnline:
|
|
return 0
|
|
case ModelTypeLocal:
|
|
return 1
|
|
default:
|
|
return -1
|
|
}
|
|
}
|
|
|
|
func FromModelType(m int) ModelType {
|
|
switch m {
|
|
case 0:
|
|
return ModelTypeOnline
|
|
case 1:
|
|
return ModelTypeLocal
|
|
default:
|
|
return ""
|
|
}
|
|
}
|
|
|
|
type API struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Path string `json:"path"`
|
|
Description string `json:"description"`
|
|
Disable bool `json:"disabled"`
|
|
AiPrompt *AiPrompt `json:"ai_prompt"`
|
|
AiModel *AiModel `json:"ai_model"`
|
|
Timeout int `json:"timeout"`
|
|
Retry int `json:"retry"`
|
|
}
|
|
|
|
type APIItem struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
ModelType ModelType `json:"model_type"`
|
|
RequestPath string `json:"request_path"`
|
|
Description string `json:"description"`
|
|
Disable bool `json:"disabled"`
|
|
Creator auto.Label `json:"creator" aolabel:"user"`
|
|
Updater auto.Label `json:"updater" aolabel:"user"`
|
|
CreateTime auto.TimeLabel `json:"create_time"`
|
|
UpdateTime auto.TimeLabel `json:"update_time"`
|
|
Provider ProviderItem `json:"provider"`
|
|
Model ModelItem `json:"model"`
|
|
}
|
|
|
|
type ModelItem struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Logo string `json:"logo"`
|
|
}
|
|
|
|
type ProviderItem struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Logo string `json:"logo"`
|
|
}
|