Check text for vulnerabilities. Input body in the form of string. Avg latency <200 ms.

Example: Checking for an injection inside of text/unstructured data

def content_contains_attack(content : str) -> bool:
  url = "https://api.promptarmor.com/v1/check_content"
  
  headers = {
      "accept": "application/json; charset=utf-8",
      "content-type": "application/json",
      #You should store your API key in an environment variable
      "Api-Key": "Your-Api-Key"
  }
    
  #Call the PromptArmor endpoint
  contains_attack = requests.post(url,  data=content, headers=headers).json()["containsInjection"]
  
  return contains_attack

Implementation Example: Chatbot

def process_user_message(user_message: str) -> str:
  
  if content_contains_injection(message):
    return "Please don't use injections! Try another message."
  
  #If there isn't an injection, continue with the response logic
  chat_completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": user_message}])
  
  return chat_completion

Implementation Example: Agents

def process_external_data(data: str):
  
  if content_contains_injection(data):
    print("Injection found in data!")
    #Handle the injection case(e.g. skip processing the file
    ...
  
  #No injection, continue with the agent action
  do_agent_action_on_data(data)

Language
Click Try It! to start a request and see the response here!