๐ŸPython library

Use Vigil as a Python library

Vigil can also be used within your own Python application as a library. This allows you to access the input and output scanners, canary token, and vector database functionality.

The Vigil library must be installed via

pip install -e .

Then import the Vigil class and pass it your config file.

Initialize scanners

from vigil.vigil import Vigil

app = Vigil.from_config('conf/openai.conf')

Pass your configuration file to Vigil.from_config. This exposes the following functions:

  • input_scanner.perform_scan(prompt)

  • output_scanner.perform_scan(prompt, response)

  • canary_tokens.add

  • canary_tokens.check

  • vectordb.add_texts

  • vectordb.add_embeddings

  • embedder.generate

Scan Prompts and Responses

app.input_scanner.perform_scan(
    input_prompt="prompt goes here"
)

app.output_scanner.perform_scan(
    input_prompt="prompt goes here",
    input_resp="LLM response goes here"
)

The scanners return a Python dictionary with the full results and any metadata.

Canary Tokens

updated_prompt = app.canary_tokens.add(
    prompt=application_prompt,          # prompt to add canary token to
    always=always if always else False, # add suffix to always include canary
    length=length if length else 16,    # canary token length
    header=header if header else '<-@!-- {canary} --@!->', # customize canary header
)

# canary_tokens.check() returns True if a canary is found
result = app.canary_tokens.check(prompt=llm_response)

Last updated