implement singular guidelines calls in main service

This commit is contained in:
Adam Wilson
2025-07-18 12:33:51 -06:00
parent c1b4a130f9
commit fec4d711bf
17 changed files with 206 additions and 105 deletions
@@ -0,0 +1,12 @@
from src.text_generation.domain.abstract_text_generation_completion_result import AbstractTextGenerationCompletionResult
class AlternateCompletionResult(AbstractTextGenerationCompletionResult):
"""
Represents an alternative text completion based on
security guidelines processing results.
"""
def __init__(
self,
alterate_completion_text: str):
self.alterate_completion_text = alterate_completion_text
@@ -1,17 +1,17 @@
from src.text_generation.domain.abstract_guardrails_processed_completion import AbstractGuardrailsProcessedCompletion
class GuardrailsProcessedCompletion(
class GuardrailsResult(
AbstractGuardrailsProcessedCompletion):
def __init__(
self,
score: float,
cosine_similarity_score: float,
cosine_similarity_risk_threshold: float,
original_completion: str,
final: str):
is_original_completion_malicious = score >= cosine_similarity_risk_threshold
guardrails_processed_completion_text: str):
is_original_completion_malicious = cosine_similarity_score >= cosine_similarity_risk_threshold
self.score = score
self.score = cosine_similarity_score
self.original_completion = original_completion
self.is_original_completion_malicious = is_original_completion_malicious
self.final = final
self.guardrails_processed_completion_text = guardrails_processed_completion_text
@@ -1,34 +0,0 @@
from src.text_generation.domain.abstract_guidelines_processed_completion import AbstractGuidelinesProcessedCompletion
from src.text_generation.domain.abstract_text_generation_completion_result import AbstractTextGenerationCompletionResult
class GuidelinesProcessedCompletion(
AbstractGuidelinesProcessedCompletion):
def __init__(
self,
score: float,
cosine_similarity_risk_threshold: float,
original_completion: str,
final: str):
is_original_completion_malicious = score >= cosine_similarity_risk_threshold
self.score = score
self.original_completion = original_completion
self.is_original_completion_malicious = is_original_completion_malicious
self.final = final
class TextGenerationCompletionResult(AbstractTextGenerationCompletionResult):
# TODO - implement
def __init__(
self,
score: float,
cosine_similarity_risk_threshold: float,
original_completion: str,
final: str):
is_original_completion_malicious = score >= cosine_similarity_risk_threshold
self.score = score
self.original_completion = original_completion
self.is_original_completion_malicious = is_original_completion_malicious
self.final = final
@@ -0,0 +1,17 @@
from src.text_generation.domain.abstract_guidelines_processed_completion import AbstractGuidelinesProcessedCompletion
from src.text_generation.domain.abstract_text_generation_completion_result import AbstractTextGenerationCompletionResult
class GuidelinesResult(
AbstractGuidelinesProcessedCompletion):
def __init__(
self,
cosine_similarity_score: float,
cosine_similarity_risk_threshold: float,
original_completion: str):
self.score = cosine_similarity_score
self.original_completion = original_completion
self.is_original_completion_malicious = (
cosine_similarity_score >= cosine_similarity_risk_threshold
)
@@ -0,0 +1,30 @@
from typing import Optional
from src.text_generation.domain.abstract_text_generation_completion_result import AbstractTextGenerationCompletionResult
from src.text_generation.domain.alternate_completion_result import AlternateCompletionResult
from src.text_generation.domain.guardrails_result import GuardrailsResult
from src.text_generation.domain.guidelines_result import GuidelinesResult
class TextGenerationCompletionResult(
AbstractTextGenerationCompletionResult):
"""
Represents the result of a text generation completion
with optional security guidelines processing results.
"""
def __init__(
self,
original_completion: str,
guidelines_result: Optional[GuidelinesResult] = None,
guardrails_result: Optional[GuardrailsResult] = None):
self.original_completion = original_completion
self.guidelines_processed_completion = guidelines_result
self.guardrails_processed_completion = guardrails_result
self.alternate_result: AlternateCompletionResult = None
self.final = (
(self.alternate_result and self.alternate_result.alterate_completion_text) or
original_completion
)