class QueryRewriting(dspy.Signature): user_query: str = dspy.InputField() conversation: str = dspy.InputField( description="The conversation so far") modified_query: str = dspy.OutputField( description="a query contextualizing the user query with the conversation's context and optimized for retrieval search" )