IntelliSense Auto-MappingΒΆ
IntelliSense is BizMetry's AI-assisted auto-mapping engine that analyzes your source API fields and target Frame components and automatically suggests β or directly populates β the most semantically appropriate mappings between them.
It is powered by sentence-transformers running on the bizmetry-llm service, which computes vector embeddings for field names and component names, clusters them by semantic similarity, and proposes the highest-confidence matches.
π§ How It WorksΒΆ
- Embedding generation β BizMetry sends the names and descriptions of all source fields (from all selected operations) and all target frame components to the
bizmetry-llmservice. - Semantic similarity scoring β the LLM service computes cosine similarity between each source/target pair using sentence-transformer embeddings.
- Clustering β fields are grouped into similarity clusters. High-confidence matches (above a configurable threshold) are proposed as direct mappings.
- BMEL generation β for target components that require a computed value or where multiple source fields are strong candidates, IntelliSense generates a BMEL expression (e.g.,
CONCAT(...)for composite fields,FIRST(...)for array-to-scalar extraction). - Canvas population β the mapper canvas is auto-populated with connector lines for all proposed mappings. Low-confidence matches are shown with a visual indicator so you can review them.
sequenceDiagram
participant User
participant Mapper
participant LLM as bizmetry-llm
participant Canvas
User->>Mapper: Click "IntelliSense"
Mapper->>LLM: POST /api/intellisense/suggest\n{sourceFields, targetComponents}
LLM-->>Mapper: Similarity scores + suggested mappings
Mapper->>Canvas: Populate connectors
Canvas-->>User: Auto-mapped canvas (review mode)
β‘ Running IntelliSenseΒΆ
- In the mapping canvas (Step 6 of the wizard), click the "IntelliSense" button in the toolbar.
- BizMetry sends the field schema to the LLM service β this may take 1β3 seconds.
- The canvas is populated with auto-generated connectors.
Screenshot pending
Capture required: Mapper toolbar with the IntelliSense button highlighted, and the canvas after running showing auto-generated connectors with confidence indicators.
π― Confidence IndicatorsΒΆ
After IntelliSense runs, each auto-generated connector shows a confidence indicator:
| Indicator | Meaning |
|---|---|
| π’ High confidence | Semantic similarity above 0.85. Likely correct β review briefly. |
| π‘ Medium confidence | Similarity between 0.60 and 0.85. Verify the mapping makes business sense. |
| π΄ Low confidence | Similarity below 0.60. IntelliSense made a best-effort guess β manual review required. |
Low-confidence connectors
Low-confidence connectors are shown with a dashed line. You can delete them, redirect them manually, or open the BMEL editor to refine the expression.
π Reviewing Auto-MappingsΒΆ
After IntelliSense runs, you should:
- Scan all connectors β verify that each auto-generated mapping makes semantic sense for your business domain.
- Check BMEL expressions β click the Ζ icon on any BMEL connector to review the generated expression in the editor.
- Delete wrong mappings β click a connector and press Delete to remove an incorrect auto-mapping.
- Add missing mappings β manually draw connectors for any target components that IntelliSense left unmapped.
- Adjust expressions β open the BMEL editor on any connector to refine an auto-generated expression.
Screenshot pending
Capture required: Post-IntelliSense canvas in review mode with green, yellow, and red confidence connectors visible.
π Re-running IntelliSenseΒΆ
You can run IntelliSense multiple times. Each run replaces existing auto-generated connectors but preserves any connectors you manually added or edited.
Manual connectors are preserved
Connectors you drew manually or edited after a previous IntelliSense run are tagged as "manual" and will not be overwritten by subsequent IntelliSense runs.
π Nested Array FieldsΒΆ
When a source field is the child of an array (e.g., $.orders[].total), IntelliSense handles it differently from scalar fields:
- The array parent is listed as a source with a badge showing its child count.
- Child fields of the array are shown expanded below the parent.
- When IntelliSense matches an array child to a scalar target component, it generates a BMEL expression using
FIRST()orSUM()depending on the target type.
Screenshot pending
Capture required: Source panel showing an array field expanded with child fields visible, and a BMEL connector from a child field to a scalar target component.
Known limitation
IntelliSense for deeply nested array children (more than 2 levels) may show only the parent array in the source panel for auto-mapped connectors. You can manually open the BMEL editor and write the full dot-path reference to access deeper nesting.
βοΈ IntelliSense ArchitectureΒΆ
IntelliSense runs as a scatter-gather parallel operation on the backend:
- Each operation's fields are sent to the LLM service concurrently via a
ThreadPoolExecutor. - Results are gathered and merged, deduplicated, and ranked by score.
- The final ranked list is returned to the frontend in a single response.
This parallelization means IntelliSense performance scales with the number of operations selected, not with the total number of fields β making it fast even for large API schemas.