Refactor model implementation

This commit is contained in:
Aiden Dai
2024-05-09 16:58:04 +08:00
parent 180c199da9
commit 9f6b334385
4 changed files with 316 additions and 186 deletions
+9 -6
View File
@@ -29,11 +29,17 @@ class BaseChatModel(ABC):
"""Handle a basic chat completion requests with stream response."""
pass
def _generate_message_id(self) -> str:
@staticmethod
def generate_message_id() -> str:
return "chatcmpl-" + str(uuid.uuid4())[:8]
def _stream_response_to_bytes(self, response: ChatStreamResponse) -> bytes:
return "data: {}\n\n".format(response.model_dump_json()).encode("utf-8")
@staticmethod
def stream_response_to_bytes(
response: ChatStreamResponse | None = None
) -> bytes:
if response:
return "data: {}\n\n".format(response.model_dump_json()).encode("utf-8")
return "data: [DONE]\n\n".encode("utf-8")
class BaseEmbeddingsModel(ABC):
@@ -46,6 +52,3 @@ class BaseEmbeddingsModel(ABC):
def embed(self, embeddings_request: EmbeddingsRequest) -> EmbeddingsResponse:
"""Handle a basic embeddings request."""
pass
def _generate_message_id(self) -> str:
return "embeddings-" + str(uuid.uuid4())[:8]