feat(workspace): add workspace models configuration update endpoint
- Add PUT endpoint to update workspace LLM, embedding, and rerank model configurations - Create WorkspaceModelsUpdate schema for model configuration update requests - Create WorkspaceModelsConfig schema for model configuration responses with proper validation - Implement update_workspace_models_configs service method to persist model configuration changes - Update workspace_models_configs GET endpoint to return validated WorkspaceModelsConfig response - Reorganize imports across controller, schema, and service files for consistency and readability - Add proper logging for model configuration updates with user and workspace context
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
import email
|
||||
from pydantic import BaseModel, Field, EmailStr, field_serializer, computed_field, ConfigDict
|
||||
import datetime
|
||||
import email
|
||||
import uuid
|
||||
from typing import Literal
|
||||
from app.models.workspace_model import WorkspaceRole, InviteStatus
|
||||
from typing import Literal, Optional
|
||||
|
||||
from app.models.workspace_model import InviteStatus, WorkspaceRole
|
||||
from pydantic import (
|
||||
BaseModel,
|
||||
ConfigDict,
|
||||
EmailStr,
|
||||
Field,
|
||||
computed_field,
|
||||
field_serializer,
|
||||
)
|
||||
|
||||
|
||||
class WorkspaceBase(BaseModel):
|
||||
@@ -170,3 +178,19 @@ class InviteValidateResponse(BaseModel):
|
||||
|
||||
class InviteAcceptRequest(BaseModel):
|
||||
token: str = Field(..., description="邀请令牌")
|
||||
|
||||
|
||||
class WorkspaceModelsUpdate(BaseModel):
|
||||
"""工作空间模型配置更新请求"""
|
||||
llm: Optional[uuid.UUID] = Field(default=None, description="LLM模型ID")
|
||||
embedding: Optional[uuid.UUID] = Field(default=None, description="嵌入模型ID")
|
||||
rerank: Optional[uuid.UUID] = Field(default=None, description="重排序模型ID")
|
||||
|
||||
|
||||
class WorkspaceModelsConfig(BaseModel):
|
||||
"""工作空间模型配置响应"""
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
llm: Optional[str] = Field(default=None, description="LLM模型ID")
|
||||
embedding: Optional[str] = Field(default=None, description="嵌入模型ID")
|
||||
rerank: Optional[str] = Field(default=None, description="重排序模型ID")
|
||||
|
||||
Reference in New Issue
Block a user