AI Assistant
The AI Assistant is a chat workbench for asking questions about the pipeline or workflow you have open. It can explain what a pipeline does, suggest fixes, and propose concrete changes that you review before anything is applied.
The assistant itself comes from Apache Hop. What is specific to Deem Integrator is which model it talks to: the request goes through Deem’s own chat client to your Azure AI Foundry deployment, not to a public model endpoint.
Opening a session
Section titled “Opening a session”Open a pipeline or workflow first — the assistant always works on an open file:
- the AI Help button in the pipeline or workflow toolbar
- right-click the canvas → Basic → AI Help
- right-click a transform or action → Basic → AI Help, which also sets that node as the focus of the question
The first time, these open a floating window so the canvas stays visible. After that the assistant
opens where you last had it, in its own window or in the dock. Ctrl+Shift+A opens the perspective
without binding a file, for a general conversation.
Window or dock
Section titled “Window or dock”Two buttons in the assistant’s toolbar move it:
- Open in a floating window moves it to a window of its own.
- Open in the bottom dock moves it into the dock below the canvas.
The assistant moves; it does not leave a copy behind. Your sessions stay the same wherever it is.
The dock can also sit to the right of the canvas instead of below it, which suits a long conversation next to a graph. Use Move the panel to the right in the dock’s own toolbar, next to Maximize, and Move the panel to the bottom to put it back. Deem Integrator remembers both choices, where the assistant was and where the dock sits, the next time you start it.
What is sent
Section titled “What is sent”The Sharing line above the question field lists exactly what this send includes, and the checkboxes below it let you add or remove parts. Everything is sent in a single request; the model cannot reach back into your project on its own.
Worth knowing before you turn on the larger options:
- Include full pipeline XML sends the whole pipeline, SQL statements included, with variables already resolved. It has a second gate in the configuration option, and it is off by default for that reason.
- Include selected metadata sends the chosen metadata objects with their contents — host names, database names, user names, paths.
- Fields whose name looks like a credential (
password,apikey,tokenand similar) are replaced before sending. A credential held in a field with a different name is not. Keeping secrets in variables rather than typed values is what actually protects them: then only the variable name is sent.
Setting up the AI Provider
Section titled “Setting up the AI Provider”The assistant needs a named AI Provider connection, chosen in the Provider field of the session. Create it in the Metadata perspective under AI Provider.
| Field | Value |
|---|---|
| Provider | Deem Azure OpenAI |
| Base URL | Your Azure AI Foundry resource endpoint, for example https://<resource>.openai.azure.com |
| API key | A variable, for example ${AI_API_KEY} — see below |
| Model name | The deployment name in Foundry, not a public model id |
| Timeout (seconds) | How long one call may take |
The provider list shows only the types that have a client in Deem Integrator: Deem Azure OpenAI, which is the supported one, and OpenAI. The other provider types that ship with Apache Hop are left out.
Where the connection should live
Section titled “Where the connection should live”An AI Provider is ordinary project metadata, which means it is committed to the project’s Git repository and shared with everyone who clones it. The API key marked as a password is obfuscated, not encrypted — so a connection with a typed key is a shared key.
That leads to two separate connections for two separate purposes:
For pipelines that run unattended, the connection belongs in the project, exactly like a database connection, with the key as a variable that the run environment supplies. This is what a container running a workflow needs, and it travels with the project.
For your own use of the assistant, keep the connection out of the project entirely — put it in
your personal Hop configuration folder, ${HOP_CONFIG_FOLDER}/metadata/ai-provider/. It is then per
machine, never in a checkout, and available whichever project you open.
To make the personal folder visible, set the project’s metadata base folder to list both, with the configuration folder first:
${HOP_CONFIG_FOLDER}/metadata,${PROJECT_HOME}/metadataThe order matters and is easy to get backwards:
- New metadata is written to the last folder in the list. With the project last, everything you create in the GUI still lands in the project, where it belongs.
- On a name clash the last folder wins, so a project can override a personal connection.
- A folder that does not exist is simply skipped when reading, so the same setting is harmless in a container where the configuration folder holds nothing.
Always put the key in a variable
Section titled “Always put the key in a variable”Use ${AI_API_KEY} rather than typing the key, and set the value per machine or per environment.
Besides keeping the key out of Git, this avoids a second problem: the password encoder is re-bound
from project and environment variables when a project is opened, so a key typed and stored under one
project is not guaranteed to be readable under another. A variable is stored verbatim and never goes
near the encoder.
Reviewing proposals
Section titled “Reviewing proposals”When the assistant proposes changes, Review proposed change(s) opens a dialog showing each one before it is applied. Nothing reaches the graph until you accept it there.
Work on a Git feature branch while you use the assistant. Undo on the graph reverses canvas edits, but metadata saves are not undone that way, and a branch is the reliable way back.
Reference
Section titled “Reference”The assistant, its scenarios and the proposal format are documented by Apache Hop: