Files
LLM-Robot-Control/llm/schemas.py
T

50 lines
1.0 KiB
Python

from typing import Literal, Optional
from pydantic import BaseModel, Field
class RobotPlan(BaseModel):
steps: list[str] = Field(
description="Последовательность высокоуровневых действий робота",
min_length=1
)
class ChatMessage(BaseModel):
role: Literal["system",
"user",
"assistant"]
content: str
class ChatRecord(BaseModel):
messages: list[ChatMessage]
class Prompts(BaseModel):
system_prompt: str
instructions: str
user_prompt: str
class ModelResponse(BaseModel):
model_response: str
assistant_content: Optional[str] = None
class ModelInfo(BaseModel):
provider: str
model: str
class GenerationSettings(BaseModel):
temperature: float
max_tokens: int
class BaseDatasetRecord(BaseModel):
prompts: Prompts
response: ModelResponse
model_info: ModelInfo
generation: GenerationSettings
class RobotDatasetRecord(BaseDatasetRecord):
task: str