Merge remote-tracking branch 'origin/auto-generated-20250819-172955' into development

This commit is contained in:
Adam Wilson
2025-08-19 15:06:09 -06:00
21 changed files with 2750 additions and 29 deletions
+1 -1
View File
@@ -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
)
@@ -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
)
@@ -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
)
@@ -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
)
@@ -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
)
@@ -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
)
@@ -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
)
@@ -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
)