| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package controller
- import (
- "net/http"
- "github.com/gin-gonic/gin"
- "github.com/labring/sealos/service/aiproxy/middleware"
- "github.com/labring/sealos/service/aiproxy/model"
- )
- func GetModelConfigs(c *gin.Context) {
- page, perPage := parsePageParams(c)
- _model := c.Query("model")
- configs, total, err := model.GetModelConfigs(page, perPage, _model)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, gin.H{
- "configs": configs,
- "total": total,
- })
- }
- func GetAllModelConfigs(c *gin.Context) {
- configs, err := model.GetAllModelConfigs()
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, configs)
- }
- type GetModelConfigsByModelsContainsRequest struct {
- Models []string `json:"models"`
- }
- func GetModelConfigsByModelsContains(c *gin.Context) {
- request := GetModelConfigsByModelsContainsRequest{}
- err := c.ShouldBindJSON(&request)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- configs, err := model.GetModelConfigsByModels(request.Models)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, configs)
- }
- func SearchModelConfigs(c *gin.Context) {
- keyword := c.Query("keyword")
- page, perPage := parsePageParams(c)
- _model := c.Query("model")
- owner := c.Query("owner")
- configs, total, err := model.SearchModelConfigs(keyword, page, perPage, _model, model.ModelOwner(owner))
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, gin.H{
- "configs": configs,
- "total": total,
- })
- }
- type SaveModelConfigsRequest struct {
- CreatedAt int64 `json:"created_at"`
- UpdatedAt int64 `json:"updated_at"`
- *model.ModelConfig
- }
- func SaveModelConfigs(c *gin.Context) {
- var configs []*SaveModelConfigsRequest
- if err := c.ShouldBindJSON(&configs); err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- modelConfigs := make([]*model.ModelConfig, len(configs))
- for i, config := range configs {
- modelConfigs[i] = config.ModelConfig
- }
- err := model.SaveModelConfigs(modelConfigs)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, nil)
- }
- func SaveModelConfig(c *gin.Context) {
- var config SaveModelConfigsRequest
- if err := c.ShouldBindJSON(&config); err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- err := model.SaveModelConfig(config.ModelConfig)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, nil)
- }
- func DeleteModelConfig(c *gin.Context) {
- _model := c.Param("model")
- err := model.DeleteModelConfig(_model)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, nil)
- }
- func DeleteModelConfigs(c *gin.Context) {
- models := []string{}
- err := c.ShouldBindJSON(&models)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- err = model.DeleteModelConfigsByModels(models)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, nil)
- }
- func GetModelConfig(c *gin.Context) {
- _model := c.Param("model")
- config, err := model.GetModelConfig(_model)
- if err != nil {
- middleware.ErrorResponse(c, http.StatusOK, err.Error())
- return
- }
- middleware.SuccessResponse(c, config)
- }
|