about summary refs log tree commit diff
path: root/R2R/r2r/pipelines/eval_pipeline.py
diff options
context:
space:
mode:
Diffstat (limited to 'R2R/r2r/pipelines/eval_pipeline.py')
-rwxr-xr-xR2R/r2r/pipelines/eval_pipeline.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/R2R/r2r/pipelines/eval_pipeline.py b/R2R/r2r/pipelines/eval_pipeline.py
new file mode 100755
index 00000000..60aa50d4
--- /dev/null
+++ b/R2R/r2r/pipelines/eval_pipeline.py
@@ -0,0 +1,37 @@
+import logging
+from typing import Any, Optional
+
+from r2r.base.logging.run_manager import RunManager
+from r2r.base.pipeline.base_pipeline import AsyncPipeline
+from r2r.base.pipes.base_pipe import AsyncPipe, AsyncState
+
+logger = logging.getLogger(__name__)
+
+
+class EvalPipeline(AsyncPipeline):
+    """A pipeline for evaluation."""
+
+    pipeline_type: str = "eval"
+
+    async def run(
+        self,
+        input: Any,
+        state: Optional[AsyncState] = None,
+        stream: bool = False,
+        run_manager: Optional[RunManager] = None,
+        *args: Any,
+        **kwargs: Any,
+    ):
+        return await super().run(
+            input, state, stream, run_manager, *args, **kwargs
+        )
+
+    def add_pipe(
+        self,
+        pipe: AsyncPipe,
+        add_upstream_outputs: Optional[list[dict[str, str]]] = None,
+        *args,
+        **kwargs,
+    ) -> None:
+        logger.debug(f"Adding pipe {pipe.config.name} to the EvalPipeline")
+        return super().add_pipe(pipe, add_upstream_outputs, *args, **kwargs)