mirror of
https://github.com/QuivrHQ/quivr.git
synced 2024-12-16 01:55:15 +03:00
2c71e0edc7
This pull request adds a new method called `calculate_pricing` to the `GPT4Brain` class in the codebase. This method calculates the pricing for the GPT4Brain model. Additionally, the user usage in the chat controller has been updated to include the new pricing calculation method.
42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
from abc import ABC, abstractmethod
|
|
from uuid import UUID
|
|
|
|
from modules.chat.dto.chats import ChatQuestion
|
|
|
|
|
|
class QAInterface(ABC):
|
|
"""
|
|
Abstract class for all QA interfaces.
|
|
This can be used to implement custom answer generation logic.
|
|
"""
|
|
|
|
@abstractmethod
|
|
def calculate_pricing(self):
|
|
raise NotImplementedError(
|
|
"calculate_pricing is an abstract method and must be implemented"
|
|
)
|
|
|
|
@abstractmethod
|
|
def generate_answer(
|
|
self,
|
|
chat_id: UUID,
|
|
question: ChatQuestion,
|
|
save_answer: bool,
|
|
*custom_params: tuple
|
|
):
|
|
raise NotImplementedError(
|
|
"generate_answer is an abstract method and must be implemented"
|
|
)
|
|
|
|
@abstractmethod
|
|
def generate_stream(
|
|
self,
|
|
chat_id: UUID,
|
|
question: ChatQuestion,
|
|
save_answer: bool,
|
|
*custom_params: tuple
|
|
):
|
|
raise NotImplementedError(
|
|
"generate_stream is an abstract method and must be implemented"
|
|
)
|