|
from langchain_core.pydantic_v1 import BaseModel, Field
|
|
from typing import List
|
|
|
|
class RequirementGathering(BaseModel):
|
|
"""Requirement Gathering Pydantic Schema"""
|
|
|
|
overview: str = Field(description="Provide short overview of requirement")
|
|
description: str = Field(description="Provide requirement description. Ensure each requirement is explicitly stated as per the document.")
|
|
benefits: str = Field(description="The benefit or impact on the user or system as a result of the requirement. Ground it in the context of the document. Consider only for banking applications as product domain.")
|
|
reason: str = Field(description="The reason for implementing the requirement.")
|
|
priority: str = Field(description="The priority of the requirement. Return only one from list of values [High, Medium and Low]. Ground result based on the document.")
|
|
tags: List[str] = Field(description="List of tags for the requirement to identify into relevant categories(e.g., Product Specifications, Validations and Quality Standards)")
|
|
|
|
class RequirementGatheringDetails(BaseModel):
|
|
"""Requirement Gathering Details Pydantic Schema"""
|
|
|
|
header: str = Field(description="Provide the header of the document.")
|
|
requirements: List[RequirementGathering] = Field(description="List of requirements gathered from the document.") |