| from typing import TypedDict, Annotated, Sequence, Optional, List | |
| from langchain_core.messages import AnyMessage, HumanMessage, AIMessage, SystemMessage, ToolMessage | |
| from langgraph.graph.message import add_messages | |
| from pydantic import BaseModel, Field | |
| from enum import Enum | |
| class RAG_method(str, Enum): | |
| RAG = "RAG" | |
| WEBSEARCH = "WEBSEARCH" | |
| GENERAL = "GENERAL" | |
| class AgentState(TypedDict): | |
| messages: Annotated[Sequence[AnyMessage], add_messages] | |
| rag_method: RAG_method | |
| context: Optional[str] | |
| if __name__ == "__main__": | |
| pass |