AI explanations¶
OpenPipeline works fully without AI. If you want an explanation that reads as if a person wrote it, you can turn one on with your own Anthropic API key. It is always optional and always off until you ask.
Turn it on¶
pip install 'openpipeline[ai]'
export ANTHROPIC_API_KEY=sk-ant-...
openpipeline serve path/to/project
The Docker image already includes the extra. Pass the key in:
docker run --rm -p 8484:8484 -e ANTHROPIC_API_KEY -v "$PWD:/project" ghcr.io/pawanpatil19/openpipeline
Then select a model and click Explain with AI. The panel shows a short summary in plain words and a list of things worth double-checking. Click Ask again to skip the cache and get a fresh answer.
The answer also holds a suggested model description and suggested notes for each column. The buttons Use as description and Use column notes put them in the editors. Nothing is saved until you click Save description or Save column descriptions. See Editing descriptions.
From the terminal:
openpipeline explain customers --ai
If AI is not set up, the button is hidden and a note at the bottom of the model
panel tells you what is missing. openpipeline explain --ai prints the same
reason as a warning and still shows the normal story.
Bring your own key¶
OpenPipeline never ships a key and has no account system. Calls go from your
machine straight to Anthropic with your key, and you pay Anthropic for them. The
key is read from the usual places: ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN,
ANTHROPIC_PROFILE, or a profile set up with the Anthropic command line tool
(ant auth login).
Privacy¶
What is sent
When you click Explain with AI or pass --ai, OpenPipeline sends the SQL
and documentation of the model you asked about, and of the models it reads
from, to Anthropic. Nothing is sent at any other time.
- Without a key, or with
OPENPIPELINE_AI=off, nothing can be sent. - Your warehouse is never contacted, and no data rows are sent. Only code and descriptions are.
- If your SQL or descriptions are confidential, check your company's rules before turning this on.
Caching¶
Answers are saved in .openpipeline/cache/ai inside your project. The cache key
is a hash of everything that was sent, so asking again about an unchanged model
is instant and free, and changing the SQL or its parents asks again.
Add .openpipeline/ to your .gitignore. It also holds
proposals.
Choosing the model¶
The default model is claude-opus-5-5. To use a different one, set
OPENPIPELINE_AI_MODEL:
export OPENPIPELINE_AI_MODEL=claude-sonnet-5-5
To switch AI off completely, even if a key is present:
export OPENPIPELINE_AI=off
In PR summaries¶
openpipeline review BASE HEAD --ai adds an "In plain words" paragraph to the top
of a PR summary. If the AI call fails, the normal summary is
still printed.