-
Notifications
You must be signed in to change notification settings - Fork 1
Installation
Aludel can run embedded in an existing Phoenix app, as a standalone dashboard, or through the repository Docker setup.
- Elixir 1.17+
- PostgreSQL 12+
- ImageMagick (optional, for PDF conversion)
- A provider API key for OpenAI, Anthropic, or Google Gemini if you are not using only Ollama
Aludel depends on PostgreSQL-specific features, including JSONB, percentile_disc(), and DATE()-based aggregations. SQLite and MySQL are not supported.
Use this path when you want Aludel mounted inside an existing Phoenix application.
def deps do
[
{:aludel, "~> 0.1"}
]
endmix deps.getconfig :aludel, repo: YourApp.Repomix aludel.install
mix ecto.migrateuse YourAppWeb, :router
import Aludel.Web.Router
if Mix.env() == :dev do
scope "/dev" do
pipe_through :browser
aludel_dashboard "/aludel"
end
endaludel_dashboard/2 also supports options such as :resolver, :on_mount, :socket_path, :transport, and :logo_path if your host app needs custom auth or routing behavior.
In config/runtime.exs:
config :aludel, :llm,
openai_api_key: System.get_env("OPENAI_API_KEY"),
anthropic_api_key: System.get_env("ANTHROPIC_API_KEY"),
google_api_key: System.get_env("GOOGLE_API_KEY")Development can use the local adapter:
config :aludel, Aludel.Storage,
adapter: Aludel.Interfaces.Storage.Adapters.Local,
backends: [{Aludel.Interfaces.Storage.Adapters.Local, []}]Production requires ALUDEL_STORAGE_BACKEND and a supported cloud backend:
export ALUDEL_STORAGE_BACKEND=aws
export AWS_S3_BUCKET=aludel-uploads
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...export ALUDEL_STORAGE_BACKEND=gcs
export GCS_BUCKET=aludel-uploads
export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account.jsonIf your GCS bucket requires requester-pays access, also set GCS_USER_PROJECT.
Use this path when you want Aludel running by itself.
git clone https://github.com/ccarvalho-eng/aludel.git
cd aludel/standalonemix deps.getmix ecto.create
mix ecto.migrateTo load sample prompts, providers, and suites:
mix aludel.seedmix phx.serverAccess at http://localhost:4000.
git clone https://github.com/ccarvalho-eng/aludel.git
cd aludelCreate .env with the values expected by docker-compose.yaml:
DATABASE_URL=postgres://postgres:postgres@db:5432/aludel_dash
SECRET_KEY_BASE=your_secret_key_here
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
PHX_HOST=localhostdocker compose up -dThis builds the standalone app image from standalone/Dockerfile, starts PostgreSQL, runs migrations, and launches the dashboard at http://localhost:4000.
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=...
# Ollama: no API key requiredmix test
mix precommit- Prompts
- Providers
- Runs and Execution
- Evaluation Suites
- Regex Assertions
- Metric Context
- Evaluator Execution Details
- Rubric Judges
- Judge Catalog
- Repeated Sampling
- Quality Policies
- ExUnit Evaluations
- File-Based Suites
- Evaluation Reporters
- Datasets
- Red-Team Datasets
- Generated Red-Team Cases
- Analytics and Prompt Evolution
- Exports and CI
- Documents and Storage
- Embedding and Access