mirror of
https://github.com/lightbroker/llmsecops-research.git
synced 2026-07-13 08:06:37 +02:00
implement singular guidelines calls in main service
This commit is contained in:
@@ -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
|
||||
+6
-6
@@ -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
|
||||
)
|
||||
Reference in New Issue
Block a user