MHRDYN7's picture
Deploy Anti-Hallucination Chat to personal Space
f3793b5 verified
Raw
History Blame Contribute Delete
1.34 kB
"""Chat turns, claims, and audit graph state."""
from __future__ import annotations
from typing import Literal, TypedDict
class Citation(TypedDict):
title: str
uri: str
class ChatTurn(TypedDict):
id: str
role: Literal["user", "assistant"]
content: str
class Claim(TypedDict):
id: str
message_id: str
order: int
text: str
is_claim: bool
comment: str
verdict: Literal["supported", "uncertain", "contradicted", "non_claim"]
reason: str
citations: list[Citation]
class ParagraphAudit(TypedDict):
index: int
raw_text: str
bullets: str
claims: list[Claim]
class MessageAudit(TypedDict, total=False):
message_id: str
role: Literal["user", "assistant"]
content: str
rewritten: str
paragraphs: list[ParagraphAudit]
claims: list[Claim]
status: Literal["pending", "running", "done", "error"]
# Progressive audit stream stages (published while status == running).
phase: Literal[
"queued",
"extracting",
"searching",
"judging",
"done",
"error",
]
evidence_text: str
class AuditState(TypedDict, total=False):
turns: list[ChatTurn]
message_audits: list[MessageAudit]
claims: list[Claim]
rewritten_transcript: str
injected_context: str
use_web_search: bool