mirror of
https://github.com/lightbroker/llmsecops-research.git
synced 2026-07-10 23:03:45 +02:00
Merge remote-tracking branch 'origin/auto-generated-20250819-172955' into development
This commit is contained in:
@@ -2,7 +2,7 @@ name: 'Generative AI Guidelines Pre-Production Test'
|
||||
|
||||
on:
|
||||
# Triggers on pull requests and manual workflow dispatch
|
||||
pull_request:
|
||||
# pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from src.text_generation.common.model_id import ModelId
|
||||
class AppleOpenELMFoundationModel(BaseFoundationModel):
|
||||
"""apple/OpenELM-3B-Instruct implementation"""
|
||||
|
||||
MODEL_ID = ModelId.APPLE_OPENELM_3B_INSTRUCT.value
|
||||
MODEL_ID = ModelId.APPLE_OPENELM_3B_INSTRUCT
|
||||
|
||||
def __init__(self, config: AppleOpenELMConfig = AppleOpenELMConfig()):
|
||||
self.config = config
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
from src.text_generation.adapters.foundation_models.config.meta_llama_config import MetaLlamaConfig
|
||||
from src.text_generation.adapters.foundation_models.base.base_foundation_model import BaseFoundationModel
|
||||
|
||||
|
||||
from langchain_huggingface import HuggingFacePipeline
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
from src.text_generation.adapters.foundation_models.config.meta_llama_config import MetaLlamaConfig
|
||||
from src.text_generation.adapters.foundation_models.base.base_foundation_model import BaseFoundationModel
|
||||
from src.text_generation.common.model_id import ModelId
|
||||
|
||||
|
||||
class MetaLlamaFoundationModel(BaseFoundationModel):
|
||||
"""meta-llama/Llama-3.2-3B-Instruct implementation"""
|
||||
|
||||
MODEL_ID = ModelId.META_LLAMA_3_2_3B_INSTRUCT.value
|
||||
MODEL_ID = ModelId.META_LLAMA_3_2_3B_INSTRUCT
|
||||
|
||||
def __init__(self, config: MetaLlamaConfig = MetaLlamaConfig()):
|
||||
self.config = config
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
from langchain_huggingface import HuggingFacePipeline
|
||||
from optimum.onnxruntime import ORTModelForCausalLM
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
from src.text_generation.adapters.foundation_models.config.microsoft_phi3mini4k_config import MicrosoftPhi3Mini4KConfig
|
||||
from src.text_generation.adapters.foundation_models.base.base_foundation_model import BaseFoundationModel
|
||||
|
||||
@@ -168,9 +168,6 @@ class TextGenerationCompletionService(AbstractTextGenerationCompletionService):
|
||||
logger.info(f"Model {model_id.value} already loaded")
|
||||
return
|
||||
|
||||
if self._current_model is not None:
|
||||
self._current_model.unload()
|
||||
|
||||
self._current_model = self.factory.create_model(model_id, config)
|
||||
self._current_model_id: ModelId = model_id
|
||||
self.foundation_model_pipeline = self._current_model.create_pipeline()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from src.text_generation.common.model_id import ModelId
|
||||
from src.text_generation.services.nlp.abstract_text_generation_completion_service import AbstractTextGenerationCompletionService
|
||||
from tests.integration.test_utils import run_prompt_analysis_test
|
||||
from tests.integration.test_utils import get_prompt_batch, run_prompt_analysis_test
|
||||
|
||||
|
||||
def test_00_benign_prompts_no_mitigation_apple_openelm_3b_instruct(
|
||||
@@ -15,12 +15,16 @@ def test_00_benign_prompts_no_mitigation_apple_openelm_3b_instruct(
|
||||
if len(prompt_injection_all_example_responses) == 0:
|
||||
raise ValueError('Unable to load prompt injection examples')
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(math_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=0,
|
||||
model_id=ModelId.APPLE_OPENELM_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=math_prompts,
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
from src.text_generation.common.model_id import ModelId
|
||||
from src.text_generation.services.nlp.abstract_text_generation_completion_service import AbstractTextGenerationCompletionService
|
||||
from tests.integration.test_utils import run_prompt_analysis_test
|
||||
from tests.integration.test_utils import get_prompt_batch, run_prompt_analysis_test
|
||||
|
||||
|
||||
def test_00_benign_prompts_no_mitigation_meta_llama_3_2_3b_instruct(
|
||||
@@ -15,12 +15,16 @@ def test_00_benign_prompts_no_mitigation_meta_llama_3_2_3b_instruct(
|
||||
if len(prompt_injection_all_example_responses) == 0:
|
||||
raise ValueError('Unable to load prompt injection examples')
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(math_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=0,
|
||||
model_id=ModelId.META_LLAMA_3_2_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=math_prompts,
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
from src.text_generation.common.model_id import ModelId
|
||||
from src.text_generation.services.nlp.abstract_text_generation_completion_service import AbstractTextGenerationCompletionService
|
||||
from tests.integration.test_utils import run_prompt_analysis_test
|
||||
from tests.integration.test_utils import get_prompt_batch, run_prompt_analysis_test
|
||||
|
||||
|
||||
def test_00_benign_prompts_no_mitigation_microsoft_phi_3_mini4k_instruct(
|
||||
@@ -15,12 +15,16 @@ def test_00_benign_prompts_no_mitigation_microsoft_phi_3_mini4k_instruct(
|
||||
if len(prompt_injection_all_example_responses) == 0:
|
||||
raise ValueError('Unable to load prompt injection examples')
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(math_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=0,
|
||||
model_id=ModelId.MICROSOFT_PHI_3_MINI4K_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=math_prompts,
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
|
||||
+5
-1
@@ -16,12 +16,16 @@ def test_01_malicious_prompts_no_mitigation_apple_openelm_3b_instruct(
|
||||
def configure_service(service):
|
||||
return service.without_guidelines()
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=1,
|
||||
model_id=ModelId.APPLE_OPENELM_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
+5
-1
@@ -16,12 +16,16 @@ def test_01_malicious_prompts_no_mitigation_meta_llama_3_2_3b_instruct(
|
||||
def configure_service(service):
|
||||
return service.without_guidelines()
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=1,
|
||||
model_id=ModelId.META_LLAMA_3_2_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
+5
-1
@@ -16,12 +16,16 @@ def test_01_malicious_prompts_no_mitigation_microsoft_phi_3_mini4k_instruct(
|
||||
def configure_service(service):
|
||||
return service.without_guidelines()
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=1,
|
||||
model_id=ModelId.MICROSOFT_PHI_3_MINI4K_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -17,12 +17,16 @@ def test_02_malicious_prompts_cot_apple_openelm_3b_instruct(
|
||||
return (service
|
||||
.with_chain_of_thought_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=2,
|
||||
model_id=ModelId.APPLE_OPENELM_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -17,12 +17,16 @@ def test_02_malicious_prompts_cot_meta_llama_3_2_3b_instruct(
|
||||
return (service
|
||||
.with_chain_of_thought_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=2,
|
||||
model_id=ModelId.META_LLAMA_3_2_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -17,12 +17,16 @@ def test_02_malicious_prompts_cot_microsoft_phi_3_mini4k_instruct(
|
||||
return (service
|
||||
.with_chain_of_thought_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=2,
|
||||
model_id=ModelId.MICROSOFT_PHI_3_MINI4K_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -17,12 +17,16 @@ def test_03_malicious_prompts_rag_apple_openelm_3b_instruct(
|
||||
return (service
|
||||
.with_rag_context_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=3,
|
||||
model_id=ModelId.APPLE_OPENELM_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -17,12 +17,16 @@ def test_03_malicious_prompts_rag_meta_llama_3_2_3b_instruct(
|
||||
return (service
|
||||
.with_rag_context_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=3,
|
||||
model_id=ModelId.META_LLAMA_3_2_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
@@ -15,12 +15,16 @@ def test_03_malicious_prompts_rag_microsoft_phi_3_mini4k_instruct(
|
||||
return (service
|
||||
.with_rag_context_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=3,
|
||||
model_id=ModelId.MICROSOFT_PHI_3_MINI4K_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
+5
-1
@@ -18,12 +18,16 @@ def test_04_malicious_prompts_rag_and_cot_apple_openelm_3b_instruct(
|
||||
.with_chain_of_thought_guidelines()
|
||||
.with_rag_context_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=4,
|
||||
model_id=ModelId.APPLE_OPENELM_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
+5
-1
@@ -18,12 +18,16 @@ def test_04_malicious_prompts_rag_and_cot_meta_llama_3_2_3b_instruct(
|
||||
.with_chain_of_thought_guidelines()
|
||||
.with_rag_context_guidelines())
|
||||
|
||||
prompt_batch, start, end = get_prompt_batch(malicious_prompts)
|
||||
|
||||
results = run_prompt_analysis_test(
|
||||
test_id=4,
|
||||
model_id=ModelId.META_LLAMA_3_2_3B_INSTRUCT,
|
||||
text_generation_completion_service=text_generation_completion_service,
|
||||
semantic_similarity_service=semantic_similarity_service,
|
||||
prompts=get_prompt_batch(malicious_prompts),
|
||||
prompts=prompt_batch,
|
||||
start=start,
|
||||
end=end,
|
||||
comparison_texts=prompt_injection_all_example_responses,
|
||||
service_configurator=configure_service
|
||||
)
|
||||
+1336
File diff suppressed because it is too large
Load Diff
+1336
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user