71 lines
1.6 KiB
Python
71 lines
1.6 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
|
|
class ChatRequest(BaseModel):
|
|
message: str
|
|
session_id: str
|
|
persona_id: Optional[str] = "default"
|
|
is_narrator_choice: bool = False
|
|
skip_user_add: bool = False
|
|
first_mes_override: Optional[str] = None
|
|
|
|
|
|
class MessageEditRequest(BaseModel):
|
|
content: str
|
|
truncate_after: bool = False
|
|
|
|
|
|
class RegenerateRequest(BaseModel):
|
|
session_id: str
|
|
persona_id: Optional[str] = "default"
|
|
message_id: Optional[int] = None
|
|
|
|
|
|
class ForkSessionRequest(BaseModel):
|
|
until_message_id: int
|
|
|
|
|
|
class RebindPersonaRequest(BaseModel):
|
|
persona_id: str
|
|
clear_history: bool = False
|
|
|
|
class ChatResponse(BaseModel):
|
|
reply: str
|
|
session_id: str
|
|
image_prompt: Optional[str] = None
|
|
|
|
class PersonaCreate(BaseModel):
|
|
persona_id: str
|
|
name: str
|
|
emoji: str = "🤖"
|
|
description: str = ""
|
|
prompt: str = ""
|
|
sd_enabled: bool = False
|
|
lora_name: str = ""
|
|
lora_weight: float = 0.8
|
|
appearance_tags: str = ""
|
|
personality: str = ""
|
|
scenario: str = ""
|
|
first_mes: str = ""
|
|
mes_example: str = ""
|
|
lorebook_json: str = "[]"
|
|
avatar_path: str = ""
|
|
|
|
class PersonaResponse(BaseModel):
|
|
persona_id: str
|
|
name: str
|
|
emoji: str
|
|
description: str
|
|
prompt: str
|
|
custom: bool = False
|
|
sd_enabled: bool = False
|
|
lora_name: str = ""
|
|
lora_weight: float = 0.8
|
|
appearance_tags: str = ""
|
|
personality: str = ""
|
|
scenario: str = ""
|
|
first_mes: str = ""
|
|
mes_example: str = ""
|
|
lorebook_json: str = "[]"
|
|
avatar_path: str = ""
|