binhnase04854's picture
first deploy
b699122
raw
history blame
611 Bytes
"""Base output parser class."""
from abc import abstractmethod
from dataclasses import dataclass
from typing import Any, Optional, Protocol
@dataclass
class StructuredOutput:
"""Structured output class."""
raw_output: str
parsed_output: Optional[Any] = None
class BaseOutputParser(Protocol):
"""Output parser class."""
@abstractmethod
def parse(self, output: str) -> Any:
"""Parse, validate, and correct errors programmatically."""
@abstractmethod
def format(self, output: str) -> str:
"""Format a query with structured output formatting instructions."""