- Introduction of TRACIE_KO_INTERVIEW_DEFINITION_SPECIALIST

- Re-introduction of EveAIAsset
- Make translation services resistent for situation with and without current_event defined.
- Ensure first question is asked in eveai_chat_client
- Start of version 1.4.0 of TRAICIE_SELECTION_SPECIALIST
This commit is contained in:
Josako
2025-07-02 16:58:43 +02:00
parent fbc9f44ac8
commit 51d029d960
34 changed files with 1292 additions and 302 deletions

View File

@@ -1,5 +1,6 @@
from pydantic import BaseModel, Field
class ListItem(BaseModel):
title: str = Field(..., description="The title or name of the item")
description: str = Field(..., description="A descriptive explanation of the item")
description: str = Field(..., description="A descriptive explanation of the item")

View File

@@ -0,0 +1,7 @@
from typing import List, Optional
from pydantic import BaseModel, Field
class QAOutput(BaseModel):
answer: bool = Field(None, description="True or False")

View File

@@ -1,6 +1,7 @@
from typing import List, Optional
from pydantic import BaseModel, Field
from eveai_chat_workers.outputs.globals.basic_types.list_item import ListItem
class KOQuestion(BaseModel):
title: str = Field(..., description="The title of the knockout criterium.")
@@ -8,8 +9,37 @@ class KOQuestion(BaseModel):
answer_positive: Optional[str] = Field(None, description="The answer to the question, resulting in a positive outcome.")
answer_negative: Optional[str] = Field(None, description="The answer to the question, resulting in a negative outcome.")
@classmethod
def from_json(cls, json_str: str) -> 'KOQuestion':
"""Deserialize from JSON string"""
return cls.model_validate_json(json_str)
def to_json(self, **kwargs) -> str:
"""Serialize to JSON string"""
return self.model_dump_json(**kwargs)
class KOQuestions(BaseModel):
ko_questions: List[KOQuestion] = Field(
default_factory=list,
description="KO Questions and answers."
)
@classmethod
def from_json(cls, json_str: str) -> 'KOQuestions':
"""Deserialize from JSON string"""
return cls.model_validate_json(json_str)
def to_json(self, **kwargs) -> str:
"""Serialize to JSON string"""
return self.model_dump_json(**kwargs)
@classmethod
def from_question_list(cls, questions: List[KOQuestion]) -> 'KOQuestions':
"""Create KOQuestions from a list of KOQuestion objects"""
return cls(ko_questions=questions)
def to_question_list(self) -> List[KOQuestion]:
"""Get the list of KOQuestion objects"""
return self.ko_questions