Add reusable LLM parser profiles with multi-event extract.
Support kind=llm profiles (instruction/schema), optional multi-event posts via #eN URLs, and recover stale running/queued parse jobs after worker crashes. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -161,15 +161,19 @@ class IngestResponse(BaseModel):
|
||||
|
||||
class ParserProfileCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=255)
|
||||
kind: str = Field(default="heuristic", pattern="^(heuristic|llm)$")
|
||||
sample_post: str = ""
|
||||
heuristic_profile: dict[str, Any] | None = None
|
||||
llm_profile: dict[str, Any] | None = None
|
||||
status: str | None = None
|
||||
|
||||
|
||||
class ParserProfileUpdate(BaseModel):
|
||||
name: str | None = Field(default=None, min_length=1, max_length=255)
|
||||
kind: str | None = Field(default=None, pattern="^(heuristic|llm)$")
|
||||
sample_post: str | None = None
|
||||
heuristic_profile: dict[str, Any] | None = None
|
||||
llm_profile: dict[str, Any] | None = None
|
||||
status: str | None = None
|
||||
|
||||
|
||||
@@ -178,8 +182,10 @@ class ParserProfileRead(BaseModel):
|
||||
|
||||
id: int
|
||||
name: str
|
||||
kind: str = "heuristic"
|
||||
sample_post: str
|
||||
heuristic_profile: dict[str, Any] | None
|
||||
llm_profile: dict[str, Any] | None = None
|
||||
status: str
|
||||
created_at: datetime
|
||||
|
||||
|
||||
Reference in New Issue
Block a user