lpgcast.sink¶
The same shape as graflo's DocErrorSink: a small async protocol and a JSON
Lines implementation. Three record kinds share one file — finding (an item
left out after repairs), episode (an episode that produced nothing, e.g. no
schema matched or the reply never parsed) and unmapped (what the model saw
and no type covers: proposals for the schema, not failures).
Classes¶
JsonlQuarantineSink
¶
Appends records to a JSON Lines file.
Source code in lpgcast/sink.py
Attributes¶
path = Path(path)
instance-attribute
¶
Methods:¶
__init__(path)
¶
write_records(records)
async
¶
Source code in lpgcast/sink.py
MemoryQuarantineSink
¶
QuarantineRecord
¶
Bases: BaseModel
One quarantined item.
Source code in lpgcast/sink.py
Attributes¶
attempts = Field(default=0, description='Model requests made for the episode.')
class-attribute
instance-attribute
¶
char_end = None
class-attribute
instance-attribute
¶
char_start = None
class-attribute
instance-attribute
¶
detail = None
class-attribute
instance-attribute
¶
fragment = Field(default=None, description='The item as the model wrote it.')
class-attribute
instance-attribute
¶
kind = Field(description='Finding kind, episode failure kind, or ``unmapped``.')
class-attribute
instance-attribute
¶
message = ''
class-attribute
instance-attribute
¶
path = Field(default=None, description='Location in the reply.')
class-attribute
instance-attribute
¶
quote = None
class-attribute
instance-attribute
¶
raw_output = Field(default=None, description='The reply the item came from.')
class-attribute
instance-attribute
¶
record
instance-attribute
¶
schema_ref = None
class-attribute
instance-attribute
¶
source_id
instance-attribute
¶
QuarantineSink
¶
Bases: Protocol
Where quarantined records go.