From 0da6d74320157a1b020f79bfad3aaef116190831 Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Sat, 6 Jan 2024 14:55:29 -0800 Subject: [PATCH] Remove file --- permchain/pregel/model.py | 50 --------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 permchain/pregel/model.py diff --git a/permchain/pregel/model.py b/permchain/pregel/model.py deleted file mode 100644 index 8607ed374..000000000 --- a/permchain/pregel/model.py +++ /dev/null @@ -1,50 +0,0 @@ -from __future__ import annotations - -from dataclasses import dataclass, field -from typing import Any, ClassVar, Dict -from langchain_core.pydantic_v1 import dataclasses - -from permchain.checkpoint.base import BaseCheckpointAdapter -from permchain.pregel import Pregel - -dataclasses.DataclassClassOrWrapper - -from langchain_core.messages import BaseMessage -from langchain_core.runnables import RunnableLambda - -from permchain.pregel.read import ChannelInvoke - - -def on_change(field_name: str): - def decorator(func): - return ChannelInvoke(bound=RunnableLambda(func), triggers=[field_name]) - - return decorator - - -class DataclassProtocol: - __dataclass_fields__: ClassVar[Dict[str, Any]] - - -def thread(data: type[DataclassProtocol], thread_id: str, saver: BaseCheckpointAdapter): - return Pregel( - chains={ - v.__name__: v - for v in data.__dict__.values() - if isinstance(v, ChannelInvoke) - } - ) - - -@dataclass -class Agent: - messages: list[BaseMessage] = field(default_factory=list) - actions: list[BaseMessage] = field(default_factory=list) - - @on_change("messages") - def plan(self): - ... - - @on_change("actions") - def execute(self): - ...