import sys if "/app/langflow" not in sys.path: sys.path.insert(0, "/app/langflow") from langflow.custom import Component from langflow.io import DataInput, MessageTextInput, Output from langflow.schema import Data from projektmatch import stages from projektmatch.config import Cfg class PMExtract(Component): display_name = "PM 2 Extract" description = "LLM 1: Anforderungen strukturiert extrahieren" inputs = [ DataInput(name="ctx_in", display_name="Context"), MessageTextInput(name="vllm_base", display_name="vLLM Base", value="PM_VLLM_BASE", load_from_db=True, advanced=True), MessageTextInput(name="vllm_model", display_name="vLLM Model", value="PM_VLLM_MODEL", load_from_db=True, advanced=True), ] outputs = [Output(name="out", display_name="Context", method="build_out")] def build_out(self) -> Data: cfg = Cfg(vllm_base=self.vllm_base, vllm_model=self.vllm_model) ctx = stages.run_stage("extract", stages.stage_extract, dict(self.ctx_in.data), cfg) self.status = ctx.get("status", "") return Data(data=ctx)