dp:atlas_ai:ai_extractor) reads free text from a source property (for example, a maintenance notification description) and fills structured target properties (for example, discipline, priority, category) using an LLM agent deployed through Cognite Atlas AI. It deploys as a Cognite Toolkit module and runs a scheduled CDF Function that turns unstructured documentation into queryable data model properties without manual entry.
This module writes into an existing CDF view and supports per-property write modes — add_new_only, append, and overwrite — with epoch-based incremental processing.
Who it’s for
Target personas:- Data engineers — deploy and configure the extractor and its schedule.
- Subject matter experts — domain experts who choose which properties to extract and validate results.
- You have documents, notifications, or free-text fields in CDF that contain technical properties (discipline, priority, category, tags) you want extracted and stored as structured data model properties.
- You want to enrich an existing CDF view with AI-generated summaries or derived metadata without building a custom extraction pipeline.
- You need to accumulate tags or keywords from multiple sources over time (append mode).
- You are building agentic solutions and need a structured data foundation for agentic reasoning and industrial search.
- If your CDF project does not have Atlas AI enabled — this module requires an Atlas AI agent and cannot run without it.
- If you do not yet have a target CDF view — the module writes into an existing view and will not create one. Deploy your data model first.
- If you need rule-based or SQL-driven matching rather than LLM extraction — use the CDF Entity Matching pack instead.
What’s included
Prerequisites
Verify all of the following before you start:- Cognite Toolkit version 0.8 or later is installed. See Setting up.
- A
cdf.tomlfile exists in your project root. If it is missing, runcdf modules initand select Create toml file (required). - Authentication is configured and verified — run
cdf auth initandcdf auth verifyusing a local.envfile. See Authentication and authorization. - Your CDF project has Atlas AI Agents enabled.
- A target CDF view already exists with a text property to read from and the properties you want to populate. For
append/overwrite, the view also needs aTimestampproperty foraiTimestampProperty. - You have a service principal (app registration) in your identity provider (IdP) for the scheduled workflow to authenticate as. Have its client ID and client secret ready — these populate
IDP_CLIENT_ID/IDP_CLIENT_SECRETin your.env(mapped toworkflowClientId/workflowClientSecret).
Install and deploy
You can add the module to an existing Toolkit project or start a new project from scratch.- Add to an existing project
- Start a new project
The AI Property Extractor is the
cdf_ai_extractor module of the Atlas AI deployment pack (dp:atlas_ai), which also ships out-of-the-box agents. Add this module from your project directory:modules/solutions/cdf_ai_extractor/ and updates your config.<env>.yaml files. Before building, open config.dev.yaml and set at minimum the source view (viewSpace, viewExternalId, viewVersion), the textProperty, the properties to extract, the credentials (workflowClientId / workflowClientSecret), and — if using append/overwrite — the aiTimestampProperty. See Configuration reference. Then build and deploy:
1
Build deployment artifacts
build/ directory. If you need to change the project name or any variables marked <change_me>, edit config.<env>.yaml first — see Configure, build, and deploy modules.2
Dry-run the deployment
3
Deploy to CDF
4
Set up CI/CD (optional)
For governed production deployments, automate build, dry-run, and deploy in a pipeline. See Set up CI/CD pipelines.
Verify the deployment
After deploying, confirm success with these checks:- The
cdf deploycommand finishes without errors and reports successful deployment of the agent, function, workflow, extraction pipeline, dataset, and RAW resources. - In CDF, navigate to Build Solutions > Functions and confirm
fn_ai_property_extractoris listed with a Ready status. - Navigate to Integrate > Data Workflows and confirm
wf_ai_property_extractoris registered and its schedule is active. - Trigger the workflow (or call the function directly with
logLevel: DEBUG) to run an initial extraction, and monitor it to completion. - Open the function logs and confirm that instances were processed and properties were written without errors.
- Open the target view in Data Modeling and verify that the extracted properties appear on the expected instances.
- In Integrate > Extraction pipelines, confirm
ep_ai_property_extractorreports a successful run.
Configuration reference
Module variables are set per environment inconfig.<env>.yaml. Update these before running cdf build. Keep client IDs and secrets in your .env file, not hardcoded.
Each variable takes its default unless you override it. Where the default is —, a placeholder, or a ${...} value read from .env, you must provide your own value before deploying.
Write modes
Each property can have its own write mode, configured in the extraction pipeline config’s per-propertyproperties list.
Architecture
The module deploys an Atlas AI agent, a CDF Function, a scheduled workflow, an extraction pipeline holding the runtime config, a RAW state store, and a dataset.Data flow
On each scheduled or manual run, the function loops — querying a batch, calling the agent, writing results, and stamping the timestamp — until all matching instances are processed or ~9 minutes elapse. The state store lets the next run resume where the previous one stopped.Extraction loop
- Query a batch — select instances from the source view where the text property exists and, depending on write mode, the target is empty (
add_new_only) or the AI timestamp predates the current epoch (append/overwrite). - Invoke the agent — send the text to
ai_property_extractor_agent, which returns the extracted property values (optionally several instances per call viallmBatchSize). - Write to the target view — upsert the values into the target view, following each property’s write mode.
- Stamp and repeat — set
aiTimestampPropertyon processed instances (append/overwrite), update the state cursor, and continue until done or the time budget is reached.
State and re-runs
State is a single RAW row inai_extractor_state/extraction_state holding epoch_start, cursor, and config_version. To reprocess everything, call the function with resetState: true, bump stateStoreConfigVersion, or disable the state store to process all matching instances every run. Manual runs accept ExtractionPipelineExtId, logLevel, and resetState as input parameters.
Troubleshooting
For issues not covered here, contact Cognite support.