rahgadda commited on
Commit
b925097
·
verified ·
1 Parent(s): b1aa6bd

Initial Draft

Browse files
dto/release_notes.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from langchain_core.pydantic_v1 import BaseModel, Field
2
+ from typing import List
3
+ from datetime import datetime
4
+
5
+
6
+ class Enhancement(BaseModel):
7
+ """Release Enhancement Pydantic Schema"""
8
+
9
+ title: str = Field(description="Provide enhancement title")
10
+ description: str = Field(description="Provide enhancement description")
11
+ benefits: str = Field(description="The benefit or impact on the user or system as a result of the enhancement")
12
+ reason: str = Field(description="The reason for implementing the change.")
13
+
14
+
15
+ class ReleaseNotes(BaseModel):
16
+ """Release Notes Pydantic Schema"""
17
+
18
+ release_date: str = Field(description="Provide release date",default=datetime.now().strftime('%d-%b-%Y').upper(), const=True)
19
+ product_name: str = Field(description="Provide product name",default="Oracle Banking Retail Lending", const=True)
20
+ summary: str = Field(description="A brief introduction highlighting the key focus of this release")
21
+ enhancements: List[Enhancement] = Field(description="List of enhancements in this release")
dto/requirement_gathering.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from langchain_core.pydantic_v1 import BaseModel, Field
2
+ from typing import List
3
+
4
+ class RequirementGathering(BaseModel):
5
+ """Requirement Gathering Pydantic Schema"""
6
+
7
+ overview: str = Field(description="Provide short overview of requirement")
8
+ description: str = Field(description="Provide requirement description. Ensure each requirement is explicitly stated as per the document.")
9
+ 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.")
10
+ reason: str = Field(description="The reason for implementing the requirement.")
11
+ 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.")
12
+ tags: List[str] = Field(description="List of tags for the requirement to identify into relevant categories(e.g., Product Specifications, Validations and Quality Standards)")
13
+
14
+ class RequirementGatheringDetails(BaseModel):
15
+ """Requirement Gathering Details Pydantic Schema"""
16
+
17
+ header: str = Field(description="Provide the header of the document.")
18
+ requirements: List[RequirementGathering] = Field(description="List of requirements gathered from the document.")
dto/user_story.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from langchain_core.pydantic_v1 import BaseModel, Field
2
+ from typing import List
3
+
4
+ class UserStoryScenarios(BaseModel):
5
+ """List of User Stories Business Scenarios Pydantic Schema"""
6
+
7
+ scenario_title: str = Field(description="Provide a business scenario acceptance criteria title")
8
+ pre_conditions: str = Field(description="Provide a precondition details")
9
+ action_details: str = Field(description="Provide action details to be taken in business application by the user role specified")
10
+ expected_outcome: str = Field(description="Provide list of activities to be allowed by business user role")
11
+
12
+ class UserStory(BaseModel):
13
+ """User Story Pydantic Schema"""
14
+
15
+ title: str = Field(description="Provide clear user story title")
16
+ role: str = Field(description="Provide application user role",default="Loan Servicing Agent",const=True)
17
+ feature: str = Field(description="Provide application feature/functionality")
18
+ benefit: str = Field(description="Provide benefits of the feature to the user role")
19
+ user_story_scenarios : List[UserStoryScenarios] = Field(description="Provide list of user story scenarios")