class CausalReasoning(dspy.Signature): """You are an expert in causal reasoning. Analyze the given question carefully and answer Yes or No. Provide a detailed explanation justifying your answer.""" question: str = dspy.InputField(desc="The question to be answered") answer: str = dspy.OutputField(desc="Yes or No") confidence: float = dspy.OutputField(desc="Confidence score between 0 and 1") explanation: str = dspy.OutputField(desc="Detailed explanation for the answer")class CausalReasoningModule(dspy.Module): def __init__(self): self.prog = dspy.Predict(CausalReasoning) @weave.op() def forward(self, question: str) -> dict: result = self.prog(question=question) return { "answer": result.answer, "confidence": result.confidence, "explanation": result.explanation, }
Big-Bench Hard の因果推論サブセットの例を使って、LLMワークフロー、つまり CausalReasoningModule をテストしてみましょう。