# How to add AI to Windchill on-prem with Windchill REST Services

> Source: https://netray.co/erp-help/private-ai-layer-windchill-on-prem-architecture
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

Use Windchill REST Services (the OData based API) as the read path, call it with the identity of the asking user, index documents locally, and serve an open-weight model on your own GPUs. Windchill's domain policies and context teams continue to decide visibility, so the assistant cannot widen anyone's access.

## Kind

advanced

## System

on-prem-apps

## Erp

PTC Windchill (on-prem)

## Module

Private AI layer / Windchill REST Services

## Query

how to add AI to Windchill on-prem

## Alternate Queries

- Windchill AI integration without cloud
- Windchill REST services LLM
- chat with Windchill data on-premises
- Windchill private AI assistant

## Applies To

Windchill 12.0, 12.1 and 13.x on Oracle or SQL Server. WRS domains and entity sets differ by release, so check your version's metadata document.

## Steps

### Reference build for a private AI layer on Windchill

**Items:**

List the questions to cover: part and document lookup, BOM and where-used, lifecycle state, change requests and notices, CAD document references, workflow tasks.

Map each to Windchill REST Services where an entity set exists (for example ProdMgmt for parts, DocMgmt for documents, PrincipalMgmt for users). Fetch the $metadata document from your server to confirm exact entity names.

Wrap approved calls in a tool server with named actions and bounded parameters. Keep Info*Engine tasks and custom Java only for gaps WRS does not cover.

Extract text from document content with a worker reading through WRS content download calls as a limited service identity, restricted to released data, and store the Windchill object reference and state with each chunk.

Serve a local open-weight model with vLLM, local embeddings and a local vector store. Block outbound traffic from the model host.

Authenticate each request as the real user using the same SSO the Windchill web tier uses, so access control lists are evaluated by Windchill itself. Log every tool call and result identifier.

Phase in: read-only Q and A, then drafted change summaries and review packs, then supported actions after human approval.

## Sections

### How data is reached in Windchill

**Body:**

Windchill runs on a Java method server with an Oracle or SQL Server database. Persistent classes such as WTPart, WTPartMaster, WTDocument and the change classes are mapped to tables, and part numbers sit on the master object. File content is held in vaults outside the database. Direct SQL gives you counts and trends, but it ignores access control and the iteration and version model, so treat it as analytics only.

Windchill REST Services is the supported modern API. It is OData based, served from the Windchill web application, and is organised in domains. Query options such as $filter, $select, $expand and $top work as in other OData services, and the service enforces the calling user's permissions. Older estates may also have Info*Engine tasks, web services or custom Java servlets that you can reuse behind the tool server.

**Code:**

GET /Windchill/servlet/odata/ProdMgmt/Parts?$filter=Number eq 'A-10045'&$select=Number,Name&$top=10
Accept: application/json
# sent with the asking user's authenticated session; confirm the entity set and
# property names against /Windchill/servlet/odata/ProdMgmt/$metadata on your release

-- Reporting replica, analytics only
SELECT m.WTPARTNUMBER, m.NAME
FROM WTPARTMASTER m
WHERE m.WTPARTNUMBER LIKE 'A-10%'
FETCH FIRST 50 ROWS ONLY;

### Reference architecture

**Body:**

Place the AI components beside Windchill in the same network zone: a tool server, a document extraction worker, a vector index, the model host and an audit store. A reporting copy of the database supports aggregate questions such as 'how many parts are in In Work for program X'. Retrieval over documents uses Windchill's object reference and state as filter metadata.

Windchill search can use a Solr backed index. That index is useful as a lexical retrieval source and as a relevance signal, but treat it as a search aid and keep authoritative reads on WRS so permissions are applied by the server.

An air-gapped deployment needs only local storage for weights, containers and Python packages. Windchill itself needs no outbound access for this design, and the model host does not either.

### Permissions and write-back

**Body:**

Windchill access is decided by policy rules attached to administrative domains, by lifecycle state, and by context team roles in a product, library or project context. Authenticate the user through your SSO, call WRS as that user, and drop any retrieval chunk whose object cannot be read through a live check. Never answer from a cache of text you cannot re-authorise.

Write-back should use supported APIs only: for example creating a change request draft or a document note through WRS where the domain supports it, or a vetted custom service. Show the user the payload, execute as them after approval, and log the resulting object identifier. Lifecycle state promotions and release actions remain human steps.

### Sizing, limits and honest trade-offs

**Body:**

A pilot for 25 to 60 users runs on one to two GPUs of 48 to 80 GB. For a few hundred named users plan two to four GPUs plus separate CPU capacity for extraction and embeddings. The index over a few hundred thousand documents is generally tens of GB. These are ranges, not commitments, and depend on model size, context length and concurrency.

Limits: WRS coverage varies by release, so some objects need custom services. CAD geometry is not readable by a text model. Structured questions about BOMs are better served by deterministic tool calls than by retrieval. If you only need quick search and where-used, Windchill's own search and reports may be enough, and PTC's own AI features may suit sites that can use them.

## Pitfalls

- Using a single admin account for the integration, which makes every answer as visible as that account.
- Forgetting that Windchill versions and iterations exist: the assistant must state which iteration and state it answered from.
- Indexing content without storing context and state, so released-only filtering later is impossible.
- Assuming WRS domains and entity names match across 12.x and 13.x. Read the metadata of your own server.
- Letting the model build OData filters freely. Offer fixed actions with validated parameters.

## Ai Angle

An assistant grounded in Windchill resolves 'what changed on this assembly since last release' by calling the part, BOM and change endpoints as the user and summarising with links to the objects it read. Netray delivers this as a private, read-only first layer with local models and an audit trail, and adds supported write-back after approval.

## Faq

### Do I need Windchill REST Services installed?

**Answer:** It is the recommended path on current releases and is usually part of the platform, but check your version and enablement. Without it you can use Info*Engine tasks, existing web services or a custom Java service behind the tool server, with more work to maintain.

### Can the assistant read CAD models?

**Answer:** Not as geometry. It can use metadata, attributes, BOM structure, neutral document exports and text such as notes. Visual or geometric reasoning needs separate tooling and is outside a text model's reliable range.

### How do context teams and domains carry over?

**Answer:** By calling Windchill as the user, so the server applies its own policy and team rules. We do not copy the rules into the AI layer. Retrieval chunks hold object references that are re-authorised before text is shown.

### Which model should I run?

**Answer:** Start with an open-weight model in the 30B to 70B class for answers and a smaller one for routing, served on vLLM. Evaluate on your own questions first, since part number formats and internal vocabulary matter more than leaderboard scores.

## Search terms

Windchill AI integration, Windchill REST Services AI, Windchill on-prem LLM, Windchill private AI, chat with Windchill, Windchill OData query, PTC Windchill RAG, PLM AI on-premises

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
