Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions annotation/annotate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import time
from typing import Annotated
from pydantic import BaseModel, Field

from langgraph.graph import StateGraph, START, END
from langchain_model import ChatModel

from prompts import ANNOTATION_PROMPT, ANNOTATION_PARSER


# -------------------------------------------------------------------
# States
# -------------------------------------------------------------------
class InputState(BaseModel):
context: str = Field(default="")
claim: str = Field(default="")


class AnnotationState(BaseModel):
context: str = Field(default="")
claim: str = Field(default="")
faithfulness: str = Field(default="")
factuality: str = Field(default="")


class OutputState(BaseModel):
faithfulness: str = Field(default="")
factuality: str = Field(default="")


# -------------------------------------------------------------------
# Model Initialization
# -------------------------------------------------------------------
model = ChatModel()

# -------------------------------------------------------------------
# Chain Initialization
# -------------------------------------------------------------------
chain = ANNOTATION_PROMPT | model | ANNOTATION_PARSER


# -------------------------------------------------------------------
# Annotation Functions
# -------------------------------------------------------------------
def annotate(state: AnnotationState) -> AnnotationState:
result = chain.invoke({"context": state.context, "claim": state.claim})
state.faithfulness = result.faithfulness
state.factuality = result.factuality
return state


# -------------------------------------------------------------------
# Main Graph
# -------------------------------------------------------------------
builder = StateGraph(AnnotationState, input=InputState, output=OutputState)
builder.add_node("annotate", annotate)
builder.add_edge(START, "annotate")
builder.add_edge("annotate", END)

graph = builder.compile()
graph.step_timeout = 20
99,631 changes: 99,631 additions & 0 deletions annotation/data/preprocessed/Falcon3-3B-Base.json

Large diffs are not rendered by default.

98,627 changes: 98,627 additions & 0 deletions annotation/data/preprocessed/Llama-3.2-3B-Instruct.json

Large diffs are not rendered by default.

117,703 changes: 117,703 additions & 0 deletions annotation/data/processed/Falcon3-3B-Base.json

Large diffs are not rendered by default.

Loading