20 lines
415 B
Python
20 lines
415 B
Python
|
|
from dataclasses import dataclass
|
||
|
|
from datetime import datetime
|
||
|
|
from typing import Protocol
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class GenAiChatMessage:
|
||
|
|
actor: str # 'user' | 'agent'
|
||
|
|
content: str
|
||
|
|
|
||
|
|
|
||
|
|
class GenerativeAiClient(Protocol):
|
||
|
|
async def complete(
|
||
|
|
self,
|
||
|
|
system_prompt: str,
|
||
|
|
messages: list[GenAiChatMessage],
|
||
|
|
model: str = "",
|
||
|
|
max_tokens: int = 2048,
|
||
|
|
) -> tuple[str, dict]: ...
|