config_config替换成memory_config

This commit is contained in:
lixinyue
2026-01-22 18:43:22 +08:00
parent f3f9211c9c
commit 8db4f914d8
21 changed files with 158 additions and 201 deletions

View File

@@ -1,6 +1,7 @@
"""情绪分析相关的请求和响应模型"""
from typing import Optional
from uuid import UUID
from pydantic import BaseModel, Field
class EmotionTagsRequest(BaseModel):
@@ -30,7 +31,7 @@ class EmotionHealthRequest(BaseModel):
class EmotionSuggestionsRequest(BaseModel):
"""获取个性化情绪建议请求"""
end_user_id: str = Field(..., description="组ID")
config_id: Optional[int] = Field(None, description="配置ID用于指定LLM模型")
config_id: Optional[UUID] = Field(None, description="配置ID用于指定LLM模型")
class EmotionGenerateSuggestionsRequest(BaseModel):

View File

@@ -15,3 +15,6 @@ class Write_UserInput(BaseModel):
messages: list[dict]
end_user_id: str
config_id: Optional[str] = None
class End_User_Information(BaseModel):
end_user_name: str # 这是要更新的用户名
id: str # 宿主ID用于匹配条件

View File

@@ -35,7 +35,7 @@ class ConfigurationError(Exception):
def __init__(
self,
message: str,
config_id: Optional[int] = None,
config_id: Optional[UUID] = None,
workspace_id: Optional[UUID] = None,
context: Optional[Dict[str, Any]] = None,
):
@@ -72,7 +72,7 @@ class WorkspaceNotFoundError(ConfigurationError):
def __init__(
self,
workspace_id: UUID,
config_id: Optional[int] = None,
config_id: Optional[UUID] = None,
message: Optional[str] = None,
):
if message is None:
@@ -89,7 +89,7 @@ class ModelNotFoundError(ConfigurationError):
self,
model_id: Union[str, UUID],
model_type: str,
config_id: Optional[int] = None,
config_id: Optional[UUID] = None,
workspace_id: Optional[UUID] = None,
message: Optional[str] = None,
):
@@ -112,7 +112,7 @@ class ModelInactiveError(ConfigurationError):
model_id: Union[str, UUID],
model_name: str,
model_type: str,
config_id: Optional[int] = None,
config_id: Optional[UUID] = None,
workspace_id: Optional[UUID] = None,
message: Optional[str] = None,
):
@@ -136,7 +136,7 @@ class InvalidConfigError(ConfigurationError):
message: str,
field_name: Optional[str] = None,
invalid_value: Optional[Any] = None,
config_id: Optional[int] = None,
config_id: Optional[UUID] = None,
workspace_id: Optional[UUID] = None,
):
context = {}
@@ -155,7 +155,7 @@ class InvalidConfigError(ConfigurationError):
class MemoryConfigValidation(BaseModel):
"""Pydantic model for validating memory configuration data from database."""
config_id: int = Field(..., gt=0, description="Configuration ID must be positive")
config_id: UUID = Field(..., description="Configuration ID (UUID)")
config_name: str = Field(..., min_length=1, max_length=255)
workspace_id: UUID = Field(..., description="Workspace UUID")
workspace_name: str = Field(..., min_length=1, max_length=255)
@@ -275,7 +275,7 @@ class ModelValidation(BaseModel):
def validate_memory_config_data(
config_data: Dict[str, Any], config_id: Optional[int] = None
config_data: Dict[str, Any], config_id: Optional[UUID] = None
) -> MemoryConfigValidation:
"""Validate memory configuration data using Pydantic model."""
try:
@@ -302,7 +302,7 @@ def validate_memory_config_data(
def validate_workspace_data(
workspace_data: Dict[str, Any], config_id: Optional[int] = None
workspace_data: Dict[str, Any], config_id: Optional[UUID] = None
) -> WorkspaceValidation:
"""Validate workspace data using Pydantic model."""
try:
@@ -331,7 +331,7 @@ def validate_workspace_data(
def validate_model_data(
model_data: Dict[str, Any], config_id: Optional[int] = None
model_data: Dict[str, Any], config_id: Optional[UUID] = None
) -> ModelValidation:
"""Validate model data using Pydantic model."""
try:
@@ -364,7 +364,7 @@ def validate_model_data(
class MemoryConfig:
"""Immutable memory configuration loaded from database."""
config_id: int
config_id: UUID
config_name: str
workspace_id: UUID
workspace_name: str

View File

@@ -1,5 +1,6 @@
from pydantic import BaseModel, Field
from typing import Optional
from uuid import UUID
from enum import Enum
@@ -9,7 +10,7 @@ class OptimizationStrategy(str, Enum):
ACCURACY_FIRST = "accuracy_first"
BALANCED = "balanced"
class Memory_Reflection(BaseModel):
config_id: Optional[int] = None
config_id: Optional[UUID] = None
reflection_enabled: bool
reflection_period_in_hours: str
reflexion_range: Optional[str] = "partial"

View File

@@ -159,7 +159,7 @@ class ReflexionResultSchema(BaseModel):
# Composite key identifying a config row
class ConfigKey(BaseModel): # 配置参数键模型
model_config = ConfigDict(populate_by_name=True, extra="forbid")
config_id: int = Field("config_id", description="配置唯一标识(字符串")
config_id: uuid.UUID = Field("config_id", description="配置唯一标识(UUID")
user_id: str = Field("user_id", description="用户标识(字符串)")
apply_id: str = Field("apply_id", description="应用或场景标识(字符串)")
@@ -250,17 +250,17 @@ class ConfigParamsCreate(BaseModel): # 创建配置参数模型(仅 body
class ConfigParamsDelete(BaseModel): # 删除配置参数模型(请求体)
model_config = ConfigDict(populate_by_name=True, extra="forbid")
# config_name: str = Field("配置名称", description="配置名称(字符串)")
config_id: int = Field("配置ID", description="配置ID字符串")
config_id: uuid.UUID = Field("配置ID", description="配置IDUUID")
class ConfigUpdate(BaseModel): # 更新记忆萃取引擎配置参数时使用的模型
config_id: Optional[int] = None
config_id: Optional[uuid.UUID] = None
config_name: str = Field("配置名称", description="配置名称(字符串)")
config_desc: str = Field("配置描述", description="配置描述(字符串)")
class ConfigUpdateExtracted(BaseModel): # 更新记忆萃取引擎配置参数时使用的模型
config_id: Optional[int] = None
config_id: Optional[uuid.UUID] = None
llm_id: Optional[str] = Field(None, description="LLM模型配置ID")
embedding_id: Optional[str] = Field(None, description="嵌入模型配置ID")
rerank_id: Optional[str] = Field(None, description="重排序模型配置ID")
@@ -327,14 +327,14 @@ class ConfigUpdateExtracted(BaseModel): # 更新记忆萃取引擎配置参数
class ConfigUpdateForget(BaseModel): # 更新遗忘引擎配置参数时使用的模型
# 遗忘引擎配置参数更新模型
config_id: Optional[int] = None
config_id: Optional[uuid.UUID] = None
lambda_time: Optional[float] = Field(0.5, ge=0.0, le=1.0, description="最低保持度0-1 小数;默认 0.5")
lambda_mem: Optional[float] = Field(0.5, ge=0.0, le=1.0, description="遗忘率0-1 小数;默认 0.5")
offset: Optional[float] = Field(0.0, ge=0.0, le=1.0, description="偏移度0-1 小数;默认 0.0")
class ConfigPilotRun(BaseModel): # 试运行触发请求模型
config_id: int = Field(..., description="配置ID唯一")
config_id: uuid.UUID = Field(..., description="配置ID唯一")
dialogue_text: str = Field(..., description="前端传入的对话文本,格式如 '用户: ...\nAI: ...' 可多行,试运行必填")
model_config = ConfigDict(populate_by_name=True, extra="forbid")
@@ -342,7 +342,7 @@ class ConfigPilotRun(BaseModel): # 试运行触发请求模型
class ConfigFilter(BaseModel): # 查询配置参数时使用的模型
model_config = ConfigDict(populate_by_name=True, extra="forbid")
config_id: Optional[int] = None
config_id: Optional[uuid.UUID] = None
user_id: Optional[str] = None
apply_id: Optional[str] = None
@@ -418,7 +418,7 @@ class ForgettingConfigResponse(BaseModel):
"""遗忘引擎配置响应模型"""
model_config = ConfigDict(populate_by_name=True, extra="forbid")
config_id: int = Field(..., description="配置ID")
config_id: uuid.UUID = Field(..., description="配置ID")
decay_constant: float = Field(..., description="衰减常数 d")
lambda_time: float = Field(..., description="时间衰减参数")
lambda_mem: float = Field(..., description="记忆衰减参数")
@@ -436,7 +436,7 @@ class ForgettingConfigUpdateRequest(BaseModel):
"""遗忘引擎配置更新请求模型"""
model_config = ConfigDict(populate_by_name=True, extra="forbid")
config_id: int = Field(..., description="配置ID")
config_id: uuid.UUID = Field(..., description="配置ID")
decay_constant: Optional[float] = Field(None, ge=0.0, le=1.0, description="衰减常数 d")
lambda_time: Optional[float] = Field(None, ge=0.0, le=1.0, description="时间衰减参数")
lambda_mem: Optional[float] = Field(None, ge=0.0, le=1.0, description="记忆衰减参数")
@@ -511,7 +511,7 @@ class ForgettingCurveRequest(BaseModel):
importance_score: float = Field(0.5, ge=0.0, le=1.0, description="重要性分数0-1")
days: int = Field(60, ge=1, le=365, description="模拟天数默认60天")
config_id: Optional[int] = Field(None, description="配置ID可选如果为None则使用默认配置")
config_id: Optional[uuid.UUID] = Field(None, description="配置ID可选如果为None则使用默认配置")
class ForgettingCurveResponse(BaseModel):