FAQ === Frequently Asked Questions about **ARES** – AI Robustness Evaluation System. 🧩 General Questions -------------------- **What is ARES?** ARES is a plugin-based framework developed by IBM Research for automated red-teaming of AI systems. It helps evaluate model robustness using configurable scenarios and extensible plugins. **What types of models can ARES evaluate?** ARES supports standard model providers (HuggingFace, LiteLLM, etc), REST API endpoints, etc via connector plugins. These include HuggingFace transformers, OpenAI APIs, and custom endpoints. **What are plugins in ARES?** Plugins extend ARES functionality. Types include: - 🎯 Attack Plugins - 🔗 Connector Plugins - 🎓 Goals Plugins - 📊 Evaluation Plugins 🔧 Installation and Setup ------------------------- **How do I install ARES?** You can install ARES in several ways: - Clone the repository: .. code-block:: bash git clone https://github.com/IBM/ares.git cd ares pip install . - Using pip or uv (if available): .. code-block:: bash pip install ares-redteamer **Which Python versions are supported?** ARES requires **Python 3.10+**. **How do I run ARES after installation?** Use the following command to run minimal example: .. code-block:: bash ares evaluate example_configs/minimal.yaml **Where can I find examples?** Check the `example_configs/ `_ folder in the repository, a `walkthrough notebook/ `_, or explore the documentation. 🧰 Configuration and Usage -------------------------- **How do I craft `example_config.yaml` files for ARES?** Start with examples in the `example_configs/ `_ folder. See the ARES Configuration for details on how to populate each node (target/red-teaming/strategy/goals/evaluation/connector) **How do connectors work and how can I run one?** Connectors interface with models or AI endpoints. Define them in `connectors.yaml `_, use in your `example_config.yaml` and ARES will initialize them. Developers can use `_build_connector()` internally to instantiate connectors. **How do I use different intents and implement them?** Intents define the goal of a red-teaming scenario (e.g., privacy leak, prompt injection). Choose intents aligned with your evaluation goals and map them to OWASP/NIST categories. Check `intents.json` for OWAPS intents. **How do I use `example_config` to run a test?** Use a sample from `example_configs/ `_, modify paths and parameters, then run: .. code-block:: bash ares evaluate path/to/example_config.yaml 🛠️ Troubleshooting and Development ---------------------------------- **Why did my custom evaluation framework default to Keywords Evaluation?** This fallback occurs when ARES fails to load your custom plugin. Check for: - Incorrect interface implementation - Typo in ``type`` value (full class name of the plugin module) in your YAML config - Plugin not installed - Incorrect YAML config structure - check more example YAMLs in the `example_configs/ `_ **How do I implement a custom evaluation plugin?** Create a folder under `plugins/` using a template folder provided there, use ARES AttackEval() as a base class and implement the `evaluate()` method. Reference this class in your config file. **How do I run a connector manually?** If developing or debugging, use `_build_connector()` to instantiate a connector class with its config. Normally, ARES handles this automatically. You can also use ``connector:`` key on YAML config to acces specific connector from your plugin/module. **Does ARES support GPU acceleration?** Yes, if endpoint supports acceleration, the connector class will have this option to configure (e.g. check `HuggingFace examples `_) 📚 Learn More ------------- Visit the full documentation for: - Plugin development - Configuration options - Contribution guidelines ARES is open-source and welcomes community contributions.