Fix issue with auto-generated model ID during model creation

This commit is contained in:
wizardchen
2025-08-09 21:35:32 +08:00
committed by lyingbug
parent 05270d6cae
commit 6eefe1c2a7
2 changed files with 54 additions and 4 deletions

View File

@@ -659,22 +659,59 @@ attachment
#### POST `/models` - 创建模型
请求体:
创建对话模型KnowledgeQA请求体:
```json
{
"name": "模型名称",
"type": "LLM",
"source": "OPENAI",
"type": "KnowledgeQA",
"source": "remote", # remote / local
"description": "模型描述",
"parameters": {
"model": "gpt-4",
"api_key": "sk-xxxxx",
"base_url": "https://api.openai.com"
"base_url": "xxx"
}
}
```
创建嵌入模型Embedding请求体:
```json
{
"name": "模型名称",
"type": "Embedding",
"source": "remote", # remote / local
"description": "模型描述",
"parameters": {
"model": "bge-m3",
"api_key": "sk-xxxxx",
"base_url": "xxx",
"embedding_parameters": {
"dimension": 768,
"truncate_prompt_tokens": 512
}
}
}
```
创建排序模型Rerank请求体:
```json
{
"name": "模型名称",
"type": "Rerank",
"source": "remote", # remote / local
"description": "模型描述",
"parameters": {
"model": "gte-reranker",
"api_key": "sk-xxxxx",
"base_url": "xxx"
}
}
```
响应:
```json

View File

@@ -5,6 +5,7 @@ import (
"encoding/json"
"time"
"github.com/google/uuid"
"gorm.io/gorm"
)
@@ -89,3 +90,15 @@ func (c *ModelParameters) Scan(value interface{}) error {
}
return json.Unmarshal(b, c)
}
// BeforeCreate is a GORM hook that runs before creating a new model record
// Automatically generates a UUID for new models
// Parameters:
// - tx: GORM database transaction
//
// Returns:
// - error: Any error encountered during the hook execution
func (m *Model) BeforeCreate(tx *gorm.DB) (err error) {
m.ID = uuid.New().String()
return nil
}