0d3cb498a3
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled
87 lines
2.2 KiB
Markdown
87 lines
2.2 KiB
Markdown
# redteam-ollama (Ollama Red Team Example)
|
|
|
|
You can run this example with:
|
|
|
|
```bash
|
|
npx promptfoo@latest init --example redteam-ollama
|
|
cd redteam-ollama
|
|
```
|
|
|
|
This example shows how to red team an Ollama model using promptfoo. For a detailed walkthrough, see the [blog post](https://promptfoo.dev/blog/red-team-ollama-model/).
|
|
|
|
## Prerequisites
|
|
|
|
1. Install Node.js ^20.20.0 or >=22.22.0 (Node.js 20 support ends July 30, 2026; Node.js 24 LTS recommended). [Download Node.js](https://nodejs.org/en/download/)
|
|
2. Install Ollama from [ollama.ai](https://ollama.ai)
|
|
3. Start the Ollama service:
|
|
|
|
```bash
|
|
# On macOS/Linux
|
|
ollama serve
|
|
|
|
# On Windows
|
|
# Run Ollama from the installed application
|
|
```
|
|
|
|
4. Pull the model:
|
|
|
|
```bash
|
|
ollama pull llama3.2
|
|
|
|
# Verify the model is working:
|
|
ollama run llama3.2 "Hello, how are you?"
|
|
```
|
|
|
|
## Running the Example
|
|
|
|
1. Generate and run the adversarial test cases:
|
|
|
|
```bash
|
|
npx promptfoo@latest redteam run
|
|
```
|
|
|
|
2. Generate a report:
|
|
|
|
```bash
|
|
npx promptfoo@latest redteam report
|
|
```
|
|
|
|
The report will show vulnerability categories discovered, severity levels, specific test cases that exposed issues, and suggested mitigations. See the [blog post](https://promptfoo.dev/blog/red-team-ollama-model/) for example reports and screenshots.
|
|
|
|
## Configuration
|
|
|
|
The `promptfooconfig.yaml` file configures:
|
|
|
|
- Target model (Llama 3.2)
|
|
- System purpose and constraints
|
|
- Vulnerability types to test
|
|
- Test strategies
|
|
- Number of test cases per plugin
|
|
|
|
## Test Categories
|
|
|
|
This example tests for various vulnerabilities (see [full list](https://promptfoo.dev/docs/red-team/llm-vulnerability-types/)):
|
|
|
|
- Harmful content generation
|
|
- PII leakage
|
|
- Unauthorized commitments
|
|
- Hallucination
|
|
- Impersonation
|
|
- Jailbreak attempts
|
|
- Prompt injection
|
|
|
|
## Mitigating Vulnerabilities
|
|
|
|
Based on your test results, consider:
|
|
|
|
1. Adding explicit safety constraints in your system prompts
|
|
2. Implementing pre-processing to catch malicious inputs
|
|
3. Adding post-processing to filter harmful content
|
|
4. Adjusting temperature values to reduce erratic behavior
|
|
|
|
For more details, see:
|
|
|
|
- [Blog Post](https://promptfoo.dev/blog/red-team-ollama-model/)
|
|
- [Red Team Documentation](https://promptfoo.dev/docs/red-team/quickstart/)
|
|
- [Ollama Provider Guide](https://promptfoo.dev/docs/providers/ollama/)
|