Instructions to use deepcode-ai/Prompt-Injection-LLM01 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Adapters
How to use deepcode-ai/Prompt-Injection-LLM01 with Adapters:
from adapters import AutoAdapterModel model = AutoAdapterModel.from_pretrained("undefined") model.load_adapter("deepcode-ai/Prompt-Injection-LLM01", set_active=True) - Notebooks
- Google Colab
- Kaggle
| import hashlib | |
| from prompt_injection.evaluators.gpt2_perplexity import GPT2PerplexityEvaluator | |
| from prompt_injection.evaluators.gpt2_sequence_length import GPT2SequenceLengthPromptEvaluator | |
| from prompt_injection.evaluators.mini_llm_perplexity import MiniLMEmbeddingPromptEvaluator | |
| from prompt_injection.evaluators.sha256_evaluator import Sha256PromptEvaluator | |
| from prompt_injection.evaluators.utils import evaluate_all | |
| from prompt_injection.mutators.llm_mutator import AttackerLLMBasicPromptMutator | |
| from prompt_injection.mutators.roundtrip_mutator import RoundTripPromptMutator | |
| from prompt_injection.mutators.typo_mutator import TypoPromptMutator | |
| from prompt_injection.mutators.utils import mutate_all | |
| import pandas as pd | |
| def get_sig(sample:str)->str: | |
| # Encode the text to bytes | |
| text_bytes = sample.encode('utf-8') | |
| # Create a sha256 hash object | |
| sha256_hash = hashlib.sha256() | |
| # Update the hash object with the bytes | |
| sha256_hash.update(text_bytes) | |
| # Get the hexadecimal representation of the hash | |
| hash_hex = sha256_hash.hexdigest() | |
| return hash_hex | |
| mutators=[ | |
| TypoPromptMutator(0.05), | |
| TypoPromptMutator(0.1), | |
| TypoPromptMutator(0.2), | |
| AttackerLLMBasicPromptMutator(), | |
| RoundTripPromptMutator(label="en->ch->en") | |
| ] | |
| evaluators=[ | |
| GPT2PerplexityEvaluator(), | |
| GPT2SequenceLengthPromptEvaluator(), | |
| MiniLMEmbeddingPromptEvaluator() | |
| ] | |
| texts=["Hello my friend"] | |
| def generate_dataset(texts,file_name): | |
| data=[] | |
| original=[] | |
| idx_list=[] | |
| sigs=[] | |
| for _,row in mutate_all(texts,mutators,file_name+"tmp_mutate.pkl").iterrows(): | |
| idx=row['idx'] | |
| original_prompt=row['Prompt'] | |
| prompts_variations=(row.values[2:]) | |
| for prompt_variation in prompts_variations: | |
| idx_list.append(idx) | |
| data.append(prompt_variation) | |
| original.append(original_prompt) | |
| sigs.append(get_sig(original_prompt)) | |
| results=evaluate_all(data,evaluators,file_name+"tmp_evaluate.pkl") | |
| results['idx']=idx | |
| results['Original_Prompt']=original | |
| results['sha256']=sigs | |
| results.to_csv(file_name+".csv") | |
| return results | |
| generate_dataset(texts,"example") |