mirror of
https://github.com/QuivrHQ/quivr.git
synced 2024-12-19 12:21:46 +03:00
b7ff2e77af
# Description Please include a summary of the changes and the related issue. Please also include relevant motivation and context. ## Checklist before requesting a review Please delete options that are not relevant. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my code - [ ] I have commented hard-to-understand areas - [ ] I have ideally added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged ## Screenshots (if appropriate):
47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
from dataclasses import dataclass
|
|
from typing import Optional
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class CreateChatHistory(BaseModel):
|
|
chat_id: UUID
|
|
user_message: str
|
|
assistant: str
|
|
prompt_id: Optional[UUID] = None
|
|
brain_id: Optional[UUID] = None
|
|
metadata: Optional[dict] = {}
|
|
|
|
|
|
class QuestionAndAnswer(BaseModel):
|
|
question: str
|
|
answer: str
|
|
|
|
|
|
@dataclass
|
|
class CreateChatProperties:
|
|
name: str
|
|
|
|
def __init__(self, name: str):
|
|
self.name = name
|
|
|
|
|
|
@dataclass
|
|
class ChatUpdatableProperties:
|
|
chat_name: Optional[str] = None
|
|
|
|
def __init__(self, chat_name: Optional[str]):
|
|
self.chat_name = chat_name
|
|
|
|
|
|
class ChatMessageProperties(BaseModel, extra="ignore"):
|
|
thumbs: Optional[bool]
|
|
|
|
def dict(self, *args, **kwargs):
|
|
chat_dict = super().dict(*args, **kwargs)
|
|
if chat_dict.get("thumbs"):
|
|
# Set thumbs to boolean value or None if not present
|
|
chat_dict["thumbs"] = bool(chat_dict["thumbs"])
|
|
return chat_dict
|