Spaces:
Paused
Paused
| from pydantic import BaseModel, Field | |
| from typing import Literal | |
| class introductionChapter(BaseModel): | |
| model_output: str = Field(..., title="Odpowiedz modelu") | |
| situation: str = Field(..., title="Wskazanie i zwrot opisu sytuacji, którą przedstawił użytkownik") | |
| think: str = Field(..., title="Wskazanie i zwrot myśli, którą przedstawił użytkownik") | |
| emotion: str = Field(..., title="Wskazanie i zwrot emocji, którą przedstawił użytkownik") | |
| chapter_end: str = Field(..., title="Ustawiamy na true jeśli użytkownik został przepytany i możemy przejść do etapu wskazanie definicji zniekształcenia") | |
| class UnderstandDistortionClassifier(BaseModel): | |
| message_type: Literal["understand", "no_understand"] = Field( | |
| ..., | |
| description=( | |
| """Klasyfikuje odpowiedź użytkownika po przedstawieniu wykrytego zniekształcenia poznawczego i jego definicji. | |
| 'understand' oznacza, że użytkownik rozumie zniekształcenie i chce nad nim pracować. Zakwalifikuj również jeśli użytkownik wykazuje lekkie przekonanie że może spróbujmy albo pyta jak zacząć. | |
| 'no understand' oznacza brak zrozumienia zniekształcenia.""" | |
| ), | |
| ) | |
| class SocraticQuestion(BaseModel): | |
| question: str = Field(..., description="Pytanie sokratejskie") | |
| class Summary(BaseModel): | |
| summarized_output: str = Field(..., title="Odpowiedź modelu") | |
| class SocraticEval(BaseModel): | |
| cue_hit: bool = Field(..., description="Czy odpowiedź dotyka sensu intencji (True dla advance/refine, False dla switch)") | |
| route: Literal["advance", "refine", "switch"] = Field(..., description="Decyzja: przechodzimy do wniosku / zostajemy i doprecyzowujemy / zmieniamy intencję") | |
| explanation: str = Field(..., description="Objaśnienie podjętej decyzji dotyczącej przejścia do wniosku, zostania i doprecyzowania lub zmiany intencji") | |
| proposition: str = Field(..., description="Jeśli roure = refine - podaj wskazówki dotyczące tego o co spytać w kolejnym pytaniu aby osiągnać przejście do wniosku. Konkretne rzeczy jakie powinno się umieścić w nowym pytaniu. Odwołuj się do explanation czyli czemu odrzuciłeś przejście do wniosku to warto zawrzeć również") | |
| class AltThoughtOut(BaseModel): | |
| alt_thought: str = Field(..., min_length=5, description="Zwięzła, realistyczna, życzliwa alternatywna myśl w 1. osobie.") | |
| reasoning: str = Field(..., min_length=5, description="Dlaczego ta myśl jest bardziej zrównoważona (krótko).") | |
| class AltInviteOut(BaseModel): | |
| assistant_message: str = Field(..., min_length=5) | |
| class AltReviewOut(BaseModel): | |
| is_ok: bool | |
| assistant_message: str = Field(..., min_length=5) | |
| class AltCloseOut(BaseModel): | |
| assistant_message: str = Field(..., min_length=5) | |
| class SecurityCheckUser(BaseModel): | |
| decision: bool | |
| message_to_user: str = Field(..., title="Wiadomość do użytkownika") | |
| explanation: str = Field(..., title="Wyjasnienie czemu wiadomosc użytkownika jest odrzucona") | |
| class ThoughtChecker(BaseModel): | |
| decision_beliefs: bool = Field(..., description="True, jeśli wiadomość zawiera MYŚL lub PRZEKONANIE; False, jeśli to opis sytuacji lub emocji.") |