This work was carried out as part of the "GENIAC (Generative AI Accelerator Challenge) Project" which is promoted by the Ministry of Economy, Trade and Industry and the New Energy and Industrial Technology Development Organization (NEDO), with the aim of strengthening Japan’s capabilities in generative AI development.
Ishigaki-IDS-8B is a large language model for the construction domain, trained specifically for IDS (Information Delivery Specification) generation in the BIM domain. It can automatically generate IDS from either CSV inputs or natural language instructions. The model is trained so that the generated IDS conforms to the IFC and IDS specifications defined by buildingSMART.
- The technical blog covering the model overview, training, and evaluation is available here
- The released evaluation benchmark is available here
Ishigaki-IDS was developed by further training Qwen3 8B, 14B, and 32B models to specialize them for the IDS generation task. We selected Qwen3 as the base model with reference to Nejumi Leaderboard 4, considering its strong general language capabilities, a reasonable level of safety, the availability of multiple model sizes, and its broad adoption both in Japan and internationally, which makes information gathering and validation easier.
In our deployment setup, the model is downloaded and all additional training and inference are carried out entirely within a controlled environment. Development has been conducted only after confirming that neither training data nor input data is transmitted to external systems.
Use Cases
This model was developed with the assumption that, in practical settings, even users without sufficient knowledge of IDS or IFC should be able to create IDS easily. The AI supports the IDS authoring process. Specifically, it can generate IDS based on either CSV files that organize IFC data checking requirements or natural language instructions.
Example 1
User:
Please create an IDS in IFC4 to check whether the property "Fire Resistance" is set for the Door entity.
Assistant:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
<!--edit with ONESTRUCTION Inc.-->
<ids:info>
<ids:title>Door Fire Resistance Check</ids:title>
</ids:info>
<ids:specifications>
<ids:specification ifcVersion="IFC4" name="Door Fire Resistance Check">
<ids:applicability minOccurs="1" maxOccurs="unbounded">
<ids:entity>
<ids:name>
<ids:simpleValue>IFCDOOR</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:property dataType="IFCLABEL" cardinality="required">
<ids:propertySet>
<ids:simpleValue>Pset_DoorCommon</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>FireRating</ids:simpleValue>
</ids:baseName>
</ids:property>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:ids>
Example 2
User:
For IFCDoor, I want to check the following conditions in IFC4X3.
Please use "Custom Door Check" as the title.
| PropertySet | Property | Value | DataType |
|---------------------------|------------------|-------|-----------|
| Pset_ConstructionOccurance | ModelNumber | 35 | IfcLabel |
| Pset_ConstructionOccurance | TagNumber | 001 | IfcLabel |
Assistant:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
<!--edit with ONESTRUCTION Inc.-->
<ids:info>
<ids:title>Custom Door Check</ids:title>
</ids:info>
<ids:specifications>
<ids:specification ifcVersion="IFC4X3_ADD2" name="IFCDOOR">
<ids:applicability minOccurs="1" maxOccurs="unbounded">
<ids:entity>
<ids:name>
<ids:simpleValue>IFCDOOR</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:property dataType="IFCLABEL" cardinality="required">
<ids:propertySet>
<ids:simpleValue>Pset_ConstructionOccurance</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>ModelNumber</ids:simpleValue>
</ids:baseName>
<ids:value>
<ids:simpleValue>35</ids:simpleValue>
</ids:value>
</ids:property>
<ids:property dataType="IFCLABEL" cardinality="required">
<ids:propertySet>
<ids:simpleValue>Pset_ConstructionOccurance</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>TagNumber</ids:simpleValue>
</ids:baseName>
<ids:value>
<ids:simpleValue>001</ids:simpleValue>
</ids:value>
</ids:property>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:ids>
This model can also be used for general text generation, but its primary purpose is IDS generation. Therefore, we do not recommend using it for general dialogue or generic tasks.
The generated output may include ONESTRUCTION-specific placeholder expressions.
<!--edit with ONESTRUCTION Inc.-->
If
PropertySetis not explicitly specified, a regular-expression-based expression is output as a customPropertySet.<ids:propertySet> <xs:restriction base="xs:string"> <xs:pattern value="^(?!(Pset_|Qto_)).+"/> </xs:restriction> </ids:propertySet>
Supported Languages and Scope
Languages: Japanese and English
Scope:
- Construction domains: Architectural, Structural, and Equipment
- IDS version: 1.0.0
- IFC versions: IFC2X3, IFC4, and IFC4X3_ADD2
Benchmark Score
We created an original benchmark in collaboration with domain experts and evaluated the developed model alongside multiple existing models. Because IDS is both highly specialized and a relatively new domain standard, it is an area where general foundation models have not yet been able to perform sufficiently. Even under these conditions, this model demonstrated strong performance. Please refer to the detailed evaluation results for more information.
Usage
The following system prompt is recommended:
You are an assistant that generates XML conforming to buildingSMART IDS 1.0.
Using the full sentence provided below, output ONLY the IDS (.xml) document.
Do not output any explanatory text or code-block notation. Start with the XML declaration, and do not append any extra characters at the end.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "ONESTRUCTION/Ishigaki-IDS-8B"
SYSTEM_PROMPT = """You are an assistant that generates XML conforming to buildingSMART IDS 1.0.
Using the full sentence provided below, output ONLY the IDS (.xml) document.
Do not output any explanatory text or code-block notation. Start with the XML declaration, and do not append any extra characters at the end."""
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
model.eval()
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{
"role": "user",
"content": "Please create an IDS to check whether the Door entity has a fire resistance property.",
},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=4096)
response = tokenizer.decode(
outputs[0][inputs.input_ids.shape[1]:],
skip_special_tokens=True,
)
print(response)
Developers
In alphabetical order
License
Creative Commons Attribution 4.0 International (CC BY 4.0)
Citation
@misc{ishigaki8b2026,
title={ONESTRUCTION/Ishigaki-IDS-8B},
author={ONESTRUCTION Inc.},
year={2026},
url={https://huggingface.co/ONESTRUCTION/Ishigaki-IDS-8B}
}
- Downloads last month
- 60


