Spaces:
Sleeping
Sleeping
Update pipelines/requirements_pipe.py
Browse files- pipelines/requirements_pipe.py +11 -14
pipelines/requirements_pipe.py
CHANGED
|
@@ -43,25 +43,22 @@ class RAGModel:
|
|
| 43 |
docs = self.retriever.search(query)
|
| 44 |
# Replace with your own synthesis and compliance assessment.
|
| 45 |
requirements = self.llm.summarize(query=query, docs=docs)
|
| 46 |
-
compliant = self._assess_compliance(requirements
|
| 47 |
return {
|
| 48 |
"requirements": requirements,
|
| 49 |
"compliant": compliant,
|
| 50 |
}
|
| 51 |
|
| 52 |
-
def _assess_compliance(self, requirements: str
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
"
|
| 57 |
-
"
|
| 58 |
-
"
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
)
|
| 62 |
-
|
| 63 |
-
decision = self.llm.generate(query=prompt, docs=docs).strip().upper()
|
| 64 |
-
return decision == "COMPLIANT"
|
| 65 |
|
| 66 |
|
| 67 |
class Router:
|
|
|
|
| 43 |
docs = self.retriever.search(query)
|
| 44 |
# Replace with your own synthesis and compliance assessment.
|
| 45 |
requirements = self.llm.summarize(query=query, docs=docs)
|
| 46 |
+
compliant = self._assess_compliance(requirements)
|
| 47 |
return {
|
| 48 |
"requirements": requirements,
|
| 49 |
"compliant": compliant,
|
| 50 |
}
|
| 51 |
|
| 52 |
+
def _assess_compliance(self, requirements: str) -> bool:
|
| 53 |
+
text = requirements.lower()
|
| 54 |
+
non_compliant_markers = [
|
| 55 |
+
"gap",
|
| 56 |
+
"missing",
|
| 57 |
+
"non-compliant",
|
| 58 |
+
"not compliant",
|
| 59 |
+
"fail",
|
| 60 |
+
]
|
| 61 |
+
return not any(marker in text for marker in non_compliant_markers)
|
|
|
|
|
|
|
|
|
|
| 62 |
|
| 63 |
|
| 64 |
class Router:
|