Skip to content

src.llm.adapters.base_vendor_adapter.BaseVendorAdapter

Abstract base class for any LLM vendor adapter. Must produce SSEChunk objects when streaming text.

Source code in src/llm/adapters/base_vendor_adapter.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class BaseVendorAdapter:
    """
    Abstract base class for any LLM vendor adapter.
    Must produce SSEChunk objects when streaming text.
    """

    @abstractmethod
    async def gen_sse_stream(self, prompt: str) -> AsyncGenerator[SSEChunk, None]:
        """
        Generate SSEChunk objects in a streaming manner from the given prompt.
        """
        pass

    # Optionally, you can define a chat method if you differentiate chat vs text
    @abstractmethod
    async def gen_chat_sse_stream(self, messages: List[TextChatMessage], tools: Optional[List[Tool]]) -> AsyncGenerator[SSEChunk, None]:
        pass

gen_sse_stream(prompt) abstractmethod async

Generate SSEChunk objects in a streaming manner from the given prompt.

Source code in src/llm/adapters/base_vendor_adapter.py
16
17
18
19
20
21
@abstractmethod
async def gen_sse_stream(self, prompt: str) -> AsyncGenerator[SSEChunk, None]:
    """
    Generate SSEChunk objects in a streaming manner from the given prompt.
    """
    pass