Spaces:
Sleeping
Sleeping
Merge pull request #14 from billmarinocam/dev
Browse files- .gitignore +6 -0
- .ipynb_checkpoints/app-checkpoint.ipynb +166 -0
- __pycache__/compliance_analysis.cpython-310.pyc +0 -0
- __pycache__/utils.cpython-310.pyc +0 -0
- app.py +179 -29
- compliance_analysis.py +274 -146
- data_cc 02.yaml +228 -0
- data_cc.yaml +185 -84
- model_cc 02.yaml +313 -0
- model_cc.yaml +218 -108
- project_cc.yaml +603 -289
- requirements.txt +3 -0
- run.py +83 -0
- utils.py +66 -82
.gitignore
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
__pycache__/
|
2 |
+
compliancecards.code-workspace
|
3 |
+
.ipynb_checkpoints
|
4 |
+
*.ipynb
|
5 |
+
__pycache__/compliance_analysis.cpython-310.pyc
|
6 |
+
__pycache__/utils.cpython-310.pyc
|
.ipynb_checkpoints/app-checkpoint.ipynb
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"metadata": {},
|
7 |
+
"outputs": [],
|
8 |
+
"source": [
|
9 |
+
"import streamlit as st\n",
|
10 |
+
"\n",
|
11 |
+
"from streamlit_jupyter import StreamlitPatcher, tqdm\n",
|
12 |
+
"\n",
|
13 |
+
"StreamlitPatcher().jupyter() # register streamlit with jupyter-compatible wrappers"
|
14 |
+
]
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"cell_type": "code",
|
18 |
+
"execution_count": 2,
|
19 |
+
"metadata": {},
|
20 |
+
"outputs": [
|
21 |
+
{
|
22 |
+
"data": {
|
23 |
+
"text/markdown": [
|
24 |
+
"# AI"
|
25 |
+
],
|
26 |
+
"text/plain": [
|
27 |
+
"<IPython.core.display.Markdown object>"
|
28 |
+
]
|
29 |
+
},
|
30 |
+
"metadata": {},
|
31 |
+
"output_type": "display_data"
|
32 |
+
},
|
33 |
+
{
|
34 |
+
"name": "stderr",
|
35 |
+
"output_type": "stream",
|
36 |
+
"text": [
|
37 |
+
"2024-08-13 14:11:32.399 \n",
|
38 |
+
" \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n",
|
39 |
+
" command:\n",
|
40 |
+
"\n",
|
41 |
+
" streamlit run /mnt/wsl/PHYSICALDRIVE1p1/@home/non/.venv/lib/python3.10/site-packages/ipykernel_launcher.py [ARGUMENTS]\n"
|
42 |
+
]
|
43 |
+
}
|
44 |
+
],
|
45 |
+
"source": [
|
46 |
+
"import yaml\n",
|
47 |
+
"from pathlib import Path\n",
|
48 |
+
"from compliance_analysis import run_compliance_analysis_on_project, run_compliance_analysis_on_data, run_compliance_analysis_on_model\n",
|
49 |
+
"\n",
|
50 |
+
"# def process_files(files):\n",
|
51 |
+
"# results = []\n",
|
52 |
+
"# for file in files:\n",
|
53 |
+
"# with open(file.name, 'r') as f:\n",
|
54 |
+
"# content = f.read()\n",
|
55 |
+
"# if Path(file.name).name == \"project_cc.yaml\":\n",
|
56 |
+
"# project_cc_yaml = yaml.safe_load(content)\n",
|
57 |
+
"# msg = run_compliance_analysis_on_project(project_cc_yaml)\n",
|
58 |
+
"# results.append(msg) \n",
|
59 |
+
"# # if Path(file.name).name == \"data_cc.yaml\":\n",
|
60 |
+
"# # data_cc_yaml = yaml.safe_load(content)\n",
|
61 |
+
"# # msg = run_compliance_analysis_on_data(data_cc_yaml)\n",
|
62 |
+
"# # results.append(msg) \n",
|
63 |
+
"# # if Path(file.name).name == \"model_cc.yaml\":\n",
|
64 |
+
"# # model_cc_yaml = yaml.safe_load(content)\n",
|
65 |
+
"# # msg = run_compliance_analysis_on_model(model_cc_yaml)\n",
|
66 |
+
"# # results.append(msg)\n",
|
67 |
+
" \n",
|
68 |
+
"# return results\n",
|
69 |
+
"\n",
|
70 |
+
"import yaml\n",
|
71 |
+
"from pathlib import Path\n",
|
72 |
+
"import pandas as pd\n",
|
73 |
+
"\n",
|
74 |
+
"\n",
|
75 |
+
"def process_files(files):\n",
|
76 |
+
" results = []\n",
|
77 |
+
" for file in files:\n",
|
78 |
+
" content = file.read().decode(\"utf-8\")\n",
|
79 |
+
" if Path(file.name).name == \"project_cc.yaml\":\n",
|
80 |
+
" project_cc_yaml = yaml.safe_load(content)\n",
|
81 |
+
" if project_cc_yaml:\n",
|
82 |
+
" msg = run_compliance_analysis_on_project(project_cc_yaml)\n",
|
83 |
+
" results.append(msg) \n",
|
84 |
+
" return results\n",
|
85 |
+
"\n",
|
86 |
+
"def extract_properties(files):\n",
|
87 |
+
" properties = []\n",
|
88 |
+
" for file in files:\n",
|
89 |
+
" content = file.read().decode(\"utf-8\")\n",
|
90 |
+
" project_cc_yaml = yaml.safe_load(content)\n",
|
91 |
+
" if project_cc_yaml:\n",
|
92 |
+
" properties.extend([key for key in project_cc_yaml])\n",
|
93 |
+
" return properties\n",
|
94 |
+
"\n",
|
95 |
+
"def sentence_builder(keys):\n",
|
96 |
+
" return f\"Selected options: {', '.join(keys)}\"\n",
|
97 |
+
"\n",
|
98 |
+
"# Streamlit app\n",
|
99 |
+
"st.title(\"AI\")\n",
|
100 |
+
"\n",
|
101 |
+
"uploaded_files = st.file_uploader(\"Upload YAML Files\", type=\"yaml\", accept_multiple_files=True)\n",
|
102 |
+
"\n",
|
103 |
+
"if uploaded_files:\n",
|
104 |
+
" # Process the files and display the output\n",
|
105 |
+
" if st.button(\"Process Files\"):\n",
|
106 |
+
" results = process_files(uploaded_files)\n",
|
107 |
+
" for result in results:\n",
|
108 |
+
" st.text(result)\n",
|
109 |
+
" \n",
|
110 |
+
" # Extract properties\n",
|
111 |
+
" properties = extract_properties(uploaded_files)\n",
|
112 |
+
" \n",
|
113 |
+
" # Create a DataFrame with properties and a checkbox column\n",
|
114 |
+
" df = pd.DataFrame({\n",
|
115 |
+
" \"Property\": properties,\n",
|
116 |
+
" \"Select\": [False] * len(properties) # Default to unchecked\n",
|
117 |
+
" })\n",
|
118 |
+
"\n",
|
119 |
+
" # Display DataFrame with checkboxes using st.column_config.CheckboxColumn\n",
|
120 |
+
" edited_df = st.data_editor(\n",
|
121 |
+
" df,\n",
|
122 |
+
" column_config={\n",
|
123 |
+
" \"Select\": st.column_config.CheckboxColumn(\"Select\"),\n",
|
124 |
+
" },\n",
|
125 |
+
" key=\"data_editor\"\n",
|
126 |
+
" )\n",
|
127 |
+
"\n",
|
128 |
+
" # Get selected properties\n",
|
129 |
+
" selected_properties = edited_df[edited_df[\"Select\"]][\"Property\"].tolist()\n",
|
130 |
+
" \n",
|
131 |
+
" # Build the sentence based on selected properties\n",
|
132 |
+
" if selected_properties:\n",
|
133 |
+
" sentence = sentence_builder(selected_properties)\n",
|
134 |
+
" st.text(sentence)"
|
135 |
+
]
|
136 |
+
},
|
137 |
+
{
|
138 |
+
"cell_type": "code",
|
139 |
+
"execution_count": null,
|
140 |
+
"metadata": {},
|
141 |
+
"outputs": [],
|
142 |
+
"source": []
|
143 |
+
}
|
144 |
+
],
|
145 |
+
"metadata": {
|
146 |
+
"kernelspec": {
|
147 |
+
"display_name": "Python 3 (ipykernel)",
|
148 |
+
"language": "python",
|
149 |
+
"name": "python3"
|
150 |
+
},
|
151 |
+
"language_info": {
|
152 |
+
"codemirror_mode": {
|
153 |
+
"name": "ipython",
|
154 |
+
"version": 3
|
155 |
+
},
|
156 |
+
"file_extension": ".py",
|
157 |
+
"mimetype": "text/x-python",
|
158 |
+
"name": "python",
|
159 |
+
"nbconvert_exporter": "python",
|
160 |
+
"pygments_lexer": "ipython3",
|
161 |
+
"version": "3.10.12"
|
162 |
+
}
|
163 |
+
},
|
164 |
+
"nbformat": 4,
|
165 |
+
"nbformat_minor": 4
|
166 |
+
}
|
__pycache__/compliance_analysis.cpython-310.pyc
CHANGED
Binary files a/__pycache__/compliance_analysis.cpython-310.pyc and b/__pycache__/compliance_analysis.cpython-310.pyc differ
|
|
__pycache__/utils.cpython-310.pyc
CHANGED
Binary files a/__pycache__/utils.cpython-310.pyc and b/__pycache__/utils.cpython-310.pyc differ
|
|
app.py
CHANGED
@@ -1,34 +1,184 @@
|
|
1 |
-
import
|
2 |
import yaml
|
|
|
3 |
from pathlib import Path
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
file_input = gr.File(label="Upload Files", file_count="multiple")
|
29 |
-
output = gr.Textbox(label="Output", lines=10)
|
30 |
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
-
|
|
|
|
|
|
1 |
+
import os
|
2 |
import yaml
|
3 |
+
import json
|
4 |
from pathlib import Path
|
5 |
+
import streamlit as st
|
6 |
+
from compliance_analysis import check_overall_compliance_ui
|
7 |
+
|
8 |
+
def compliance_analysis(cards):
|
9 |
+
dispositive_variables = check_overall_compliance_ui(cards)
|
10 |
+
return dispositive_variables
|
11 |
+
|
12 |
+
def load_yaml(file_path):
|
13 |
+
with open(file_path, 'r') as file:
|
14 |
+
return yaml.safe_load(file)
|
15 |
+
|
16 |
+
def format_card_label(card):
|
17 |
+
return card[0]
|
18 |
+
|
19 |
+
# Streamlit app
|
20 |
+
st.set_page_config(page_title="AI", layout="wide")
|
21 |
+
st.markdown(
|
22 |
+
"""
|
23 |
+
<style>
|
24 |
+
[data-testid="stSidebar"][aria-expanded="true"] > div:first-child{
|
25 |
+
width: 600px;
|
26 |
+
}
|
27 |
+
[data-testid="stSidebar"][aria-expanded="false"] > div:first-child{
|
28 |
+
width: 600px;
|
29 |
+
margin-left: -400px;
|
30 |
+
}
|
31 |
+
|
32 |
+
""",
|
33 |
+
unsafe_allow_html=True,
|
34 |
+
)
|
35 |
+
|
36 |
+
st.title("AI")
|
37 |
+
|
38 |
+
uploaded_files = st.file_uploader("Upload YAML Files", type="yaml", accept_multiple_files=True)
|
39 |
+
# project_files = st.file_uploader("Upload Project Files", type="yaml", accept_multiple_files=True)
|
40 |
+
|
41 |
+
cards = {"project_file": None, "data_files": [], "model_files": []}
|
42 |
+
|
43 |
+
if uploaded_files:
|
44 |
+
|
45 |
+
for uploaded_file in uploaded_files:
|
46 |
+
cc = load_yaml(uploaded_file.name)
|
47 |
+
card_type = cc['card_details'].get('card_type', '').lower()
|
48 |
+
if card_type == 'project':
|
49 |
+
cards["project_file"] = cc
|
50 |
+
elif card_type == 'data':
|
51 |
+
cards["data_files"].append((cc['card_details']['card_label'], cc))
|
52 |
+
elif card_type == 'model':
|
53 |
+
cards["model_files"].append((cc['card_details']['card_label'], cc))
|
54 |
+
|
55 |
+
project_col, data_col, model_col = st.columns(3)
|
56 |
|
57 |
+
with project_col:
|
58 |
+
st.title("Project CC")
|
|
|
|
|
59 |
|
60 |
+
if cards["project_file"]:
|
61 |
+
project_cc = cards["project_file"]
|
62 |
+
with st.expander("project details"):
|
63 |
+
for section, items in project_cc.items():
|
64 |
+
if section != 'card_details':
|
65 |
+
st.header(section.replace('_', ' ').title()) # section header
|
66 |
+
for key, details in items.items():
|
67 |
+
if 'verbose' in details and 'value' in details:
|
68 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
69 |
+
# details['value'] = st.checkbox(details['verbose'], value=details['value'])
|
70 |
+
if isinstance(details['value'], str):
|
71 |
+
details['value'] = st.text_input(details['verbose'], value=details['value'])
|
72 |
+
elif isinstance(details['value'], bool):
|
73 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'])
|
74 |
+
if 'verbose' not in details and 'value' not in details:
|
75 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
76 |
+
for key, details in details.items():
|
77 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
78 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'])
|
79 |
+
st.divider()
|
80 |
+
st.divider()
|
81 |
+
# st.write("Updated Data:", project_cc)
|
82 |
+
|
83 |
+
updated_project_cc = yaml.dump(project_cc, sort_keys=False)
|
84 |
+
|
85 |
+
st.download_button(
|
86 |
+
label=f"Download Updated Project CC as YAML",
|
87 |
+
data=updated_project_cc,
|
88 |
+
file_name="updated_project.yaml",
|
89 |
+
mime="text/yaml"
|
90 |
+
)
|
91 |
+
# else:
|
92 |
+
# st.write("Missing project file")
|
93 |
+
|
94 |
+
with data_col:
|
95 |
+
|
96 |
+
st.title("Data CC")
|
97 |
+
if cards['data_files']:
|
98 |
+
# selected_data_file = st.selectbox("Select a Data CC", cards['data_files'], format_func=format_card_label)
|
99 |
+
# data_cc = selected_data_file[1]
|
100 |
+
for card in cards['data_files']:
|
101 |
+
data_cc = card[1]
|
102 |
+
with st.expander(f"{card[0]}"):
|
103 |
+
for section, items in data_cc.items():
|
104 |
+
if section != 'card_details':
|
105 |
+
st.header(section.replace('_', ' ').title()) # section header
|
106 |
+
for key, details in items.items():
|
107 |
+
if 'verbose' in details and 'value' in details:
|
108 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
109 |
+
# details['value'] = st.checkbox(details['verbose'], value=details['value'])
|
110 |
+
if isinstance(details['value'], str):
|
111 |
+
details['value'] = st.text_input(details['verbose'], value=details['value'], key=f"data_{card[0]}_{key}")
|
112 |
+
elif isinstance(details['value'], bool):
|
113 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"data_{card[0]}_{details}_{key}")
|
114 |
+
if 'verbose' not in details and 'value' not in details:
|
115 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
116 |
+
for key, details in details.items():
|
117 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
118 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"data_{card[0]}_{details}_{key}")
|
119 |
+
st.divider()
|
120 |
+
st.divider()
|
121 |
+
# st.write("Updated Data:", data_cc)
|
122 |
+
|
123 |
+
data_cc_yaml_data = yaml.dump(data_cc, sort_keys=False)
|
124 |
+
|
125 |
+
st.download_button(
|
126 |
+
label=f"Download Updated {card[0]} CC as YAML",
|
127 |
+
data=data_cc_yaml_data,
|
128 |
+
file_name="updated_data.yaml",
|
129 |
+
mime="text/yaml"
|
130 |
+
)
|
131 |
+
# else:
|
132 |
+
# st.write("Missing data file")
|
133 |
+
|
134 |
+
with model_col:
|
135 |
+
|
136 |
+
st.title("Model CC")
|
137 |
+
if cards['model_files']:
|
138 |
+
# selected_data_file = st.selectbox("Select a Modle CC", cards['model_files'], format_func=format_card_label)
|
139 |
+
# model_cc = selected_data_file[1]
|
140 |
+
for card in cards['model_files']:
|
141 |
+
model_cc = card[1]
|
142 |
+
with st.expander(f"{card[0]}"):
|
143 |
+
for section, items in model_cc.items():
|
144 |
+
if section != 'card_details':
|
145 |
+
st.header(section.replace('_', ' ').title()) # section header
|
146 |
+
for key, details in items.items():
|
147 |
+
if 'verbose' in details and 'value' in details:
|
148 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
149 |
+
# details['value'] = st.checkbox(details['verbose'], value=details['value'])
|
150 |
+
if isinstance(details['value'], str):
|
151 |
+
details['value'] = st.text_input(details['verbose'], value=details['value'], key=f"model_{card[0]}_{key}")
|
152 |
+
elif isinstance(details['value'], bool):
|
153 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"model_{card[0]}_{details}_{key}")
|
154 |
+
if 'verbose' not in details and 'value' not in details:
|
155 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
156 |
+
for key, details in details.items():
|
157 |
+
st.subheader(key.replace('_', ' ').title()) # section header
|
158 |
+
details['value'] = st.checkbox(details['verbose'], value=details['value'], key=f"model_{card[0]}_{details}_{key}")
|
159 |
+
st.divider()
|
160 |
+
st.divider()
|
161 |
+
# st.write("Updated Data:", model_cc)
|
162 |
+
|
163 |
+
model_cc_yaml_data = yaml.dump(model_cc, sort_keys=False)
|
164 |
+
|
165 |
+
st.download_button(
|
166 |
+
label=f"Download Updated {card[0]} CC as YAML",
|
167 |
+
data=model_cc_yaml_data,
|
168 |
+
file_name="updated_model.yaml",
|
169 |
+
mime="text/yaml"
|
170 |
+
)
|
171 |
+
# else:
|
172 |
+
# st.write("Missing data file")
|
173 |
+
|
174 |
+
# # # # json_data = json.dumps(data, indent=2)
|
175 |
+
# # # # st.download_button(
|
176 |
+
# # # # label="Download Updated Data as JSON",
|
177 |
+
# # # # data=json_data,
|
178 |
+
# # # # file_name="updated_data.json",
|
179 |
+
# # # # mime="application/json"
|
180 |
+
# # # # )
|
181 |
|
182 |
+
if st.button(f"Run Analysis"):
|
183 |
+
results = compliance_analysis(cards)
|
184 |
+
st.write("Analysis Results", results)
|
compliance_analysis.py
CHANGED
@@ -1,182 +1,310 @@
|
|
1 |
import yaml
|
2 |
-
from utils import
|
3 |
|
4 |
-
#
|
|
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
7 |
"ai_project_type": {
|
8 |
-
"ai_system":
|
9 |
-
"gpai_model":
|
10 |
"high_risk_ai_system": False,
|
11 |
-
"
|
12 |
},
|
13 |
-
"
|
14 |
-
"provider":
|
15 |
-
"
|
16 |
-
"
|
17 |
-
"distributor": False,
|
18 |
-
"product_manufacturer": False,
|
19 |
-
"eu_located": False
|
20 |
},
|
21 |
"eu_market_status": {
|
22 |
-
"placed_on_market":
|
23 |
-
"put_into_service":
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
-
}
|
27 |
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
34 |
|
35 |
-
|
36 |
-
if check_within_scope(project_cc_yaml):
|
37 |
-
msg = ("Project is within the scope of Act. Let's continue...")
|
38 |
-
else:
|
39 |
-
msg = ("Project is not within the scope of what is regulated by the Act.")
|
40 |
-
|
41 |
-
# # Check for prohibited practices. If any exist, the analysis is over.
|
42 |
-
# if check_prohibited(project_cc_yaml) == True:
|
43 |
-
# print("Project contains prohibited practices and is therefore non-compliant.")
|
44 |
-
# msg = ("Project is non-compliant due to a prohibited practice.")
|
45 |
-
# else:
|
46 |
-
# print("Project does not contain prohibited practies. Let's continue...")
|
47 |
|
48 |
-
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
msg = (f"Because of the dataset represented by , this high-risk AI system fails the quality management requirements under Article 17.")
|
92 |
-
|
93 |
-
return msg
|
94 |
|
95 |
-
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
for key, value in data_cc_yaml['technical_documentation']:
|
101 |
-
if not value:
|
102 |
-
msg = (f"Because of the model represented by , this high-risk AI system fails the technical documentation requirements under Article 11.")
|
103 |
-
for key, value in data_cc_yaml['transparency_and_provision_of_information_to_deployers']:
|
104 |
-
if not value:
|
105 |
-
msg = (f"Because of the model represented by , this high-risk AI system fails the transparency requirements under Article 13.")
|
106 |
-
for key, value in data_cc_yaml['accuracy_robustness_cybersecurity']:
|
107 |
-
if not value:
|
108 |
-
msg = (f"Because of the model represented by , this high-risk AI system fails the quality management requirements under Article 15.")
|
109 |
-
for key, value in data_cc_yaml['quality_management_system']:
|
110 |
-
if not value:
|
111 |
-
msg = (f"Because of the model represented by , this high-risk AI system fails the quality management requirements under Article 17.")
|
112 |
-
|
113 |
-
return msg
|
114 |
-
|
115 |
-
|
116 |
-
# # If the project is a GPAI model, check that is has met all the requirements for such systems:
|
117 |
|
118 |
-
# if
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
# # If it is, load the yaml
|
133 |
-
|
134 |
-
# with open(folder_path + filename, 'r') as file:
|
135 |
-
# data_cc_yaml = yaml.safe_load(file)
|
136 |
|
137 |
-
#
|
138 |
-
|
139 |
-
|
|
|
|
|
|
|
140 |
|
141 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
143 |
-
|
144 |
-
# # Check if the search word is in the filename
|
145 |
-
# if "model_cc.md" in filename.lower():
|
146 |
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
-
|
150 |
-
|
|
|
|
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
|
|
|
|
|
155 |
|
156 |
-
|
|
|
|
|
|
|
157 |
|
158 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
|
160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
-
|
|
|
|
|
167 |
|
168 |
-
|
169 |
-
# # Check if the search word is in the filename
|
170 |
-
# if "model_cc.md" in filename.lower():
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
173 |
|
174 |
-
|
175 |
-
|
|
|
176 |
|
177 |
-
|
178 |
-
# if not value:
|
179 |
-
# msg = (f"Because of the model represented by {filename}, this GPAI model with systematic risk fails the transparency requirements under Article 55.")
|
180 |
|
|
|
181 |
|
182 |
|
|
|
1 |
import yaml
|
2 |
+
from utils import set_operator_role_and_location, set_eu_market_status, check_within_scope_act, check_prohibited
|
3 |
|
4 |
+
# TODO tells the user where the compliance analysis failed
|
5 |
+
# TODO cite article from yaml file as explanation
|
6 |
|
7 |
+
def check_overall_compliance_ui(cards):
|
8 |
+
|
9 |
+
project_cc = cards['project_file']
|
10 |
+
|
11 |
+
dispositive_variables = {
|
12 |
"ai_project_type": {
|
13 |
+
"ai_system": project_cc['ai_system']['ai_system']['value'],
|
14 |
+
"gpai_model": project_cc['gpai_model']['gpai_model']['value'],
|
15 |
"high_risk_ai_system": False,
|
16 |
+
"gpai_model_systemic_risk": False
|
17 |
},
|
18 |
+
"operator_details": {
|
19 |
+
"provider": project_cc['operator_details']['provider']['value'],
|
20 |
+
"eu_located": project_cc['operator_details']['eu_located']['value'],
|
21 |
+
"output_used": project_cc['operator_details']['output_used']['value']
|
|
|
|
|
|
|
22 |
},
|
23 |
"eu_market_status": {
|
24 |
+
"placed_on_market": project_cc['eu_market_status']['placed_on_market']['value'],
|
25 |
+
"put_into_service": project_cc['eu_market_status']['put_into_service']['value']
|
26 |
+
},
|
27 |
+
"project_intended_purposes": [],
|
28 |
+
"project_cc_pass": False,
|
29 |
+
"data_cc_pass": False,
|
30 |
+
"model_cc_pass": False,
|
31 |
+
"msg": []
|
32 |
}
|
|
|
33 |
|
34 |
+
if any(item['value'] for item in project_cc['high_risk_ai_system'].values()) == True:
|
35 |
+
dispositive_variables['ai_project_type']["high_risk_ai_system"] = True
|
36 |
+
|
37 |
+
# check intended purposes
|
38 |
+
for card in cards['data_files']:
|
39 |
+
data_cc = card[1]
|
40 |
+
dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, data_cc)
|
41 |
+
|
42 |
+
for card in cards['model_files']:
|
43 |
+
model_cc = card[1]
|
44 |
+
dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, model_cc)
|
45 |
+
|
46 |
+
# for each model_cc and data_cc - run analysis with ref to project_cc
|
47 |
+
dispositive_variables = run_compliance_analysis_on_project(dispositive_variables, project_cc)
|
48 |
|
49 |
+
for card in cards['data_files']:
|
50 |
+
data_cc = card[1]
|
51 |
+
dispositive_variables = run_compliance_analysis_on_data(dispositive_variables, data_cc)
|
52 |
+
|
53 |
+
for card in cards['model_files']:
|
54 |
+
model_cc = card[1]
|
55 |
+
dispositive_variables = run_compliance_analysis_on_model(dispositive_variables, model_cc)
|
56 |
|
57 |
+
return dispositive_variables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
+
def check_overall_compliance(cards):
|
60 |
+
|
61 |
+
with open(cards['project_file'], 'r') as project_filepath:
|
62 |
+
print(project_filepath)
|
63 |
+
project_cc = yaml.safe_load(project_filepath.read())
|
64 |
|
65 |
+
dispositive_variables = {
|
66 |
+
"ai_project_type": {
|
67 |
+
"ai_system": project_cc['ai_system']['ai_system']['value'],
|
68 |
+
"gpai_model": project_cc['gpai_model']['gpai_model']['value'],
|
69 |
+
"high_risk_ai_system": False,
|
70 |
+
"gpai_model_systemic_risk": False
|
71 |
+
},
|
72 |
+
"operator_details": {
|
73 |
+
"provider": project_cc['operator_details']['provider']['value'],
|
74 |
+
"eu_located": project_cc['operator_details']['eu_located']['value'],
|
75 |
+
"output_used": project_cc['operator_details']['output_used']['value']
|
76 |
+
},
|
77 |
+
"eu_market_status": {
|
78 |
+
"placed_on_market": project_cc['eu_market_status']['placed_on_market']['value'],
|
79 |
+
"put_into_service": project_cc['eu_market_status']['put_into_service']['value']
|
80 |
+
},
|
81 |
+
"project_intended_purposes": [],
|
82 |
+
"project_cc_pass": False,
|
83 |
+
"data_cc_pass": False,
|
84 |
+
"model_cc_pass": False,
|
85 |
+
"msg": []
|
86 |
+
}
|
87 |
+
|
88 |
+
# check intended purposes
|
89 |
+
for card in cards['data_files']:
|
90 |
+
with open(card, 'r') as data_filepath:
|
91 |
+
data_cc = yaml.safe_load(data_filepath.read())
|
92 |
+
dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, data_cc)
|
93 |
+
|
94 |
+
for card in cards['model_files']:
|
95 |
+
with open(card, 'r') as model_filepath:
|
96 |
+
model_cc = yaml.safe_load(model_filepath.read())
|
97 |
+
dispositive_variables = check_intended_purpose(dispositive_variables, project_cc, model_cc)
|
98 |
+
|
99 |
+
# for each model_cc and data_cc - run analysis with ref to project_cc
|
100 |
+
dispositive_variables = run_compliance_analysis_on_project(dispositive_variables, project_cc)
|
101 |
+
|
102 |
+
for card in cards['data_files']:
|
103 |
+
with open(card, 'r') as data_filepath:
|
104 |
+
data_cc = yaml.safe_load(data_filepath.read())
|
105 |
+
dispositive_variables = run_compliance_analysis_on_data(dispositive_variables, data_cc)
|
106 |
+
|
107 |
+
for card in cards['model_files']:
|
108 |
+
with open(card, 'r') as model_filepath:
|
109 |
+
model_cc = yaml.safe_load(model_filepath.read())
|
110 |
+
dispositive_variables = run_compliance_analysis_on_model(dispositive_variables, model_cc)
|
111 |
+
|
112 |
+
return dispositive_variables
|
113 |
+
|
114 |
+
def run_compliance_analysis_on_project(dispositive_variables, project_cc_yaml):
|
115 |
+
|
116 |
+
# Project Type
|
117 |
+
if project_cc_yaml['ai_system']['ai_system']['value']:
|
118 |
+
dispositive_variables['ai_project_type']['ai_system'] = True
|
119 |
+
if project_cc_yaml['gpai_model']['gpai_model']['value']:
|
120 |
+
dispositive_variables['ai_project_type']['gpai_model'] = True
|
121 |
+
if project_cc_yaml['ai_system']['ai_system']['value'] == True and project_cc_yaml['gpai_model']['gpai_model']['value'] == True:
|
122 |
+
dispositive_variables['msg'].append("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
|
123 |
+
return dispositive_variables
|
124 |
|
125 |
+
if dispositive_variables['ai_project_type']['ai_system'] == True:
|
126 |
+
for value in project_cc_yaml['high_risk_ai_system']:
|
127 |
+
if value and sum(map(bool, [
|
128 |
+
project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_rights']['value'],
|
129 |
+
project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_narrow']['value'],
|
130 |
+
project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_human']['value'],
|
131 |
+
project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_deviation']['value'],
|
132 |
+
project_cc_yaml['high_risk_ai_system_exceptions']['filter_exception_prep']['value']])
|
133 |
+
) >= 1:
|
134 |
+
|
135 |
+
dispositive_variables['ai_project_type']["high_risk_ai_system"] = False
|
|
|
|
|
|
|
136 |
|
137 |
+
if dispositive_variables['ai_project_type']['gpai_model'] == True:
|
138 |
+
if project_cc_yaml['gpai_model_systemic_risk']['evaluation']['value'] or project_cc_yaml['gpai_model_systemic_risk']['flops']['value']:
|
139 |
+
dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] = True
|
140 |
|
141 |
+
# Operator Type
|
142 |
+
dispositive_variables = set_operator_role_and_location(dispositive_variables, project_cc_yaml)
|
143 |
+
dispositive_variables = set_eu_market_status(dispositive_variables, project_cc_yaml)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
|
145 |
+
# Check if project is within scope of the Compliance Cards project. If not, inform user.
|
146 |
+
if project_cc_yaml['operator_details']['provider']['value'] == True:
|
147 |
+
dispositive_variables['msg'].append("Project is within the scope of the Compliance Cards system. Let's continue...")
|
148 |
+
else:
|
149 |
+
dispositive_variables['msg'].append("Project is not within the scope of the initial version of the Compliance Cards system.")
|
150 |
+
return dispositive_variables
|
151 |
+
|
152 |
+
# Check if the project is within scope of the Act. If it's not, the analysis is over.
|
153 |
+
if check_within_scope_act(dispositive_variables, project_cc_yaml):
|
154 |
+
dispositive_variables['msg'].append("Project is within the scope of Act. Let's continue...")
|
155 |
+
else:
|
156 |
+
dispositive_variables['msg'].append("Project is not within the scope of what is regulated by the Act.")
|
157 |
+
return dispositive_variables
|
|
|
|
|
|
|
|
|
|
|
158 |
|
159 |
+
# Check for prohibited practices. If any exist, the analysis is over.
|
160 |
+
if check_prohibited(project_cc_yaml) == True:
|
161 |
+
dispositive_variables['msg'].append("Project is non-compliant due to a prohibited practice.")
|
162 |
+
return dispositive_variables
|
163 |
+
else:
|
164 |
+
print("Project does not contain prohibited practies. Let's continue...")
|
165 |
|
166 |
+
# If project is high-risk AI system, check that is has met all the requirements for such systems:
|
167 |
+
if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
|
168 |
+
|
169 |
+
for key in project_cc_yaml['risk_management_system']:
|
170 |
+
if project_cc_yaml['risk_management_system'][f'{key}']['value'] == True:
|
171 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 9.")
|
172 |
+
for key in project_cc_yaml['technical_documentation']:
|
173 |
+
if project_cc_yaml['technical_documentation'][f'{key}']['value'] == True:
|
174 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 11.")
|
175 |
+
|
176 |
+
for key in project_cc_yaml['record_keeping']:
|
177 |
+
if project_cc_yaml['record_keeping'][f'{key}']['value'] == True:
|
178 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the risk management requirements under Article 12.")
|
179 |
+
|
180 |
+
for key in project_cc_yaml['transparency_and_provision_of_information_to_deployers']:
|
181 |
+
if project_cc_yaml['transparency_and_provision_of_information_to_deployers'][f'{key}']['value'] == True:
|
182 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the transparency requirements under Article 13.")
|
183 |
+
|
184 |
+
for key in project_cc_yaml['human_oversight']:
|
185 |
+
if project_cc_yaml['human_oversight'][f'{key}']['value'] == True:
|
186 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the human oversight requirements under Article 14.")
|
187 |
+
|
188 |
+
for key in project_cc_yaml['accuracy_robustness_cybersecurity']:
|
189 |
+
if project_cc_yaml['accuracy_robustness_cybersecurity'][f'{key}']['value'] == True:
|
190 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 15.")
|
191 |
+
|
192 |
+
for key in project_cc_yaml['quality_management_system']:
|
193 |
+
if project_cc_yaml['quality_management_system'][f'{key}']['value'] == True:
|
194 |
+
dispositive_variables['msg'].append("Because of project-level characteristics, this high-risk AI system fails the accuracy, robustness, and cybersecurity requirements under Article 17.")
|
195 |
+
|
196 |
+
if dispositive_variables['ai_project_type']["gpai_model"] == True:
|
197 |
+
|
198 |
+
if dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] == True:
|
199 |
+
for key in project_cc_yaml['gpai_models_with_systemic_risk_obligations']:
|
200 |
+
if project_cc_yaml['gpai_models_with_systemic_risk_obligations'][f'{key}']['value'] == True:
|
201 |
+
dispositive_variables['msg'].append("GPAI model with systematic risk fails the transparency requirements under Article 55.")
|
202 |
+
|
203 |
+
for obligation_cat in project_cc_yaml['gpai_model_obligations']:
|
204 |
+
for obligation in project_cc_yaml['gpai_model_obligations'][f'{obligation_cat}']:
|
205 |
+
if project_cc_yaml['gpai_model_obligations'][f'{obligation_cat}'][f'{obligation}']['value'] == True:
|
206 |
+
dispositive_variables['msg'].append("GPAI model fails the transparency requirements under Article 53.")
|
207 |
|
208 |
+
return dispositive_variables
|
|
|
|
|
209 |
|
210 |
+
def run_compliance_analysis_on_data(dispositive_variables, data_cc_yaml):
|
211 |
+
|
212 |
+
if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
|
213 |
+
for key in data_cc_yaml['high_risk_ai_system_requirements']:
|
214 |
+
if data_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['value'] == True:
|
215 |
+
dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {data_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['article']}.")
|
216 |
|
217 |
+
if dispositive_variables['ai_project_type']["gpai_model"] == True:
|
218 |
+
for value in data_cc_yaml['gpai_model_requirements']:
|
219 |
+
if data_cc_yaml['gpai_model_requirements'][f'{value}'] == True:
|
220 |
+
dispositive_variables['msg'].append(f"")
|
221 |
|
222 |
+
return dispositive_variables
|
223 |
+
|
224 |
+
def run_compliance_analysis_on_model(dispositive_variables, model_cc_yaml):
|
225 |
+
|
226 |
+
# If project involves a high-risk AI system, then make sure all the relevant model requirements are met (relevant attributes are positive)
|
227 |
|
228 |
+
if dispositive_variables['ai_project_type']["high_risk_ai_system"] == True:
|
229 |
+
for value in model_cc_yaml['high_risk_ai_system_requirements']:
|
230 |
+
if model_cc_yaml['high_risk_ai_system_requirements'][f'{value}'] == True:
|
231 |
+
dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['high_risk_ai_system_requirements'][f'{key}']['article']}.")
|
232 |
|
233 |
+
# If project involves a GPAI model, then make sure all the relevant model requirements are met (relevant attributes are positive)
|
234 |
+
|
235 |
+
if dispositive_variables['ai_project_type']["gpai_model"] == True:
|
236 |
+
for key in model_cc_yaml['gpai_model_requirements']:
|
237 |
+
if model_cc_yaml['gpai_model_requirements'][f'{key}']['value'] == True:
|
238 |
+
dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['gpai_model_requirements'][f'{key}']['article']}.")
|
239 |
+
|
240 |
+
# If the GPAI model additionally carries systemic risk, then make sure all the relevant model requirements are met (relevant attributes are positive)
|
241 |
+
|
242 |
+
if dispositive_variables['ai_project_type']["gpai_model_systemic_risk"] == True:
|
243 |
+
for key in model_cc_yaml['gpai_model_with_systemic_risk_requirements']:
|
244 |
+
if model_cc_yaml['gpai_model_with_systemic_risk_requirements'][f'{key}']['value'] == True:
|
245 |
+
dispositive_variables['msg'].append(f"This high-risk AI system fails the {key} requirements under {model_cc_yaml['gpai_model_with_systemic_risk_requirements'][f'{key}']['article']}.")
|
246 |
+
|
247 |
+
return dispositive_variables
|
248 |
|
249 |
+
def check_intended_purpose(dispositive_variables, project_cc, other_cc):
|
250 |
+
|
251 |
+
# We want to run this function for everything classified as a high_risk_ai_system
|
252 |
+
# We also need to run it for all
|
253 |
+
# Add any of the intended purposes of the overall project to a set of intended purposes
|
254 |
+
|
255 |
+
# intended_purpose = ['safety_component',
|
256 |
+
# "product_regulated_machinery",
|
257 |
+
# "product_regulated_toy",
|
258 |
+
# "product_regulated_watercraft",
|
259 |
+
# "biometric_categorization",
|
260 |
+
# "emotion_recognition",
|
261 |
+
# "critical_infrastructure",
|
262 |
+
# "admission",
|
263 |
+
# "recruitment",
|
264 |
+
# "public_assistance",
|
265 |
+
# "victim_assessment",
|
266 |
+
# "polygraph",
|
267 |
+
# "judicial"]
|
268 |
+
|
269 |
+
project_intended_purposes = []
|
270 |
+
dataset_intended_purposes = []
|
271 |
+
model_intended_purposes = []
|
272 |
|
273 |
+
if dispositive_variables['ai_project_type']['high_risk_ai_system'] == False:
|
274 |
+
dispositive_variables['msg'].append(f"Not high-risk")
|
275 |
+
return dispositive_variables
|
276 |
+
|
277 |
+
if dispositive_variables['ai_project_type']['high_risk_ai_system'] == True:
|
278 |
+
for key in project_cc['high_risk_ai_system']:
|
279 |
+
if project_cc['high_risk_ai_system'][f'{key}']['value']:
|
280 |
+
project_intended_purposes.append(key)
|
281 |
+
|
282 |
+
# For each Data CC, put the intended uses in a set and then make sure the Project's intended use is in the set
|
283 |
+
|
284 |
+
if other_cc['card_details']['card_type'] == 'data':
|
285 |
+
data_cc = other_cc
|
286 |
+
for key in data_cc['intended_purpose']:
|
287 |
+
if data_cc['intended_purpose'][f'{key}']['value']:
|
288 |
+
dataset_intended_purposes.append(key)
|
289 |
|
290 |
+
for purpose in project_intended_purposes:
|
291 |
+
if purpose not in dataset_intended_purposes:
|
292 |
+
dispositive_variables['msg'].append(f"You are not compliant because {purpose} is not a valid purpose for {data_cc['card_details']['card_label']}")
|
293 |
|
294 |
+
# Now do the exact same thing for all models
|
|
|
|
|
295 |
|
296 |
+
if other_cc['card_details']['card_type'] == 'model':
|
297 |
+
model_cc = other_cc
|
298 |
+
for key in model_cc['intended_purpose']:
|
299 |
+
if model_cc['intended_purpose'][f'{key}']['value']:
|
300 |
+
model_intended_purposes.append(key)
|
301 |
|
302 |
+
for purpose in project_intended_purposes:
|
303 |
+
if purpose not in model_intended_purposes:
|
304 |
+
dispositive_variables['msg'].append(f"You are not compliant because {purpose} is not a valid purpose for {model_cc['card_details']['card_label']}")
|
305 |
|
306 |
+
dispositive_variables['project_intended_purposes'] = project_intended_purposes
|
|
|
|
|
307 |
|
308 |
+
return dispositive_variables
|
309 |
|
310 |
|
data_cc 02.yaml
ADDED
@@ -0,0 +1,228 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
card_details:
|
2 |
+
card_type: "data" # "project", "data" or "model"
|
3 |
+
card_label: "data_02"
|
4 |
+
|
5 |
+
# Metadata related to intended purpose(s) of data
|
6 |
+
|
7 |
+
intended_purpose:
|
8 |
+
safety_component:
|
9 |
+
article: 'Art. 6(1)(a)'
|
10 |
+
verbose: 'This dataset is appropriate to use for AI projects involving product safety components'
|
11 |
+
value: !!bool true
|
12 |
+
product_regulated_machinery:
|
13 |
+
article: 'Art. 6(1)(b); Annex I'
|
14 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
15 |
+
value: !!bool false
|
16 |
+
product_regulated_toy:
|
17 |
+
article: 'Art. 6(1)(b); Annex I'
|
18 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
19 |
+
value: !!bool false
|
20 |
+
product_regulated_watercraft:
|
21 |
+
article: 'Art. 6(1)(b); Annex I'
|
22 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
23 |
+
value: !!bool false
|
24 |
+
biometric_categorization:
|
25 |
+
article: 'Art. 6(2); Annex III(1)(b)'
|
26 |
+
verbose: 'This dataset is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
27 |
+
value: !!bool false
|
28 |
+
emotion_recognition:
|
29 |
+
article: 'Art. 6(2); Annex III(1)(c)'
|
30 |
+
verbose: 'This dataset is appropriate to use for AI projects involving emotion recognition'
|
31 |
+
value: !!bool true
|
32 |
+
critical_infrastructure:
|
33 |
+
article: 'Art. 6(2); Annex III(2)'
|
34 |
+
verbose: 'This dataset is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
35 |
+
value: !!bool true
|
36 |
+
admission:
|
37 |
+
article: 'Art. 6(2); Annex III(3)(a)'
|
38 |
+
verbose: 'This dataset is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
|
39 |
+
value: !!bool false
|
40 |
+
recruitment:
|
41 |
+
article: 'Art. 6(2); Annex III(4)(a)'
|
42 |
+
verbose: 'This dataset is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
43 |
+
value: !!bool false
|
44 |
+
public_assistance:
|
45 |
+
article: 'Art. 6(2); Annex III(5)(a)'
|
46 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
47 |
+
value: !!bool false
|
48 |
+
victim_assessment:
|
49 |
+
article: 'Art. 6(2); Annex III(6)(a)'
|
50 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
51 |
+
value: !!bool false
|
52 |
+
polygraph:
|
53 |
+
article: 'Art. 6(2); Annex III(7)(a)'
|
54 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
55 |
+
value: !!bool false
|
56 |
+
judicial:
|
57 |
+
article: 'Art. 6(2); Annex III(8)(a)'
|
58 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
59 |
+
value: !!bool false
|
60 |
+
|
61 |
+
# Metadata related to data-related requirements for high-risk AI systems
|
62 |
+
|
63 |
+
high_risk_ai_system_requirements:
|
64 |
+
# data governance
|
65 |
+
data_and_data_governance_data_governance:
|
66 |
+
article: 'Art. 10(1)-(2)'
|
67 |
+
verbose: 'The dataset was subject to data governance and management practices appropriate to the intended use case'
|
68 |
+
value: !!bool false
|
69 |
+
data_and_data_governance_design_choices:
|
70 |
+
article: 'Art. 10(2)(a)'
|
71 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its relevant design choices'
|
72 |
+
value: !!bool false
|
73 |
+
data_and_data_governance_data_origin:
|
74 |
+
article: 'Art. 10(2)(b)'
|
75 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its data collection processes and the origin of data, and in the case of personal data, the original purpose of the data collection'
|
76 |
+
value: !!bool false
|
77 |
+
data_and_data_governance_data_preparation:
|
78 |
+
article: 'Art. 10(2)(c)'
|
79 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its data-preparation processing operations, such as annotation, labelling, cleaning, updating, enrichment and aggregation'
|
80 |
+
value: !!bool false
|
81 |
+
data_and_data_governance_data_assumptions:
|
82 |
+
article: 'Art. 10(2)(d)'
|
83 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its formulation of assumptions, in particular with respect to the information that the data are supposed to measure and represent'
|
84 |
+
value: !!bool false
|
85 |
+
data_and_data_governance_data_quantity:
|
86 |
+
article: 'Art. 10(2)(e)'
|
87 |
+
verbose: 'The dataset has been subject to data governance and management practices that include an assessment of the availability, quantity and suitability of the data sets that are needed'
|
88 |
+
value: !!bool false
|
89 |
+
data_and_data_governance_ata_bias_examination:
|
90 |
+
article: 'Art. 10(2)(f)'
|
91 |
+
verbose: 'The dataset has been subject to data governance and management practices that include an examination of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
|
92 |
+
value: !!bool false
|
93 |
+
data_and_data_governance_data_and_data_governance_data_bias_mitigation:
|
94 |
+
article: 'Art. 10(2)(g)'
|
95 |
+
verbose: 'The dataset has been subject to data governance and management practices that include appropriate measures to detect, prevent and mitigate possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
|
96 |
+
value: !!bool true
|
97 |
+
data_and_data_governance_data_compliance:
|
98 |
+
article: 'Art. 10(2)(h)'
|
99 |
+
verbose: 'The dataset has been subject to data governance and management practices that include identification of relevant data gaps or shortcomings that prevent compliance with this Regulation, and how those gaps and shortcomings can be addressed'
|
100 |
+
value: !!bool false
|
101 |
+
# data_characteristics
|
102 |
+
data_and_data_governance_data_relevance:
|
103 |
+
article: 'Art. 10(3); Rec. 67'
|
104 |
+
verbose: 'Training data is relevant'
|
105 |
+
value: !!bool false
|
106 |
+
data_and_data_governance_data_representativity:
|
107 |
+
article: 'Art. 10(3); Rec. 67'
|
108 |
+
verbose: 'Training data is sufficiently representative'
|
109 |
+
value: !!bool false
|
110 |
+
data_and_data_governance_data_errors:
|
111 |
+
article: 'Art. 10(3); Rec. 67'
|
112 |
+
verbose: 'Training data is, to the best extent possible, free of errors'
|
113 |
+
value: !!bool false
|
114 |
+
data_and_data_governance_data_completeness:
|
115 |
+
article: 'Art. 10(3); Rec. 67'
|
116 |
+
verbose: 'Training data is complete in view of the intended purpose'
|
117 |
+
value: !!bool false
|
118 |
+
data_and_data_governance_statistical_properties:
|
119 |
+
article: 'Art. 10(3)'
|
120 |
+
verbose: 'Training data possesses the appropriate statistical properties, including, where applicable, as regards the people in relation to whom it is intended to be used'
|
121 |
+
value: !!bool false
|
122 |
+
data_and_data_governance_contextual:
|
123 |
+
article: 'Art. 10(4)'
|
124 |
+
verbose: 'Training data takes into account, to the extent required by the intended purpose, the characteristics or elements that are particular to the specific geographical, contextual, behavioural or functional setting within which it is intended to be used'
|
125 |
+
value: !!bool false
|
126 |
+
# special_categories_of_personal_data:
|
127 |
+
data_and_data_governance_personal_data_necessary:
|
128 |
+
article: 'Art. 10(5)'
|
129 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
|
130 |
+
value: !!bool false
|
131 |
+
data_and_data_governance_personal_data_safeguards:
|
132 |
+
article: 'Art. 10(5)'
|
133 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
|
134 |
+
value: !!bool false
|
135 |
+
data_and_data_governance_personal_data_gdpr:
|
136 |
+
article: 'Art. 10(5)'
|
137 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
|
138 |
+
value: !!bool false
|
139 |
+
data_and_data_governance_personal_data_other_options:
|
140 |
+
article: 'Art. 10(5)(a)'
|
141 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
|
142 |
+
value: !!bool false
|
143 |
+
data_and_data_governance_personal_data_limitations:
|
144 |
+
article: 'Art. 10(5)(b)'
|
145 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
|
146 |
+
value: !!bool false
|
147 |
+
data_and_data_governance_personal_data_controls:
|
148 |
+
article: 'Art. 10(5)(c)'
|
149 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
|
150 |
+
value: !!bool false
|
151 |
+
data_and_data_governance_personal_data_access:
|
152 |
+
article: 'Art. 10(5)(d)'
|
153 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
|
154 |
+
value: !!bool false
|
155 |
+
data_and_data_governance_personal_data_deletion:
|
156 |
+
article: 'Art. 10(5)(e)'
|
157 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
|
158 |
+
value: !!bool false
|
159 |
+
data_and_data_governance_personal_data_necessary_105f:
|
160 |
+
article: 'Art. 10(5)(f)'
|
161 |
+
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
|
162 |
+
value: !!bool false
|
163 |
+
# technical_documentation:
|
164 |
+
technical_documentation_general_description:
|
165 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
166 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
|
167 |
+
value: !!bool false
|
168 |
+
technical_documentation_provenance:
|
169 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
170 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
|
171 |
+
value: !!bool false
|
172 |
+
technical_documentation_scope:
|
173 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
174 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
|
175 |
+
value: !!bool false
|
176 |
+
technical_documentation_origins:
|
177 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
178 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
|
179 |
+
value: !!bool false
|
180 |
+
technical_documentation_labelling:
|
181 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
182 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
|
183 |
+
value: !!bool false
|
184 |
+
technical_documentation_cleaning:
|
185 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
186 |
+
verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
|
187 |
+
value: !!bool false
|
188 |
+
technical_documentation_cybersecurity:
|
189 |
+
article: 'Art. 11; Annex IV(2)(h)'
|
190 |
+
verbose: 'Cybersecurity measures were put in place as regards the data (e.g., scanning for data poisoning)'
|
191 |
+
value: !!bool false
|
192 |
+
|
193 |
+
transparency_and_provision_of_information_to_deployers:
|
194 |
+
article: '# Art. 13(3)(b)(vi)'
|
195 |
+
verbose: 'Dataset is accompanied by instructions for use that convery relevant information about it, taking into account its intended purpose'
|
196 |
+
value: !!bool false
|
197 |
+
quality_management_system:
|
198 |
+
article: 'Art. 17(1)(f)'
|
199 |
+
verbose: 'Datset was subject to a quality management system that is documented in a systematic and orderly manner in the form of written policies, procedures and instructions, and includes a description of the systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data'
|
200 |
+
value: !!bool false
|
201 |
+
|
202 |
+
# Metadata related to data-related requirements for GPAI models
|
203 |
+
|
204 |
+
gpai_model_requirements:
|
205 |
+
data_type:
|
206 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
207 |
+
verbose: 'Documentation for the dataset is available that contains the type of data'
|
208 |
+
value: !!bool false
|
209 |
+
data_provenance:
|
210 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
211 |
+
verbose: 'Documentation for the dataset is available that contains the provenance of data'
|
212 |
+
value: !!bool false
|
213 |
+
data_curation:
|
214 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
215 |
+
verbose: 'Documentation for the dataset is available that contains the curation methodologies (e.g. cleaning, filtering, etc.)'
|
216 |
+
value: !!bool false
|
217 |
+
data_number:
|
218 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
219 |
+
verbose: 'Documentation for the dataset is available that contains the number of data points'
|
220 |
+
value: !!bool false
|
221 |
+
data_scope:
|
222 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
223 |
+
verbose: 'Documentation for the dataset is available that contains the number of data scope and main characteristics'
|
224 |
+
value: !!bool false
|
225 |
+
data_origin:
|
226 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
227 |
+
verbose: 'Documentation for the dataset is available that contains information on how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases'
|
228 |
+
value: !!bool false
|
data_cc.yaml
CHANGED
@@ -1,127 +1,228 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
verbose: '
|
19 |
-
value: !!bool false
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
verbose: 'Training data is relevant'
|
31 |
value: !!bool false
|
32 |
-
|
|
|
33 |
verbose: 'Training data is sufficiently representative'
|
34 |
value: !!bool false
|
35 |
-
|
|
|
36 |
verbose: 'Training data is, to the best extent possible, free of errors'
|
37 |
value: !!bool false
|
38 |
-
|
39 |
-
|
|
|
40 |
value: !!bool false
|
41 |
-
|
42 |
-
|
|
|
43 |
value: !!bool false
|
44 |
-
|
45 |
-
|
|
|
46 |
value: !!bool false
|
47 |
-
|
|
|
|
|
48 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
|
49 |
value: !!bool false
|
50 |
-
|
|
|
51 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
|
52 |
value: !!bool false
|
53 |
-
|
|
|
54 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
|
55 |
value: !!bool false
|
56 |
-
|
|
|
57 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
|
58 |
value: !!bool false
|
59 |
-
|
|
|
60 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
|
61 |
value: !!bool false
|
62 |
-
|
|
|
63 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
|
64 |
value: !!bool false
|
65 |
-
|
|
|
66 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
|
67 |
value: !!bool false
|
68 |
-
|
|
|
69 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
|
70 |
value: !!bool false
|
71 |
-
|
|
|
72 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
|
73 |
value: !!bool false
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
|
78 |
value: !!bool false
|
79 |
-
|
|
|
80 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
|
81 |
value: !!bool false
|
82 |
-
|
|
|
83 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
|
84 |
value: !!bool false
|
85 |
-
|
|
|
86 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
|
87 |
value: !!bool false
|
88 |
-
|
|
|
89 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
|
90 |
value: !!bool false
|
91 |
-
|
|
|
92 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
|
93 |
value: !!bool false
|
94 |
-
|
95 |
-
|
|
|
96 |
value: !!bool false
|
97 |
-
|
98 |
-
transparency_and_provision_of_information_to_deployers:
|
99 |
-
|
100 |
-
verbose: '
|
101 |
value: !!bool false
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
verbose: 'Systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data that is performed before and for the purposes of the placing on the market or putting into service of high-risk AI systems'
|
106 |
value: !!bool false
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
card_details:
|
2 |
+
card_type: "data" # "project", "data" or "model"
|
3 |
+
card_label: "data_01"
|
4 |
+
|
5 |
+
# Metadata related to intended purpose(s) of data
|
6 |
+
|
7 |
+
intended_purpose:
|
8 |
+
safety_component:
|
9 |
+
article: 'Art. 6(1)(a)'
|
10 |
+
verbose: 'This dataset is appropriate to use for AI projects involving product safety components'
|
11 |
+
value: !!bool false
|
12 |
+
product_regulated_machinery:
|
13 |
+
article: 'Art. 6(1)(b); Annex I'
|
14 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
15 |
+
value: !!bool false
|
16 |
+
product_regulated_toy:
|
17 |
+
article: 'Art. 6(1)(b); Annex I'
|
18 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
19 |
+
value: !!bool false
|
20 |
+
product_regulated_watercraft:
|
21 |
+
article: 'Art. 6(1)(b); Annex I'
|
22 |
+
verbose: 'This dataset is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
23 |
+
value: !!bool false
|
24 |
+
biometric_categorization:
|
25 |
+
article: 'Art. 6(2); Annex III(1)(b)'
|
26 |
+
verbose: 'This dataset is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
27 |
+
value: !!bool false
|
28 |
+
emotion_recognition:
|
29 |
+
article: 'Art. 6(2); Annex III(1)(c)'
|
30 |
+
verbose: 'This dataset is appropriate to use for AI projects involving emotion recognition'
|
31 |
+
value: !!bool true
|
32 |
+
critical_infrastructure:
|
33 |
+
article: 'Art. 6(2); Annex III(2)'
|
34 |
+
verbose: 'This dataset is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
35 |
+
value: !!bool true
|
36 |
+
admission:
|
37 |
+
article: 'Art. 6(2); Annex III(3)(a)'
|
38 |
+
verbose: 'This dataset is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
|
39 |
+
value: !!bool false
|
40 |
+
recruitment:
|
41 |
+
article: 'Art. 6(2); Annex III(4)(a)'
|
42 |
+
verbose: 'This dataset is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
43 |
+
value: !!bool false
|
44 |
+
public_assistance:
|
45 |
+
article: 'Art. 6(2); Annex III(5)(a)'
|
46 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
47 |
+
value: !!bool false
|
48 |
+
victim_assessment:
|
49 |
+
article: 'Art. 6(2); Annex III(6)(a)'
|
50 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
51 |
+
value: !!bool false
|
52 |
+
polygraph:
|
53 |
+
article: 'Art. 6(2); Annex III(7)(a)'
|
54 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
55 |
+
value: !!bool false
|
56 |
+
judicial:
|
57 |
+
article: 'Art. 6(2); Annex III(8)(a)'
|
58 |
+
verbose: 'This dataset is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
59 |
+
value: !!bool false
|
60 |
+
|
61 |
+
# Metadata related to data-related requirements for high-risk AI systems
|
62 |
+
|
63 |
+
high_risk_ai_system_requirements:
|
64 |
+
# data governance
|
65 |
+
data_and_data_governance_data_governance:
|
66 |
+
article: 'Art. 10(1)-(2)'
|
67 |
+
verbose: 'The dataset was subject to data governance and management practices appropriate to the intended use case'
|
68 |
+
value: !!bool false
|
69 |
+
data_and_data_governance_design_choices:
|
70 |
+
article: 'Art. 10(2)(a)'
|
71 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its relevant design choices'
|
72 |
+
value: !!bool false
|
73 |
+
data_and_data_governance_data_origin:
|
74 |
+
article: 'Art. 10(2)(b)'
|
75 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its data collection processes and the origin of data, and in the case of personal data, the original purpose of the data collection'
|
76 |
+
value: !!bool false
|
77 |
+
data_and_data_governance_data_preparation:
|
78 |
+
article: 'Art. 10(2)(c)'
|
79 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its data-preparation processing operations, such as annotation, labelling, cleaning, updating, enrichment and aggregation'
|
80 |
+
value: !!bool false
|
81 |
+
data_and_data_governance_data_assumptions:
|
82 |
+
article: 'Art. 10(2)(d)'
|
83 |
+
verbose: 'The dataset has been subject to data governance and management practices as regards its formulation of assumptions, in particular with respect to the information that the data are supposed to measure and represent'
|
84 |
+
value: !!bool false
|
85 |
+
data_and_data_governance_data_quantity:
|
86 |
+
article: 'Art. 10(2)(e)'
|
87 |
+
verbose: 'The dataset has been subject to data governance and management practices that include an assessment of the availability, quantity and suitability of the data sets that are needed'
|
88 |
+
value: !!bool false
|
89 |
+
data_and_data_governance_ata_bias_examination:
|
90 |
+
article: 'Art. 10(2)(f)'
|
91 |
+
verbose: 'The dataset has been subject to data governance and management practices that include an examination of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
|
92 |
+
value: !!bool false
|
93 |
+
data_and_data_governance_data_and_data_governance_data_bias_mitigation:
|
94 |
+
article: 'Art. 10(2)(g)'
|
95 |
+
verbose: 'The dataset has been subject to data governance and management practices that include appropriate measures to detect, prevent and mitigate possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations'
|
96 |
+
value: !!bool true
|
97 |
+
data_and_data_governance_data_compliance:
|
98 |
+
article: 'Art. 10(2)(h)'
|
99 |
+
verbose: 'The dataset has been subject to data governance and management practices that include identification of relevant data gaps or shortcomings that prevent compliance with this Regulation, and how those gaps and shortcomings can be addressed'
|
100 |
+
value: !!bool false
|
101 |
+
# data_characteristics
|
102 |
+
data_and_data_governance_data_relevance:
|
103 |
+
article: 'Art. 10(3); Rec. 67'
|
104 |
verbose: 'Training data is relevant'
|
105 |
value: !!bool false
|
106 |
+
data_and_data_governance_data_representativity:
|
107 |
+
article: 'Art. 10(3); Rec. 67'
|
108 |
verbose: 'Training data is sufficiently representative'
|
109 |
value: !!bool false
|
110 |
+
data_and_data_governance_data_errors:
|
111 |
+
article: 'Art. 10(3); Rec. 67'
|
112 |
verbose: 'Training data is, to the best extent possible, free of errors'
|
113 |
value: !!bool false
|
114 |
+
data_and_data_governance_data_completeness:
|
115 |
+
article: 'Art. 10(3); Rec. 67'
|
116 |
+
verbose: 'Training data is complete in view of the intended purpose'
|
117 |
value: !!bool false
|
118 |
+
data_and_data_governance_statistical_properties:
|
119 |
+
article: 'Art. 10(3)'
|
120 |
+
verbose: 'Training data possesses the appropriate statistical properties, including, where applicable, as regards the people in relation to whom it is intended to be used'
|
121 |
value: !!bool false
|
122 |
+
data_and_data_governance_contextual:
|
123 |
+
article: 'Art. 10(4)'
|
124 |
+
verbose: 'Training data takes into account, to the extent required by the intended purpose, the characteristics or elements that are particular to the specific geographical, contextual, behavioural or functional setting within which it is intended to be used'
|
125 |
value: !!bool false
|
126 |
+
# special_categories_of_personal_data:
|
127 |
+
data_and_data_governance_personal_data_necessary:
|
128 |
+
article: 'Art. 10(5)'
|
129 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data was strictly necessary'
|
130 |
value: !!bool false
|
131 |
+
data_and_data_governance_personal_data_safeguards:
|
132 |
+
article: 'Art. 10(5)'
|
133 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use complied with appropriate safeguards for the fundamental rights and freedoms of natural persons'
|
134 |
value: !!bool false
|
135 |
+
data_and_data_governance_personal_data_gdpr:
|
136 |
+
article: 'Art. 10(5)'
|
137 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the use of this data satisfied the provisions set out in Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680'
|
138 |
value: !!bool false
|
139 |
+
data_and_data_governance_personal_data_other_options:
|
140 |
+
article: 'Art. 10(5)(a)'
|
141 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the bias detection and correction was not effectively fulfilled by processing other data, including synthetic or anonymised data'
|
142 |
value: !!bool false
|
143 |
+
data_and_data_governance_personal_data_limitations:
|
144 |
+
article: 'Art. 10(5)(b)'
|
145 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not subject to technical limitations on the re-use of the personal data, and state-of-the-art security and privacy-preserving measures, including pseudonymisation'
|
146 |
value: !!bool false
|
147 |
+
data_and_data_governance_personal_data_controls:
|
148 |
+
article: 'Art. 10(5)(c)'
|
149 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were subject to measures to ensure that the personal data processed are secured, protected, subject to suitable safeguards, including strict controls and documentation of the access, to avoid misuse and ensure that only authorised persons have access to those personal data with appropriate confidentiality obligations'
|
150 |
value: !!bool false
|
151 |
+
data_and_data_governance_personal_data_access:
|
152 |
+
article: 'Art. 10(5)(d)'
|
153 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were not to be transmitted, transferred or otherwise accessed by other parties'
|
154 |
value: !!bool false
|
155 |
+
data_and_data_governance_personal_data_deletion:
|
156 |
+
article: 'Art. 10(5)(e)'
|
157 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the special categories of personal data were deleted once the bias was corrected or the personal data reached the end of its retention period (whichever came first)'
|
158 |
value: !!bool false
|
159 |
+
data_and_data_governance_personal_data_necessary_105f:
|
160 |
+
article: 'Art. 10(5)(f)'
|
161 |
verbose: 'Where special categories of personal data have been used to ensure the detection and correction of possible biases that are likely to affect the health and safety of persons, have a negative impact on fundamental rights or lead to discrimination prohibited under Union law, especially where data outputs influence inputs for future operations, the records of processing activities pursuant to Regulations (EU) 2016/679 and (EU) 2018/1725 and Directive (EU) 2016/680 include the reasons why the processing of special categories of personal data was strictly necessary to detect and correct biases, and why that objective could not be achieved by processing other data'
|
162 |
value: !!bool false
|
163 |
+
# technical_documentation:
|
164 |
+
technical_documentation_general_description:
|
165 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
166 |
verbose: 'Dataset carries technical documention, such as a dataseet, including a general description of the dataset.'
|
167 |
value: !!bool false
|
168 |
+
technical_documentation_provenance:
|
169 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
170 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about its provenance'
|
171 |
value: !!bool false
|
172 |
+
technical_documentation_scope:
|
173 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
174 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about scope and main characteristics'
|
175 |
value: !!bool false
|
176 |
+
technical_documentation_origins:
|
177 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
178 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about how the data was obtained and selected'
|
179 |
value: !!bool false
|
180 |
+
technical_documentation_labelling:
|
181 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
182 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about labelling procedures (e.g. for supervised learning)'
|
183 |
value: !!bool false
|
184 |
+
technical_documentation_cleaning:
|
185 |
+
article: 'Art. 11; Annex IV(2)(d)'
|
186 |
verbose: 'Dataset carries technical documention, such as a dataseet, including information about data cleaning methodologies (e.g. outliers detection)'
|
187 |
value: !!bool false
|
188 |
+
technical_documentation_cybersecurity:
|
189 |
+
article: 'Art. 11; Annex IV(2)(h)'
|
190 |
+
verbose: 'Cybersecurity measures were put in place as regards the data (e.g., scanning for data poisoning)'
|
191 |
value: !!bool false
|
192 |
+
|
193 |
+
transparency_and_provision_of_information_to_deployers:
|
194 |
+
article: '# Art. 13(3)(b)(vi)'
|
195 |
+
verbose: 'Dataset is accompanied by instructions for use that convery relevant information about it, taking into account its intended purpose'
|
196 |
value: !!bool false
|
197 |
+
quality_management_system:
|
198 |
+
article: 'Art. 17(1)(f)'
|
199 |
+
verbose: 'Datset was subject to a quality management system that is documented in a systematic and orderly manner in the form of written policies, procedures and instructions, and includes a description of the systems and procedures for data management, including data acquisition, data collection, data analysis, data labelling, data storage, data filtration, data mining, data aggregation, data retention and any other operation regarding the data'
|
|
|
200 |
value: !!bool false
|
201 |
|
202 |
+
# Metadata related to data-related requirements for GPAI models
|
203 |
+
|
204 |
+
gpai_model_requirements:
|
205 |
+
data_type:
|
206 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
207 |
+
verbose: 'Documentation for the dataset is available that contains the type of data'
|
208 |
+
value: !!bool false
|
209 |
+
data_provenance:
|
210 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
211 |
+
verbose: 'Documentation for the dataset is available that contains the provenance of data'
|
212 |
+
value: !!bool false
|
213 |
+
data_curation:
|
214 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
215 |
+
verbose: 'Documentation for the dataset is available that contains the curation methodologies (e.g. cleaning, filtering, etc.)'
|
216 |
+
value: !!bool false
|
217 |
+
data_number:
|
218 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
219 |
+
verbose: 'Documentation for the dataset is available that contains the number of data points'
|
220 |
+
value: !!bool false
|
221 |
+
data_scope:
|
222 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
223 |
+
verbose: 'Documentation for the dataset is available that contains the number of data scope and main characteristics'
|
224 |
+
value: !!bool false
|
225 |
+
data_origin:
|
226 |
+
article: 'Art. 53(1); Annex XI(2)(c)'
|
227 |
+
verbose: 'Documentation for the dataset is available that contains information on how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases'
|
228 |
+
value: !!bool false
|
model_cc 02.yaml
ADDED
@@ -0,0 +1,313 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
card_details:
|
2 |
+
card_type: "model" # "project", "data" or "model"
|
3 |
+
card_label: "model_02"
|
4 |
+
|
5 |
+
# Metadata related to intended purpose(s) of model
|
6 |
+
|
7 |
+
intended_purpose:
|
8 |
+
safety_component:
|
9 |
+
article: 'Art. 6(1)(a)'
|
10 |
+
verbose: 'This model is appropriate to use for AI projects involving product safety components'
|
11 |
+
value: !!bool false
|
12 |
+
product_regulated_machinery:
|
13 |
+
article: 'Art. 6(1)(b); Annex I'
|
14 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
15 |
+
value: !!bool false
|
16 |
+
product_regulated_toy:
|
17 |
+
article: 'Art. 6(1)(b); Annex I'
|
18 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
19 |
+
value: !!bool false
|
20 |
+
product_regulated_watercraft:
|
21 |
+
article: 'Art. 6(1)(b); Annex I'
|
22 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
23 |
+
value: !!bool false
|
24 |
+
biometric_categorization:
|
25 |
+
article: 'Art. 6(2); Annex III(1)(b)'
|
26 |
+
verbose: 'This model is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
27 |
+
value: !!bool false
|
28 |
+
emotion_recognition:
|
29 |
+
article: 'Art. 6(2); Annex III(1)(c)'
|
30 |
+
verbose: 'This model is appropriate to use for AI projects involving emotion recognition'
|
31 |
+
value: !!bool true
|
32 |
+
critical_infrastructure:
|
33 |
+
article: 'Art. 6(2); Annex III(2)'
|
34 |
+
verbose: 'This model is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
35 |
+
value: !!bool true
|
36 |
+
admission:
|
37 |
+
article: 'Art. 6(2); Annex III(3)(a)'
|
38 |
+
verbose: 'This model is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
|
39 |
+
value: !!bool false
|
40 |
+
recruitment:
|
41 |
+
article: 'Art. 6(2); Annex III(4)(a)'
|
42 |
+
verbose: 'This model is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
43 |
+
value: !!bool false
|
44 |
+
public_assistance:
|
45 |
+
article: 'Art. 6(2); Annex III(5)(a)'
|
46 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
47 |
+
value: !!bool false
|
48 |
+
victim_assessment:
|
49 |
+
article: 'Art. 6(2); Annex III(6)(a)'
|
50 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
51 |
+
value: !!bool false
|
52 |
+
polygraph:
|
53 |
+
article: 'Art. 6(2); Annex III(7)(a)'
|
54 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
55 |
+
value: !!bool false
|
56 |
+
judicial:
|
57 |
+
article: 'Art. 6(2); Annex III(8)(a)'
|
58 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
59 |
+
value: !!bool false
|
60 |
+
|
61 |
+
# Metadata that will help us determine if the model itself is a GPAI and, therefore, must satisfy the requirements of GPAI models
|
62 |
+
|
63 |
+
classification_of_gpai_models:
|
64 |
+
high_impact_capabilities:
|
65 |
+
article: 'Art. 51(1)(a)'
|
66 |
+
verbose: 'The model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
|
67 |
+
value: !!bool false
|
68 |
+
flops:
|
69 |
+
article: 'Art. 51(2)'
|
70 |
+
verbose: 'The cumulative compute used for training the model, as measured in floating point operations (FLOPs), was greater than 10^25.'
|
71 |
+
value: !!bool false
|
72 |
+
|
73 |
+
# Metadata related to model-related requirements for high-risk AI systems
|
74 |
+
|
75 |
+
high_risk_ai_system_requirements:
|
76 |
+
risk_management_system_general:
|
77 |
+
article: 'Art. 9(2)'
|
78 |
+
verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the model lifecycle'
|
79 |
+
value: !!bool false
|
80 |
+
risk_management_system_foreseeable_risks:
|
81 |
+
article: 'Art. 9(2)(a)'
|
82 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the identification and analysis of any known or reasonably foreseeable risks the model can pose to health or safety when used for intended purpose'
|
83 |
+
value: !!bool false
|
84 |
+
risk_management_system_evaluation:
|
85 |
+
article: 'Art. 9(2)(b)'
|
86 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used for intended purpose'
|
87 |
+
value: !!bool false
|
88 |
+
risk_management_system_misuse:
|
89 |
+
article: 'Art. 9(2)(b)'
|
90 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used under conditions of reasonably foreseeable misuse'
|
91 |
+
value: !!bool false
|
92 |
+
risk_management_system_testing_performance:
|
93 |
+
article: 'Art. 9(6)'
|
94 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model performs consistently for intended purpose'
|
95 |
+
value: !!bool false
|
96 |
+
risk_management_system_testing_compliance:
|
97 |
+
article: 'Art. 9(6)'
|
98 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model complies with Act'
|
99 |
+
value: !!bool false
|
100 |
+
risk_management_system_testing_benchmark:
|
101 |
+
article: 'Art. 9(8)'
|
102 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against prior defined metrics appropriate to intended purpose'
|
103 |
+
value: !!bool false
|
104 |
+
risk_management_system_testing_probabilistic:
|
105 |
+
article: 'Art. 9(8)'
|
106 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against probabilistic thresholds appropriate to intended purpose'
|
107 |
+
value: !!bool false
|
108 |
+
technical_documentation_pre_trained_elements:
|
109 |
+
article: 'Art. 11; Annex IV(2)(a)'
|
110 |
+
verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
|
111 |
+
value: !!bool false
|
112 |
+
technical_documentation_logic:
|
113 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
114 |
+
verbose: 'Model has technical documentation that describes general logic of model'
|
115 |
+
value: !!bool false
|
116 |
+
technical_documentation_design_choices:
|
117 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
118 |
+
verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
|
119 |
+
value: !!bool false
|
120 |
+
technical_documentation_classification_choices:
|
121 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
122 |
+
verbose: 'Model has technical documentation that describes main classification choices'
|
123 |
+
value: !!bool false
|
124 |
+
technical_documentation_parameters:
|
125 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
126 |
+
verbose: 'Model has technical documentation that describes what model is designed to optimise for and relevance of its different parameters'
|
127 |
+
value: !!bool false
|
128 |
+
technical_documentation_expected_output:
|
129 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
130 |
+
verbose: 'Model has technical documentation that the expected output and output quality of the system'
|
131 |
+
value: !!bool false
|
132 |
+
technical_documentation_act_compliance:
|
133 |
+
article: 'Art. 11; Annex IV(2)'
|
134 |
+
verbose: 'Model has technical documentation that describes decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Title III, Chapter 2'
|
135 |
+
value: !!bool false
|
136 |
+
technical_documentation_human_oversight:
|
137 |
+
article: 'Art. 11; Annex IV(2)(e)'
|
138 |
+
verbose: 'Model has technical documentation that describes an assessment of the human oversight measures needed in accordance with Article 14, including an assessment of the technical measures needed to facilitate the interpretation of the outputs of AI systems by the deployers, in accordance with Articles 13(3)(d)'
|
139 |
+
value: !!bool false
|
140 |
+
technical_documentation_validation:
|
141 |
+
article: 'Art. 11; Annex IV(2)(g)'
|
142 |
+
verbose: 'Model has technical documentation that describes validation and testing procedures used, including information about the validation and testing data used and their main characteristics; metrics used to measure accuracy, robustness and compliance with other relevant requirements set out in Title III, Chapter 2 as well as potentially discriminatory impacts; test logs and all test reports dated and signed by the responsible persons, including with regard to predetermined changes as referred to under point (f)'
|
143 |
+
value: !!bool false
|
144 |
+
technical_documentation_cybersecurity:
|
145 |
+
article: 'Art. 11; Annex IV(2)(h)'
|
146 |
+
verbose: 'Model has technical documentation that describes cybersecurity measures put in place'
|
147 |
+
value: !!bool false
|
148 |
+
transparency_to_deployers_intended_purpose:
|
149 |
+
article: 'Art. 13(3)(b)(i)'
|
150 |
+
verbose: 'Model is accompanied by instructions for use that include the characteristics, capabilities, performance limitations, and intended purpose of the model'
|
151 |
+
value: !!bool false
|
152 |
+
transparency_to_deployers_metrics:
|
153 |
+
article: 'Art. 13(3)(b)(ii)'
|
154 |
+
verbose: 'Model is accompanied by instructions for use that include the level of accuracy, including its metrics, robustness and cybersecurity against which the model has been tested and validated and which can be expected, and any known and foreseeable circumstances that may have an impact on that expected level of accuracy, robustness and cybersecurity'
|
155 |
+
value: !!bool false
|
156 |
+
transparency_to_deployers_foreseeable_misuse:
|
157 |
+
article: 'Art. 13(3)(b)(iii)'
|
158 |
+
verbose: 'Model is accompanied by instructions for use that include any known or foreseeable circumstance, related to the use of the model in accordance with its intended purpose or under conditions of reasonably foreseeable misuse, which may lead to risks to the health and safety or fundamental rights referred to in Article 9(2)'
|
159 |
+
value: !!bool false
|
160 |
+
transparency_to_deployers_explainability:
|
161 |
+
article: 'Art. 13(3)(b)(iv)'
|
162 |
+
verbose: 'Model is accompanied by instructions for use that include technical capabilities and characteristics of the model to provide information that is relevant to explain its output'
|
163 |
+
value: !!bool false
|
164 |
+
transparency_to_deployers_specific_groups:
|
165 |
+
article: 'Art. 13(3)(b)(v)'
|
166 |
+
verbose: 'Model is accompanied by instructions for use that include performance regarding specific persons or groups of persons on which the model is intended to be used'
|
167 |
+
value: !!bool false
|
168 |
+
transparency_to_deployers_data:
|
169 |
+
article: 'Art. 13(3)(b)(vi)'
|
170 |
+
verbose: 'Model is accompanied by instructions for use that include specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the model'
|
171 |
+
value: !!bool false
|
172 |
+
transparency_to_deployers_interpretability:
|
173 |
+
article: 'Art. 13(3)(b)(vii)'
|
174 |
+
verbose: 'Model is accompanied by instructions for use that include information to enable deployers to interpret the output of the model and use it appropriately'
|
175 |
+
value: !!bool false
|
176 |
+
transparency_to_deployers_human_oversight:
|
177 |
+
article: 'Art. 13(3)(d)'
|
178 |
+
verbose: 'Model is accompanied by instructions for use that include human oversight measures, including the technical measures put in place to facilitate the interpretation of the outputs of model by the deployers'
|
179 |
+
value: !!bool false
|
180 |
+
transparency_to_deployers_hardware:
|
181 |
+
article: 'Art. 13(3)(e)'
|
182 |
+
verbose: 'Model is accompanied by instructions for use that include computational and hardware resources needed, the expected lifetime of the model and any necessary maintenance and care measures, including their frequency, to ensure the proper functioning of that model, including as regards software updates'
|
183 |
+
value: !!bool false
|
184 |
+
accuracy_robustness_cybersecurity_accuracy: # These need to be cleaned up and to match/compliment project cc
|
185 |
+
article: 'Art. 15(1)'
|
186 |
+
verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
|
187 |
+
value: !!bool false
|
188 |
+
accuracy_robustness_cybersecurity_robustiness:
|
189 |
+
article: 'Art. 15(1)'
|
190 |
+
verbose: 'Model is designed and developed to achieve appropriate level of robustness'
|
191 |
+
value: !!bool false
|
192 |
+
accuracy_robustness_cybersecurity_cybersecurity:
|
193 |
+
article: 'Art. 15(1)'
|
194 |
+
verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
|
195 |
+
value: !!bool false
|
196 |
+
accuracy_robustness_cybersecurity_accuracy_metrics:
|
197 |
+
article: 'Art. 15(2)'
|
198 |
+
verbose: 'Use of relevant accuracy metrics'
|
199 |
+
value: !!bool false
|
200 |
+
accuracy_robustness_cybersecurity_fault_resilience:
|
201 |
+
article: 'Art. 15(4)'
|
202 |
+
verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
|
203 |
+
value: !!bool false
|
204 |
+
accuracy_robustness_cybersecurity_attacks:
|
205 |
+
article: 'Art. 15(5)'
|
206 |
+
verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
|
207 |
+
value: !!bool false
|
208 |
+
quality_management_system:
|
209 |
+
article: 'Art. 17(1)(d)'
|
210 |
+
verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
|
211 |
+
value: !!bool false
|
212 |
+
|
213 |
+
# Metadata related to model-related requirements for GPAI models
|
214 |
+
|
215 |
+
gpai_model_requirements:
|
216 |
+
task:
|
217 |
+
article: 'Art. 53; Annex XI(1)(1)(a)'
|
218 |
+
verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
|
219 |
+
value: !!bool false
|
220 |
+
acceptable_use:
|
221 |
+
article: 'Art. 53; Annex XI(1)(1)(b)'
|
222 |
+
verbose: 'Acceptable use policies applicable'
|
223 |
+
value: !!bool false
|
224 |
+
release_date:
|
225 |
+
article: 'Art. 53; Annex XI(1)(1)(c)'
|
226 |
+
verbose: 'The date of release and methods of distribution'
|
227 |
+
value: !!bool false
|
228 |
+
architecture:
|
229 |
+
article: 'Art. 53; Annex XI(1)(1)(d)'
|
230 |
+
verbose: 'The architecture and number of parameters'
|
231 |
+
value: !!bool false
|
232 |
+
input_output_modality:
|
233 |
+
article: 'Art. 53; Annex XI(1)(1)(e)'
|
234 |
+
verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
|
235 |
+
value: !!bool false
|
236 |
+
license:
|
237 |
+
article: 'Art. 53; Annex XI(1)(1)(f)'
|
238 |
+
verbose: 'The license'
|
239 |
+
value: !!bool false
|
240 |
+
training:
|
241 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
242 |
+
verbose: 'Training methodologies and techniques'
|
243 |
+
value: !!bool false
|
244 |
+
design_choices:
|
245 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
246 |
+
verbose: 'Key design choices including the rationale and assumptions made'
|
247 |
+
value: !!bool false
|
248 |
+
optimized_for:
|
249 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
250 |
+
verbose: 'What the model is designed to optimise for'
|
251 |
+
value: !!bool false
|
252 |
+
parameters:
|
253 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
254 |
+
verbose: 'The relevance of the different parameters, as applicable'
|
255 |
+
value: !!bool false
|
256 |
+
data_type:
|
257 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
258 |
+
verbose: 'Information on the data used for training, testing and validation: type of data'
|
259 |
+
value: !!bool false
|
260 |
+
data_provenance:
|
261 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
262 |
+
verbose: 'Information on the data used for training, testing and validation: provenance of data'
|
263 |
+
value: !!bool false
|
264 |
+
data_curation:
|
265 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
266 |
+
verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
|
267 |
+
value: !!bool false
|
268 |
+
data_number:
|
269 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
270 |
+
verbose: 'Information on the data used for training: the number of data points'
|
271 |
+
value: !!bool false
|
272 |
+
data_characteristics:
|
273 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
274 |
+
verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
|
275 |
+
value: !!bool false
|
276 |
+
data_origin:
|
277 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
278 |
+
verbose: 'Information on the data used for training: how the data was obtained and selected'
|
279 |
+
value: !!bool false
|
280 |
+
data_bias:
|
281 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
282 |
+
verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
|
283 |
+
value: !!bool false
|
284 |
+
computation:
|
285 |
+
article: 'Art. 53; Annex XI(1)(2)(d)'
|
286 |
+
verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
|
287 |
+
value: !!bool false
|
288 |
+
energy_consumption:
|
289 |
+
article: 'Art. 53; Annex XI(1)(2)(e)'
|
290 |
+
verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
|
291 |
+
value: !!bool false
|
292 |
+
evaluation:
|
293 |
+
article: 'Art. 53; Annex XI(2)(1)'
|
294 |
+
verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
|
295 |
+
value: !!bool false
|
296 |
+
adversarial_testing:
|
297 |
+
article: 'Art. 53; Annex XI(2)(2)'
|
298 |
+
verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
|
299 |
+
value: !!bool false
|
300 |
+
|
301 |
+
gpai_model_with_systemic_risk_requirements:
|
302 |
+
evaluation:
|
303 |
+
article: 'Art. 55(1)(a)'
|
304 |
+
verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
|
305 |
+
value: !!bool false
|
306 |
+
systematic_risk:
|
307 |
+
article: 'Art. 55(1)(b)'
|
308 |
+
verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
|
309 |
+
value: !!bool false
|
310 |
+
cybersecurity:
|
311 |
+
article: 'Art. 55(1)(d)'
|
312 |
+
verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
|
313 |
+
value: !!bool false
|
model_cc.yaml
CHANGED
@@ -1,203 +1,313 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
value: !!bool false
|
5 |
-
|
6 |
-
|
|
|
7 |
value: !!bool false
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
value: !!bool false
|
11 |
-
|
12 |
-
|
|
|
13 |
value: !!bool false
|
14 |
-
|
15 |
-
|
|
|
16 |
value: !!bool false
|
17 |
-
|
18 |
-
|
|
|
19 |
value: !!bool false
|
20 |
-
|
21 |
-
|
|
|
22 |
value: !!bool false
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
|
27 |
value: !!bool false
|
28 |
-
|
|
|
29 |
verbose: 'Model has technical documentation that describes general logic of model'
|
30 |
value: !!bool false
|
31 |
-
|
|
|
32 |
verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
|
33 |
value: !!bool false
|
34 |
-
|
|
|
35 |
verbose: 'Model has technical documentation that describes main classification choices'
|
36 |
value: !!bool false
|
37 |
-
|
38 |
-
|
|
|
39 |
value: !!bool false
|
40 |
-
|
41 |
-
|
|
|
42 |
value: !!bool false
|
43 |
-
|
44 |
-
|
|
|
45 |
value: !!bool false
|
46 |
-
|
47 |
-
|
|
|
48 |
value: !!bool false
|
49 |
-
|
50 |
-
|
|
|
51 |
value: !!bool false
|
52 |
-
|
53 |
-
|
|
|
54 |
value: !!bool false
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
verbose: 'Intended purpose'
|
59 |
value: !!bool false
|
60 |
-
|
61 |
-
|
|
|
62 |
value: !!bool false
|
63 |
-
|
64 |
-
|
|
|
65 |
value: !!bool false
|
66 |
-
|
67 |
-
|
|
|
68 |
value: !!bool false
|
69 |
-
|
70 |
-
|
|
|
71 |
value: !!bool false
|
72 |
-
|
73 |
-
|
|
|
74 |
value: !!bool false
|
75 |
-
|
76 |
-
|
|
|
77 |
value: !!bool false
|
78 |
-
|
79 |
-
|
|
|
80 |
value: !!bool false
|
81 |
-
|
82 |
-
|
|
|
83 |
value: !!bool false
|
84 |
-
|
85 |
-
|
86 |
-
accuracy: # Art. 15(1)
|
87 |
verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
|
88 |
value: !!bool false
|
89 |
-
|
|
|
90 |
verbose: 'Model is designed and developed to achieve appropriate level of robustness'
|
91 |
value: !!bool false
|
92 |
-
|
|
|
93 |
verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
|
94 |
value: !!bool false
|
95 |
-
|
|
|
96 |
verbose: 'Use of relevant accuracy metrics'
|
97 |
value: !!bool false
|
98 |
-
|
|
|
99 |
verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
|
100 |
value: !!bool false
|
101 |
-
|
|
|
102 |
verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
|
103 |
value: !!bool false
|
104 |
-
|
105 |
-
|
106 |
-
quality_management_system: # Art. 17(1)(d)
|
107 |
verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
|
108 |
value: !!bool false
|
109 |
|
110 |
-
|
111 |
-
generates_media: # Art. 50(2)
|
112 |
-
verbose: 'AI project generates synthetic audio, image, video or text content'
|
113 |
-
value: !!bool false
|
114 |
-
marked_as_generated: # Art. 50(2)
|
115 |
-
verbose: 'outputs are marked in a machine-readable format and detectable as artificially generated or manipulated'
|
116 |
-
value: !!bool false
|
117 |
-
interoperability: # Art. 50(2)
|
118 |
-
verbose: 'Providers shall ensure their technical solutions are effective, interoperable, robust and reliable as far as this is technically feasible, taking into account specificities and limitations of different types of content, costs of implementation and the generally acknowledged state-of-the-art, as may be reflected in relevant technical standards'
|
119 |
-
value: !!bool false
|
120 |
-
|
121 |
-
classification_of_gpai_models:
|
122 |
-
high_impact_capabilities: # Art. 51(1)(a)
|
123 |
-
verbose: 'Whether model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
|
124 |
-
value: !!bool false
|
125 |
-
flops: # Art. 51(2)
|
126 |
-
verbose: 'Cumulative compute used for training measured in floating point operations (FLOPs)'
|
127 |
-
value: !!bool false
|
128 |
|
129 |
-
|
130 |
-
task:
|
|
|
131 |
verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
|
132 |
value: !!bool false
|
133 |
-
acceptable_use:
|
|
|
134 |
verbose: 'Acceptable use policies applicable'
|
135 |
value: !!bool false
|
136 |
-
release_date:
|
|
|
137 |
verbose: 'The date of release and methods of distribution'
|
138 |
value: !!bool false
|
139 |
-
architecture:
|
|
|
140 |
verbose: 'The architecture and number of parameters'
|
141 |
value: !!bool false
|
142 |
-
input_output_modality:
|
|
|
143 |
verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
|
144 |
value: !!bool false
|
145 |
-
license:
|
|
|
146 |
verbose: 'The license'
|
147 |
value: !!bool false
|
148 |
-
training:
|
|
|
149 |
verbose: 'Training methodologies and techniques'
|
150 |
value: !!bool false
|
151 |
-
design_choices:
|
|
|
152 |
verbose: 'Key design choices including the rationale and assumptions made'
|
153 |
value: !!bool false
|
154 |
-
optimized_for:
|
|
|
155 |
verbose: 'What the model is designed to optimise for'
|
156 |
value: !!bool false
|
157 |
-
parameters:
|
|
|
158 |
verbose: 'The relevance of the different parameters, as applicable'
|
159 |
value: !!bool false
|
160 |
-
data_type:
|
|
|
161 |
verbose: 'Information on the data used for training, testing and validation: type of data'
|
162 |
value: !!bool false
|
163 |
-
data_provenance:
|
|
|
164 |
verbose: 'Information on the data used for training, testing and validation: provenance of data'
|
165 |
value: !!bool false
|
166 |
-
data_curation:
|
|
|
167 |
verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
|
168 |
value: !!bool false
|
169 |
-
data_number:
|
|
|
170 |
verbose: 'Information on the data used for training: the number of data points'
|
171 |
value: !!bool false
|
172 |
-
data_characteristics:
|
|
|
173 |
verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
|
174 |
value: !!bool false
|
175 |
-
data_origin:
|
|
|
176 |
verbose: 'Information on the data used for training: how the data was obtained and selected'
|
177 |
value: !!bool false
|
178 |
-
data_bias:
|
|
|
179 |
verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
|
180 |
value: !!bool false
|
181 |
-
computation:
|
|
|
182 |
verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
|
183 |
value: !!bool false
|
184 |
-
energy_consumption:
|
|
|
185 |
verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
|
186 |
value: !!bool false
|
187 |
-
evaluation:
|
|
|
188 |
verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
|
189 |
value: !!bool false
|
190 |
-
adversarial_testing:
|
|
|
191 |
verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
|
192 |
value: !!bool false
|
193 |
|
194 |
-
|
195 |
-
evaluation:
|
|
|
196 |
verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
|
197 |
value: !!bool false
|
198 |
-
systematic_risk:
|
|
|
199 |
verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
|
200 |
value: !!bool false
|
201 |
-
cybersecurity:
|
|
|
202 |
verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
|
203 |
value: !!bool false
|
|
|
1 |
+
card_details:
|
2 |
+
card_type: "model" # "project", "data" or "model"
|
3 |
+
card_label: "model_01"
|
4 |
+
|
5 |
+
# Metadata related to intended purpose(s) of model
|
6 |
+
|
7 |
+
intended_purpose:
|
8 |
+
safety_component:
|
9 |
+
article: 'Art. 6(1)(a)'
|
10 |
+
verbose: 'This model is appropriate to use for AI projects involving product safety components'
|
11 |
+
value: !!bool false
|
12 |
+
product_regulated_machinery:
|
13 |
+
article: 'Art. 6(1)(b); Annex I'
|
14 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
15 |
+
value: !!bool false
|
16 |
+
product_regulated_toy:
|
17 |
+
article: 'Art. 6(1)(b); Annex I'
|
18 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
19 |
+
value: !!bool false
|
20 |
+
product_regulated_watercraft:
|
21 |
+
article: 'Art. 6(1)(b); Annex I'
|
22 |
+
verbose: 'This model is appropriate to use for AI projects involving products covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
23 |
+
value: !!bool false
|
24 |
+
biometric_categorization:
|
25 |
+
article: 'Art. 6(2); Annex III(1)(b)'
|
26 |
+
verbose: 'This model is appropriate to use for AI projects involving biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
27 |
+
value: !!bool false
|
28 |
+
emotion_recognition:
|
29 |
+
article: 'Art. 6(2); Annex III(1)(c)'
|
30 |
+
verbose: 'This model is appropriate to use for AI projects involving emotion recognition'
|
31 |
+
value: !!bool true
|
32 |
+
critical_infrastructure:
|
33 |
+
article: 'Art. 6(2); Annex III(2)'
|
34 |
+
verbose: 'This model is appropriate to use for AI projects involving safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
35 |
+
value: !!bool true
|
36 |
+
admission:
|
37 |
+
article: 'Art. 6(2); Annex III(3)(a)'
|
38 |
+
verbose: 'This model is appropriate to use for AI projects involving the determination of access or admission or to assigning natural persons to educational and vocational training institutions at all levels'
|
39 |
+
value: !!bool false
|
40 |
+
recruitment:
|
41 |
+
article: 'Art. 6(2); Annex III(4)(a)'
|
42 |
+
verbose: 'This model is appropriate to use for AI projects involving the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
43 |
+
value: !!bool false
|
44 |
+
public_assistance:
|
45 |
+
article: 'Art. 6(2); Annex III(5)(a)'
|
46 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
47 |
+
value: !!bool false
|
48 |
+
victim_assessment:
|
49 |
+
article: 'Art. 6(2); Annex III(6)(a)'
|
50 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
51 |
+
value: !!bool false
|
52 |
+
polygraph:
|
53 |
+
article: 'Art. 6(2); Annex III(7)(a)'
|
54 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
55 |
+
value: !!bool false
|
56 |
+
judicial:
|
57 |
+
article: 'Art. 6(2); Annex III(8)(a)'
|
58 |
+
verbose: 'This model is appropriate to use for AI projects intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
59 |
+
value: !!bool false
|
60 |
+
|
61 |
+
# Metadata that will help us determine if the model itself is a GPAI and, therefore, must satisfy the requirements of GPAI models
|
62 |
+
|
63 |
+
classification_of_gpai_models:
|
64 |
+
high_impact_capabilities:
|
65 |
+
article: 'Art. 51(1)(a)'
|
66 |
+
verbose: 'The model has high impact capabilities evaluated on the basis of appropriate technical tools and methodologies, including indicators and benchmarks'
|
67 |
value: !!bool false
|
68 |
+
flops:
|
69 |
+
article: 'Art. 51(2)'
|
70 |
+
verbose: 'The cumulative compute used for training the model, as measured in floating point operations (FLOPs), was greater than 10^25.'
|
71 |
value: !!bool false
|
72 |
+
|
73 |
+
# Metadata related to model-related requirements for high-risk AI systems
|
74 |
+
|
75 |
+
high_risk_ai_system_requirements:
|
76 |
+
risk_management_system_general:
|
77 |
+
article: 'Art. 9(2)'
|
78 |
+
verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the model lifecycle'
|
79 |
+
value: !!bool false
|
80 |
+
risk_management_system_foreseeable_risks:
|
81 |
+
article: 'Art. 9(2)(a)'
|
82 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the identification and analysis of any known or reasonably foreseeable risks the model can pose to health or safety when used for intended purpose'
|
83 |
value: !!bool false
|
84 |
+
risk_management_system_evaluation:
|
85 |
+
article: 'Art. 9(2)(b)'
|
86 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used for intended purpose'
|
87 |
value: !!bool false
|
88 |
+
risk_management_system_misuse:
|
89 |
+
article: 'Art. 9(2)(b)'
|
90 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included the estimation and evaluation of risks when model used under conditions of reasonably foreseeable misuse'
|
91 |
value: !!bool false
|
92 |
+
risk_management_system_testing_performance:
|
93 |
+
article: 'Art. 9(6)'
|
94 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model performs consistently for intended purpose'
|
95 |
value: !!bool false
|
96 |
+
risk_management_system_testing_compliance:
|
97 |
+
article: 'Art. 9(6)'
|
98 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing to ensure model complies with Act'
|
99 |
value: !!bool false
|
100 |
+
risk_management_system_testing_benchmark:
|
101 |
+
article: 'Art. 9(8)'
|
102 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against prior defined metrics appropriate to intended purpose'
|
103 |
+
value: !!bool false
|
104 |
+
risk_management_system_testing_probabilistic:
|
105 |
+
article: 'Art. 9(8)'
|
106 |
+
verbose: 'The risk management system that was established, implemented, documented and maintained througout the model lifecycle included testing against probabilistic thresholds appropriate to intended purpose'
|
107 |
+
value: !!bool false
|
108 |
+
technical_documentation_pre_trained_elements:
|
109 |
+
article: 'Art. 11; Annex IV(2)(a)'
|
110 |
verbose: 'Model has technical documentation that describes pre-trained elements of model provided by third parties and how used, integrated or modified'
|
111 |
value: !!bool false
|
112 |
+
technical_documentation_logic:
|
113 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
114 |
verbose: 'Model has technical documentation that describes general logic of model'
|
115 |
value: !!bool false
|
116 |
+
technical_documentation_design_choices:
|
117 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
118 |
verbose: 'Model has technical documentation that describes key design choices including rationale and assumptions made, including with regard to persons or groups on which model intended to be used'
|
119 |
value: !!bool false
|
120 |
+
technical_documentation_classification_choices:
|
121 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
122 |
verbose: 'Model has technical documentation that describes main classification choices'
|
123 |
value: !!bool false
|
124 |
+
technical_documentation_parameters:
|
125 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
126 |
+
verbose: 'Model has technical documentation that describes what model is designed to optimise for and relevance of its different parameters'
|
127 |
value: !!bool false
|
128 |
+
technical_documentation_expected_output:
|
129 |
+
article: 'Art. 11; Annex IV(2)(b)'
|
130 |
+
verbose: 'Model has technical documentation that the expected output and output quality of the system'
|
131 |
value: !!bool false
|
132 |
+
technical_documentation_act_compliance:
|
133 |
+
article: 'Art. 11; Annex IV(2)'
|
134 |
+
verbose: 'Model has technical documentation that describes decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Title III, Chapter 2'
|
135 |
value: !!bool false
|
136 |
+
technical_documentation_human_oversight:
|
137 |
+
article: 'Art. 11; Annex IV(2)(e)'
|
138 |
+
verbose: 'Model has technical documentation that describes an assessment of the human oversight measures needed in accordance with Article 14, including an assessment of the technical measures needed to facilitate the interpretation of the outputs of AI systems by the deployers, in accordance with Articles 13(3)(d)'
|
139 |
value: !!bool false
|
140 |
+
technical_documentation_validation:
|
141 |
+
article: 'Art. 11; Annex IV(2)(g)'
|
142 |
+
verbose: 'Model has technical documentation that describes validation and testing procedures used, including information about the validation and testing data used and their main characteristics; metrics used to measure accuracy, robustness and compliance with other relevant requirements set out in Title III, Chapter 2 as well as potentially discriminatory impacts; test logs and all test reports dated and signed by the responsible persons, including with regard to predetermined changes as referred to under point (f)'
|
143 |
value: !!bool false
|
144 |
+
technical_documentation_cybersecurity:
|
145 |
+
article: 'Art. 11; Annex IV(2)(h)'
|
146 |
+
verbose: 'Model has technical documentation that describes cybersecurity measures put in place'
|
147 |
value: !!bool false
|
148 |
+
transparency_to_deployers_intended_purpose:
|
149 |
+
article: 'Art. 13(3)(b)(i)'
|
150 |
+
verbose: 'Model is accompanied by instructions for use that include the characteristics, capabilities, performance limitations, and intended purpose of the model'
|
|
|
151 |
value: !!bool false
|
152 |
+
transparency_to_deployers_metrics:
|
153 |
+
article: 'Art. 13(3)(b)(ii)'
|
154 |
+
verbose: 'Model is accompanied by instructions for use that include the level of accuracy, including its metrics, robustness and cybersecurity against which the model has been tested and validated and which can be expected, and any known and foreseeable circumstances that may have an impact on that expected level of accuracy, robustness and cybersecurity'
|
155 |
value: !!bool false
|
156 |
+
transparency_to_deployers_foreseeable_misuse:
|
157 |
+
article: 'Art. 13(3)(b)(iii)'
|
158 |
+
verbose: 'Model is accompanied by instructions for use that include any known or foreseeable circumstance, related to the use of the model in accordance with its intended purpose or under conditions of reasonably foreseeable misuse, which may lead to risks to the health and safety or fundamental rights referred to in Article 9(2)'
|
159 |
value: !!bool false
|
160 |
+
transparency_to_deployers_explainability:
|
161 |
+
article: 'Art. 13(3)(b)(iv)'
|
162 |
+
verbose: 'Model is accompanied by instructions for use that include technical capabilities and characteristics of the model to provide information that is relevant to explain its output'
|
163 |
value: !!bool false
|
164 |
+
transparency_to_deployers_specific_groups:
|
165 |
+
article: 'Art. 13(3)(b)(v)'
|
166 |
+
verbose: 'Model is accompanied by instructions for use that include performance regarding specific persons or groups of persons on which the model is intended to be used'
|
167 |
value: !!bool false
|
168 |
+
transparency_to_deployers_data:
|
169 |
+
article: 'Art. 13(3)(b)(vi)'
|
170 |
+
verbose: 'Model is accompanied by instructions for use that include specifications for the input data, or any other relevant information in terms of the training, validation and testing data sets used, taking into account the intended purpose of the model'
|
171 |
value: !!bool false
|
172 |
+
transparency_to_deployers_interpretability:
|
173 |
+
article: 'Art. 13(3)(b)(vii)'
|
174 |
+
verbose: 'Model is accompanied by instructions for use that include information to enable deployers to interpret the output of the model and use it appropriately'
|
175 |
value: !!bool false
|
176 |
+
transparency_to_deployers_human_oversight:
|
177 |
+
article: 'Art. 13(3)(d)'
|
178 |
+
verbose: 'Model is accompanied by instructions for use that include human oversight measures, including the technical measures put in place to facilitate the interpretation of the outputs of model by the deployers'
|
179 |
value: !!bool false
|
180 |
+
transparency_to_deployers_hardware:
|
181 |
+
article: 'Art. 13(3)(e)'
|
182 |
+
verbose: 'Model is accompanied by instructions for use that include computational and hardware resources needed, the expected lifetime of the model and any necessary maintenance and care measures, including their frequency, to ensure the proper functioning of that model, including as regards software updates'
|
183 |
value: !!bool false
|
184 |
+
accuracy_robustness_cybersecurity_accuracy: # These need to be cleaned up and to match/compliment project cc
|
185 |
+
article: 'Art. 15(1)'
|
|
|
186 |
verbose: 'Model is designed and developed to achieve appropriate level of accuracy'
|
187 |
value: !!bool false
|
188 |
+
accuracy_robustness_cybersecurity_robustiness:
|
189 |
+
article: 'Art. 15(1)'
|
190 |
verbose: 'Model is designed and developed to achieve appropriate level of robustness'
|
191 |
value: !!bool false
|
192 |
+
accuracy_robustness_cybersecurity_cybersecurity:
|
193 |
+
article: 'Art. 15(1)'
|
194 |
verbose: 'Model is designed and developed to achieve appropriate level of cybersecurity'
|
195 |
value: !!bool false
|
196 |
+
accuracy_robustness_cybersecurity_accuracy_metrics:
|
197 |
+
article: 'Art. 15(2)'
|
198 |
verbose: 'Use of relevant accuracy metrics'
|
199 |
value: !!bool false
|
200 |
+
accuracy_robustness_cybersecurity_fault_resilience:
|
201 |
+
article: 'Art. 15(4)'
|
202 |
verbose: 'Maximum possible resilience regarding errors, faults or inconsistencies that may occur within the system or the environment in which the system operates, in particular due to their interaction with natural persons or other systems. Technical and organisational measures shall be taken towards this regard'
|
203 |
value: !!bool false
|
204 |
+
accuracy_robustness_cybersecurity_attacks:
|
205 |
+
article: 'Art. 15(5)'
|
206 |
verbose: 'Measures were taken to prevent, detect, respond to, resolve and control for model poisoning attacks, adversarial examples or model evasion attacks (attacks using inputs designed to cause the model to make a mistake), and confidentiality attacks or model flaws'
|
207 |
value: !!bool false
|
208 |
+
quality_management_system:
|
209 |
+
article: 'Art. 17(1)(d)'
|
|
|
210 |
verbose: 'Examination, test and validation procedures to be carried out before, during and after the development of the high-risk AI system, and the frequency with which they have to be carried out'
|
211 |
value: !!bool false
|
212 |
|
213 |
+
# Metadata related to model-related requirements for GPAI models
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
|
215 |
+
gpai_model_requirements:
|
216 |
+
task:
|
217 |
+
article: 'Art. 53; Annex XI(1)(1)(a)'
|
218 |
verbose: 'The tasks that the model is intended to perform and the type and nature of AI systems in which it can be integrated'
|
219 |
value: !!bool false
|
220 |
+
acceptable_use:
|
221 |
+
article: 'Art. 53; Annex XI(1)(1)(b)'
|
222 |
verbose: 'Acceptable use policies applicable'
|
223 |
value: !!bool false
|
224 |
+
release_date:
|
225 |
+
article: 'Art. 53; Annex XI(1)(1)(c)'
|
226 |
verbose: 'The date of release and methods of distribution'
|
227 |
value: !!bool false
|
228 |
+
architecture:
|
229 |
+
article: 'Art. 53; Annex XI(1)(1)(d)'
|
230 |
verbose: 'The architecture and number of parameters'
|
231 |
value: !!bool false
|
232 |
+
input_output_modality:
|
233 |
+
article: 'Art. 53; Annex XI(1)(1)(e)'
|
234 |
verbos: 'Modality (e.g. text, image) and format of inputs and outputs'
|
235 |
value: !!bool false
|
236 |
+
license:
|
237 |
+
article: 'Art. 53; Annex XI(1)(1)(f)'
|
238 |
verbose: 'The license'
|
239 |
value: !!bool false
|
240 |
+
training:
|
241 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
242 |
verbose: 'Training methodologies and techniques'
|
243 |
value: !!bool false
|
244 |
+
design_choices:
|
245 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
246 |
verbose: 'Key design choices including the rationale and assumptions made'
|
247 |
value: !!bool false
|
248 |
+
optimized_for:
|
249 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
250 |
verbose: 'What the model is designed to optimise for'
|
251 |
value: !!bool false
|
252 |
+
parameters:
|
253 |
+
article: 'Art. 53; Annex XI(1)(2)(b)'
|
254 |
verbose: 'The relevance of the different parameters, as applicable'
|
255 |
value: !!bool false
|
256 |
+
data_type:
|
257 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
258 |
verbose: 'Information on the data used for training, testing and validation: type of data'
|
259 |
value: !!bool false
|
260 |
+
data_provenance:
|
261 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
262 |
verbose: 'Information on the data used for training, testing and validation: provenance of data'
|
263 |
value: !!bool false
|
264 |
+
data_curation:
|
265 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
266 |
verbose: 'Information on the data used for training: curation methodologies (e.g. cleaning, filtering etc)'
|
267 |
value: !!bool false
|
268 |
+
data_number:
|
269 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
270 |
verbose: 'Information on the data used for training: the number of data points'
|
271 |
value: !!bool false
|
272 |
+
data_characteristics:
|
273 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
274 |
verbose: 'Information on the data used for training: data points scope and main characteristics applicable'
|
275 |
value: !!bool false
|
276 |
+
data_origin:
|
277 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
278 |
verbose: 'Information on the data used for training: how the data was obtained and selected'
|
279 |
value: !!bool false
|
280 |
+
data_bias:
|
281 |
+
article: 'Art. 53; Annex XI(1)(2)(c)'
|
282 |
verbose: 'Information on the data used for training: all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
|
283 |
value: !!bool false
|
284 |
+
computation:
|
285 |
+
article: 'Art. 53; Annex XI(1)(2)(d)'
|
286 |
verbose: 'The computational resources used to train the model (e.g. number of floating point operations – FLOPs), training time, and other relevant details related to the training'
|
287 |
value: !!bool false
|
288 |
+
energy_consumption:
|
289 |
+
article: 'Art. 53; Annex XI(1)(2)(e)'
|
290 |
verbose: 'Known or estimated energy consumption of the model; in case not known, this could be based on information about computational resources used'
|
291 |
value: !!bool false
|
292 |
+
evaluation:
|
293 |
+
article: 'Art. 53; Annex XI(2)(1)'
|
294 |
verbose: 'Detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations'
|
295 |
value: !!bool false
|
296 |
+
adversarial_testing:
|
297 |
+
article: 'Art. 53; Annex XI(2)(2)'
|
298 |
verbose: 'Where applicable, detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning'
|
299 |
value: !!bool false
|
300 |
|
301 |
+
gpai_model_with_systemic_risk_requirements:
|
302 |
+
evaluation:
|
303 |
+
article: 'Art. 55(1)(a)'
|
304 |
verbose: 'Perform model evaluation in accordance with standardised protocols and tools reflecting the state of the art, including conducting and documenting adversarial testing of the model with a view to identify and mitigate systemic risk'
|
305 |
value: !!bool false
|
306 |
+
systematic_risk:
|
307 |
+
article: 'Art. 55(1)(b)'
|
308 |
verbose: 'Assess and mitigate possible systemic risks at Union level, including their sources, that may stem from the development'
|
309 |
value: !!bool false
|
310 |
+
cybersecurity:
|
311 |
+
article: 'Art. 55(1)(d)'
|
312 |
verbose: 'Ensure an adequate level of cybersecurity protection for the GPAI model with systemic risk and the physical infrastructure of the mode'
|
313 |
value: !!bool false
|
project_cc.yaml
CHANGED
@@ -1,478 +1,792 @@
|
|
1 |
|
2 |
-
# Information related to high-level characteristics of AI project, including
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
12 |
verbose: 'AI project operator has its place of establishment or location within the Union'
|
13 |
value: !!bool True
|
14 |
-
output_used:
|
15 |
-
|
|
|
16 |
value: !!bool false
|
17 |
-
importer: # Art. 2
|
18 |
-
verbose: 'AI project operator is a natural or legal person located or established in the Union that places on the market an AI system that bears the name or trademark of a natural or legal person established in a third country'
|
19 |
-
value: !!bool false
|
20 |
-
distributor:
|
21 |
-
verbose: 'AI project operator is a natural or legal person in the supply chain, other than a provider or the importer, that makes an AI system available on the Union market'
|
22 |
-
value: !!bool false # Art. 2
|
23 |
-
product_manufacturer:
|
24 |
-
verbose: 'AI project operator is a product manufacturer'
|
25 |
-
value: !!bool false # Art. 2
|
26 |
-
|
27 |
-
# ypi: just to not that providers, deployers and product manufacturer that are outside of EU are still in scope if the output of AI is used within EU.
|
28 |
-
# importer and distributor are only in scope if they locate within EU.
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
|
33 |
eu_market_status:
|
34 |
-
placed_on_market:
|
|
|
35 |
verbose: 'AI project is being made available on the EU market (i.e., supplied for distribution or use in the course of a commercial activity, whether in return for payment or free of charge) for the first time'
|
36 |
value: !!bool false
|
37 |
-
put_into_service:
|
|
|
38 |
verbose: 'AI project is being used for its intended purpose for the first time in the EU, either by the operator or by a deployer to whom it is directly supplied'
|
39 |
value: !!bool false
|
40 |
|
41 |
ai_system:
|
42 |
-
ai_system:
|
|
|
43 |
verbose: 'AI project is a machine-based system that is designed to operate with varying levels of autonomy and that may exhibit adaptiveness after deployment, and that, for explicit or implicit objectives, infers, from the input it receives, how to generate outputs such as predictions, content, recommendations, or decisions that can influence physical or virtual environments'
|
44 |
-
value: !!bool
|
45 |
|
46 |
gpai_model:
|
47 |
-
gpai_model:
|
|
|
48 |
verbose: 'AI project is an AI model, including where such an AI model is trained with a large amount of data using self-supervision at scale, that displays significant generality and is capable of competently performing a wide range of distinct tasks regardless of the way the model is placed on the market and that can be integrated into a variety of downstream systems or applications, except AI models that are used for research, development or prototyping activities before they are placed on the market'
|
49 |
value: !!bool false
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
54 |
value: !!bool false
|
55 |
-
|
56 |
-
|
|
|
57 |
value: !!bool false
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
value: !!bool false
|
61 |
|
62 |
-
#
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
# Information related to the Act's exceptions for scientific research, open-source AI, and more
|
67 |
|
68 |
excepted:
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
70 |
verbose: 'AI project is or was specifically developed and put into service for the sole purpose of scientific research and development'
|
71 |
value: !!bool false
|
72 |
-
pre_market:
|
|
|
73 |
verbose: 'AI project strictly consists of research, testing or development activity of the sort that takes place prior to their being placed on the market or put into service'
|
74 |
value: !!bool false
|
75 |
-
open_source_ai_system:
|
|
|
76 |
verbose: 'AI project is released under free and open-source licences'
|
77 |
value: !!bool false
|
78 |
-
open_source_gpai_model:
|
|
|
79 |
verbose: 'AI project involves AI models that are released under a free and open-source licence that allows for the access, usage, modification, and distribution of the model, and whose parameters, including the weights, the information on the model architecture, and the information on model usage, are made publicly available. This exception shall not apply to general purpose AI models with systemic risks'
|
80 |
value: !!bool false
|
81 |
-
|
82 |
-
#
|
83 |
-
#
|
|
|
|
|
84 |
|
85 |
# Information related to practices prohibited by the Act
|
86 |
|
87 |
prohibited_practice:
|
88 |
ai_system:
|
89 |
-
manipulative:
|
|
|
90 |
verbose: 'The AI project deploys subliminal or purposefully manipulative or deceptive techniques, with the objective or effect of materially distorting the behavior of people by appreciably impairing their ability to make an informed decision, thereby causing them to take a decision that they would not have otherwise taken in a manner that causes or is reasonably likely to cause significant harm'
|
91 |
value: !!bool false
|
92 |
-
exploit_vulnerable:
|
|
|
93 |
verbose: 'The AI project exploits the vulnerabilities of natural people due to their age, disability or a specific social or economic situation, with the objective or effect of materially distorting their behaviour in a manner that causes or is reasonably likely to cause significant harm'
|
94 |
value: !!bool false
|
95 |
-
social_score:
|
|
|
96 |
verbose: 'The AI project is for the evaluation or classification of natural people over a certain period of time based on their social behaviour or known, inferred or predicted personal or personality characteristics, with the social score leading to at least one of the following: (i) detrimental or unfavourable treatment of certain natural people in social contexts that are unrelated to the contexts in which the data was originally generated or collected; (ii) detrimental or unfavourable treatment of certain natural people that is unjustified or disproportionate to their social behaviour or its gravity'
|
97 |
value: !!bool false
|
98 |
-
crime_prediction:
|
|
|
99 |
verbose: 'This AI project makes risk assessments of natural persons in order to assess or predict the risk of them committing a criminal offence, based solely on the profiling of the natural person or on assessing their personality traits and characteristics (and does not support the human assessment of the involvement of a person in a criminal activity, which is already based on objective and verifiable facts directly linked to a criminal activity)'
|
100 |
value: !!bool false
|
101 |
-
untarged_face:
|
|
|
102 |
verbose: 'This AI project creates or expand facial recognition databases through the untargeted scraping of facial images from the internet or CCTV footage'
|
103 |
value: !!bool false
|
104 |
-
emotion_prediction:
|
|
|
105 |
verbose: 'The AI project infers emotions of a natural person in the areas of workplace and education institutions and is not intended to be put in place or into the market for medical or safety reasons'
|
106 |
value: !!bool false
|
107 |
biometric:
|
108 |
-
categorization:
|
|
|
109 |
verbose: 'The AI project involves the use of biometric categorisation systems that categorise individually natural persons based on their biometric data to deduce or infer their race, political opinions, trade union membership, religious or philosophical beliefs, sex life or sexual orientation; this prohibition does not cover any labelling or filtering of lawfully acquired biometric datasets, such as images, based on biometric data or categorizing of biometric data in the area of law enforcement'
|
110 |
value: !!bool false
|
111 |
-
real_time:
|
112 |
-
|
|
|
113 |
value: !!bool false
|
114 |
-
real_time_exception_victim:
|
115 |
-
|
|
|
116 |
value: !!bool false
|
117 |
real_time_exception_threat:
|
118 |
-
|
|
|
|
|
119 |
real_time_exception_investigation:
|
120 |
-
|
|
|
121 |
value: !!bool false
|
122 |
|
123 |
-
#
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
# Requirements for those projects which involve high-risk AI systems
|
129 |
-
|
130 |
-
high_risk_ai_system:
|
131 |
-
safety_component: # Art. 6(1)(a)
|
132 |
-
verbose: 'AI project is intended to be used as a safety component of a product'
|
133 |
-
value: !!bool false
|
134 |
-
product_covered_by_machinery_regulation: # Art. 6(1)(b); Annex I
|
135 |
-
verbose: 'AI project is itself a product, covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
136 |
-
value: !!bool false
|
137 |
-
product_covered_by_toy_safety_regulation: # Art. 6(1)(b); Annex I
|
138 |
-
verbose: 'AI project is itself a product, covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
139 |
-
value: !!bool false
|
140 |
-
product_covered_by_watercraft_regulation: # Art. 6(1)(b); Annex I
|
141 |
-
verbose: 'AI project is itself a product, covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
142 |
-
value: !!bool false
|
143 |
-
biometric_categorization: # Art. 6(2); Annex III(1)(b)
|
144 |
-
verbose: 'AI project is intended to be used for biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
145 |
-
value: !!bool false
|
146 |
-
emotion_recognition: # Art. 6(2); Annex III(1)(c)
|
147 |
-
verbose: 'AI project is intended to be used for emotion recognition'
|
148 |
-
value: !!bool false
|
149 |
-
critical_infrastructure: # Art. 6(2); Annex III(2)
|
150 |
-
verbose: 'AI project is intended to be used as safety components in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
151 |
-
value: !!bool false
|
152 |
-
educational: # Art. 6(2); Annex III(3)(a)
|
153 |
-
verbose: 'AI project is intended to be used to determine access or admission or to assign natural persons to educational and vocational training institutions at all levels'
|
154 |
-
value: !!bool false
|
155 |
-
recruitment: # Art. 6(2); Annex III(4)(a)
|
156 |
-
verbose: 'AI project is intended to be used for the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
157 |
-
value: !!bool false
|
158 |
-
public_assistance: # Art. 6(2); Annex III(5)(a)
|
159 |
-
verbose: 'AI project is intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
160 |
-
value: !!bool false
|
161 |
-
victim_assessment: # Art. 6(2); Annex III(6)(a)
|
162 |
-
verbose: 'AI project is intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
163 |
-
value: !!bool false
|
164 |
-
polygraph: # Art. 6(2); Annex III(7)(a)
|
165 |
-
verbose: 'AI project is intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
166 |
-
value: !!bool false
|
167 |
-
judicial: # Art. 6(2); Annex III(8)(a)
|
168 |
-
verbose: 'AI project is intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
169 |
-
value: !!bool false
|
170 |
-
filter_exception_rights: # Art. 6(3)
|
171 |
-
verbose: 'The AI initiate does not pose a significant risk of harm to the health, safety or fundamental rights of natural persons, including by not materially influencing the outcome of decision making'
|
172 |
-
value: !!bool false
|
173 |
-
filter_exception_narrow: # Art. 6(3)(a)
|
174 |
-
verbose: 'The AI project is intended to perform a narrow procedural task'
|
175 |
-
value: !!bool false
|
176 |
-
filter_exception_human: # Art. 6(3)(b)
|
177 |
-
verbose: 'the AI project is intended to improve the result of a previously completed human activity'
|
178 |
-
value: !!bool false
|
179 |
-
filter_exception_deviation: # Art. 6(3)(c)
|
180 |
-
verbose: 'the AI system is intended to detect decision-making patterns or deviations from prior decision-making patterns and is not meant to replace or influence the previously completed human assessment, without proper human review'
|
181 |
-
value: !!bool false
|
182 |
-
filter_exception_prep: # Art. 6(3)(d)
|
183 |
-
verbose: 'the AI system is intended to perform a preparatory task to an assessment relevant for the purposes of the use cases listed in Annex III.'
|
184 |
-
value: !!bool false
|
185 |
|
186 |
risk_management_system:
|
187 |
-
established:
|
188 |
-
|
|
|
189 |
value: !!bool false
|
190 |
-
lifecycle:
|
191 |
-
|
|
|
192 |
value: !!bool false
|
193 |
-
risk_analysis_intended:
|
194 |
-
|
|
|
195 |
value: !!bool false
|
196 |
-
risk_estimation_foreseeable:
|
197 |
-
|
|
|
198 |
value: !!bool false
|
199 |
-
risk_post_market:
|
200 |
-
|
|
|
201 |
value: !!bool false
|
202 |
-
risk_management_measures:
|
203 |
-
|
|
|
204 |
value: !!bool false
|
205 |
-
documentation:
|
206 |
-
|
|
|
207 |
value: !!bool false
|
208 |
-
tested:
|
209 |
-
|
|
|
210 |
value: !!bool false
|
211 |
-
testing_threshold:
|
212 |
-
|
|
|
213 |
value: !!bool false
|
|
|
|
|
|
|
|
|
214 |
|
215 |
-
|
216 |
-
# vulnerable_groups: Art. 9(9)
|
217 |
-
# description: 'Consider potential adverse impacts in the view of intended purpose the high-risk AI system on individuals under 18 and other vulnerable groups.'
|
218 |
-
# value: !!bool true
|
219 |
-
# integration_with_other_laws: Art. 9(10)
|
220 |
-
# description: 'For providers subject to other Union law requirements, risk management procedures may be integrated or combined with those established under such law.'
|
221 |
-
# value: !!bool true
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
|
226 |
technical_documentation:
|
227 |
-
drawn_up:
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
229 |
value: !!bool false
|
230 |
-
intended_purpose:
|
231 |
-
|
|
|
232 |
value: !!bool false
|
233 |
-
interaction:
|
234 |
-
|
|
|
235 |
value: !!bool false
|
236 |
-
versions:
|
237 |
-
|
|
|
238 |
value: !!bool false
|
239 |
-
|
240 |
-
|
|
|
241 |
value: !!bool false
|
242 |
-
hardware:
|
243 |
-
|
|
|
244 |
value: !!bool false
|
245 |
-
|
246 |
-
|
|
|
247 |
value: !!bool false
|
248 |
-
|
249 |
-
|
|
|
250 |
value: !!bool false
|
251 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
verbose: 'Technical Documentation includes a detailed description of the risk management system in accordance with Article 9'
|
253 |
value: !!bool false
|
254 |
-
changes:
|
|
|
255 |
verbose: 'Technical Documentation includes a description of relevant changes made by the provider to the system through its lifecycle'
|
256 |
value: !!bool false
|
257 |
-
declaration_of_conformity:
|
|
|
258 |
verbose: 'Technical Documentation includes a copy of the EU declaration of conformity referred to in Article 47'
|
259 |
value: !!bool false
|
260 |
-
post_market:
|
261 |
-
|
|
|
262 |
value: !!bool false
|
263 |
-
product:
|
264 |
-
|
|
|
265 |
value: !!bool false
|
266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
record_keeping:
|
268 |
-
logging_generally:
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
270 |
value: !!bool false
|
271 |
-
logging_risk:
|
272 |
-
|
|
|
273 |
value: !!bool false
|
274 |
-
logging_post_market:
|
275 |
-
|
|
|
276 |
value: !!bool false
|
277 |
-
monitoring:
|
278 |
-
|
|
|
279 |
value: !!bool false
|
280 |
-
recording_use:
|
281 |
-
|
|
|
282 |
value: !!bool false
|
283 |
-
reference_db:
|
|
|
284 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the reference database against which input data has been checked by the system'
|
285 |
value: !!bool false
|
286 |
-
input:
|
|
|
287 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the input data for which the search has led to a match'
|
288 |
value: !!bool false
|
289 |
-
identification:
|
|
|
290 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the identification of the natural persons involved in the verification of the results, as referred to in Article 14(5)'
|
291 |
value: !!bool false
|
292 |
|
|
|
|
|
293 |
transparency_and_provision_of_information_to_deployers:
|
294 |
-
interpretability:
|
295 |
-
|
|
|
296 |
value: !!bool false
|
297 |
-
compliance:
|
298 |
-
|
|
|
299 |
value: !!bool false
|
300 |
-
instructions:
|
301 |
-
|
|
|
302 |
value: !!bool false
|
303 |
-
contact_details:
|
|
|
304 |
verbose: 'Instructions include provider identity and contact details, and if applicable, authorized representative details'
|
305 |
value: !!bool false
|
306 |
-
characteristics:
|
307 |
-
|
|
|
308 |
value: !!bool false
|
309 |
-
metrics:
|
|
|
310 |
verbose: 'Instructions include accuracy metrics, robustness, cybersecurity, and potential impacts on these'
|
311 |
value: !!bool false
|
312 |
-
foreseeable:
|
|
|
313 |
verbose: 'Instructions include foreseeable circumstances that may risk health, safety, or fundamental rights'
|
314 |
value: !!bool false
|
315 |
-
output:
|
316 |
-
|
317 |
-
|
318 |
-
|
|
|
|
|
319 |
verbose: 'Instructions include performance regarding specific persons or groups, if applicable'
|
320 |
value: !!bool false
|
321 |
-
data:
|
|
|
322 |
verbose: 'Instructions include input data specifications and relevant training, validation, and testing dataset information'
|
323 |
value: !!bool false
|
324 |
-
deployers:
|
325 |
-
|
|
|
326 |
value: !!bool false
|
327 |
-
changes:
|
328 |
-
|
|
|
329 |
value: !!bool false
|
330 |
-
oversight_measures:
|
|
|
331 |
verbose: 'Instructions include human oversight measures and technical measures for output interpretation'
|
332 |
value: !!bool false
|
333 |
-
hardware:
|
|
|
334 |
verbose: 'Instructions include computational and hardware resource needs, expected lifetime, and maintenance measures'
|
335 |
value: !!bool false
|
336 |
-
logging:
|
|
|
337 |
verbose: 'Instructions include description of mechanisms for deployers to collect, store, and interpret logs, if applicable'
|
338 |
value: !!bool false
|
339 |
|
|
|
|
|
340 |
human_oversight:
|
341 |
-
designed:
|
342 |
-
|
|
|
343 |
value: !!bool false
|
344 |
-
minimize_risks:
|
345 |
-
|
|
|
346 |
value: !!bool false
|
347 |
-
commensurate:
|
348 |
-
|
|
|
349 |
value: !!bool false
|
350 |
-
understandable:
|
351 |
-
|
|
|
352 |
value: !!bool false
|
353 |
-
automation_bias:
|
354 |
-
|
|
|
355 |
value: !!bool false
|
356 |
-
interpretabilty:
|
357 |
-
|
|
|
358 |
value: !!bool false
|
359 |
-
override:
|
360 |
-
|
|
|
361 |
value: !!bool false
|
362 |
-
stop_button:
|
363 |
-
|
|
|
364 |
value: !!bool false
|
365 |
-
verification:
|
|
|
366 |
verbose: 'For Annex III point 1(a) systems, actions or decisions require verification by at least two competent persons, with exceptions for law enforcement, migration, border control, or asylum'
|
367 |
value: !!bool false
|
368 |
|
|
|
|
|
369 |
accuracy_robustness_cybersecurity:
|
370 |
-
design:
|
371 |
-
|
|
|
372 |
value: !!bool false
|
373 |
-
metrics_in_instructions:
|
374 |
-
|
|
|
375 |
value: !!bool false
|
376 |
-
error_resiliance:
|
377 |
-
|
|
|
378 |
value: !!bool false
|
379 |
-
bias:
|
380 |
-
|
|
|
381 |
value: !!bool false
|
382 |
-
unauthorized_use:
|
383 |
-
|
|
|
384 |
value: !!bool false
|
385 |
-
cybersecurity_solutions:
|
386 |
-
|
|
|
387 |
value: !!bool false
|
388 |
-
ai_vulnerabilities:
|
389 |
-
|
|
|
390 |
value: !!bool false
|
391 |
|
|
|
|
|
392 |
quality_management_system:
|
393 |
-
quality_management_system:
|
394 |
-
|
|
|
395 |
value: !!bool false
|
396 |
-
design:
|
397 |
-
|
|
|
398 |
value: !!bool false
|
399 |
-
quality_control:
|
400 |
-
|
|
|
401 |
value: !!bool false
|
402 |
-
testing:
|
403 |
-
|
|
|
404 |
value: !!bool false
|
405 |
|
|
|
|
|
406 |
fundamental_rights_assessment:
|
407 |
-
process:
|
408 |
-
|
|
|
409 |
value: !!bool false
|
410 |
-
time_period:
|
411 |
-
|
|
|
412 |
value: !!bool false
|
413 |
-
persons_affected:
|
|
|
414 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the categories of natural persons and groups likely to be affected by its use in the specific context'
|
415 |
value: !!bool false
|
416 |
-
likely_harms:
|
|
|
417 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the specific risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context'
|
418 |
value: !!bool false
|
419 |
-
human_oversight:
|
|
|
420 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the implementation of human oversight measures, according to the instructions for use'
|
421 |
value: !!bool false
|
422 |
-
risk_mitigation:
|
|
|
423 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the measures to be taken in the case of the materialisation of risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context, including the arrangements for internal governance and complaint mechanisms'
|
424 |
value: !!bool false
|
425 |
|
426 |
# Information related to the Act's requirements for all AI systems
|
427 |
|
428 |
transparency_obligations:
|
429 |
-
|
430 |
-
|
|
|
|
|
|
|
|
|
|
|
431 |
value: !!bool false
|
432 |
-
marking_solutions:
|
433 |
-
|
|
|
434 |
value: !!bool false
|
435 |
|
436 |
# Information related to the Act's requirements for GPAI models
|
437 |
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
value: !!bool false
|
445 |
-
|
446 |
-
|
|
|
447 |
value: !!bool false
|
448 |
-
|
449 |
-
|
|
|
450 |
value: !!bool false
|
451 |
-
|
452 |
-
|
|
|
453 |
value: !!bool false
|
454 |
-
|
455 |
-
|
|
|
456 |
value: !!bool false
|
457 |
-
|
458 |
-
|
|
|
459 |
value: !!bool false
|
460 |
-
|
461 |
-
|
|
|
462 |
value: !!bool false
|
463 |
|
464 |
-
# Information related to the
|
465 |
|
466 |
-
|
467 |
-
|
468 |
-
|
|
|
|
|
|
|
469 |
value: !!bool false
|
470 |
-
|
471 |
-
|
|
|
|
|
|
|
|
|
472 |
value: !!bool false
|
473 |
-
|
474 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
475 |
value: !!bool false
|
476 |
-
|
477 |
-
|
478 |
-
|
|
|
1 |
|
2 |
+
# Information related to high-level characteristics of AI project, including the role of the operator, their location, and where the output is used
|
3 |
+
card_details:
|
4 |
+
card_type: "project" # "project", "data" or "model"
|
5 |
+
card_label: "project"
|
6 |
+
|
7 |
+
# TODO potentially add scenarios that get the provider off the hook per Article 25
|
8 |
+
|
9 |
+
operator_details:
|
10 |
+
provider:
|
11 |
+
article: 'Art. 2'
|
12 |
+
verbose: 'The operator of this AI project is a natural or legal person, public authority, agency or other body that develops an AI project or a general-purpose AI model or that has an AI system or a general-purpose AI model developed and places it on the market (in other words, first makes it available on the EU market) or puts the AI system into service (in other words, supplies an AI system for first use directly to a deployer or for own use in the Union, for its intended purpose) under its own name or trademark, whether for payment or free of charge'
|
13 |
+
value: !!bool false
|
14 |
+
eu_located:
|
15 |
+
article: 'Art. 2'
|
16 |
verbose: 'AI project operator has its place of establishment or location within the Union'
|
17 |
value: !!bool True
|
18 |
+
output_used:
|
19 |
+
article: 'Art. 2'
|
20 |
+
verbose: 'The output produced by the AI project is used in the European Union'
|
21 |
value: !!bool false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
eu_market_status:
|
24 |
+
placed_on_market:
|
25 |
+
article: 'Art. 3(9)'
|
26 |
verbose: 'AI project is being made available on the EU market (i.e., supplied for distribution or use in the course of a commercial activity, whether in return for payment or free of charge) for the first time'
|
27 |
value: !!bool false
|
28 |
+
put_into_service:
|
29 |
+
article: 'Art. 3(11)'
|
30 |
verbose: 'AI project is being used for its intended purpose for the first time in the EU, either by the operator or by a deployer to whom it is directly supplied'
|
31 |
value: !!bool false
|
32 |
|
33 |
ai_system:
|
34 |
+
ai_system:
|
35 |
+
article: 'Art. 3(1)'
|
36 |
verbose: 'AI project is a machine-based system that is designed to operate with varying levels of autonomy and that may exhibit adaptiveness after deployment, and that, for explicit or implicit objectives, infers, from the input it receives, how to generate outputs such as predictions, content, recommendations, or decisions that can influence physical or virtual environments'
|
37 |
+
value: !!bool true
|
38 |
|
39 |
gpai_model:
|
40 |
+
gpai_model:
|
41 |
+
article: 'Art. 3(63)'
|
42 |
verbose: 'AI project is an AI model, including where such an AI model is trained with a large amount of data using self-supervision at scale, that displays significant generality and is capable of competently performing a wide range of distinct tasks regardless of the way the model is placed on the market and that can be integrated into a variety of downstream systems or applications, except AI models that are used for research, development or prototyping activities before they are placed on the market'
|
43 |
value: !!bool false
|
44 |
|
45 |
+
# Information related to whether or not the project, if an AI system, is a high-risk AI system
|
46 |
+
|
47 |
+
# TODO Potentially add all of the use cases mentioned in Annex I below (those covered by existing regulations) rather than bundle them up as they are now
|
48 |
+
|
49 |
+
high_risk_ai_system:
|
50 |
+
safety_component:
|
51 |
+
article: 'Art. 6(1)(a)'
|
52 |
+
verbose: 'AI project is intended to be used as a safety component of a product'
|
53 |
value: !!bool false
|
54 |
+
product_covered_by_machinery_regulation:
|
55 |
+
article: 'Art. 6(1)(b); Annex I'
|
56 |
+
verbose: 'AI project is itself a product that is covered by Directive 2006/42/EC of the European Parliament and of the Council of 17 May 2006 on machinery, and amending Directive 95/16/EC (OJ L 157, 9.6.2006, p. 24) [as repealed by the Machinery Regulation]'
|
57 |
value: !!bool false
|
58 |
+
product_covered_by_toy_safety_regulation:
|
59 |
+
article: 'Art. 6(1)(b); Annex I'
|
60 |
+
verbose: 'AI project is itself a product that is covered by Directive 2009/48/EC of the European Parliament and of the Council of 18 June 2009 on the safety of toys (OJ L 170, 30.6.2009, p. 1)'
|
61 |
+
value: !!bool false
|
62 |
+
product_covered_by_watercraft_regulation:
|
63 |
+
article: ' Art. 6(1)(b); Annex I'
|
64 |
+
verbose: 'AI project is itself a product that is covered by Directive 2013/53/EU of the European Parliament and of the Council of 20 November 2013 on recreational craft and personal watercraft and repealing Directive 94/25/EC (OJ L 354, 28.12.2013, p. 90)'
|
65 |
+
value: !!bool false
|
66 |
+
biometric_categorization:
|
67 |
+
article: 'Art. 6(2); Annex III(1)(b)'
|
68 |
+
verbose: 'AI project is intended to be used for biometric categorisation, according to sensitive or protected attributes or characteristics based on the inference of those attributes or characteristics'
|
69 |
+
value: !!bool false
|
70 |
+
emotion_recognition:
|
71 |
+
article: 'Art. 6(2); Annex III(1)(c)'
|
72 |
+
verbose: 'AI project is intended to be used for emotion recognition'
|
73 |
+
value: !!bool true
|
74 |
+
critical_infrastructure:
|
75 |
+
article: 'Art. 6(2); Annex III(2)'
|
76 |
+
verbose: 'AI project is intended to be used as a safety component in the management and operation of critical digital infrastructure, road traffic, or in the supply of water, gas, heating or electricity'
|
77 |
+
value: !!bool true
|
78 |
+
admission:
|
79 |
+
article: 'Art. 6(2); Annex III(3)(a)'
|
80 |
+
verbose: 'AI project is intended to be used to determine access or admission or to assign natural persons to educational and vocational training institutions at all levels'
|
81 |
+
value: !!bool false
|
82 |
+
recruitment:
|
83 |
+
article: 'Art. 6(2); Annex III(4)(a)'
|
84 |
+
verbose: 'AI project is intended to be used for the recruitment or selection of natural persons, in particular to place targeted job advertisements, to analyse and filter job applications, and to evaluate candidates'
|
85 |
+
value: !!bool false
|
86 |
+
public_assistance:
|
87 |
+
article: 'Art. 6(2); Annex III(5)(a)'
|
88 |
+
verbose: 'AI project is intended to be used by public authorities or on behalf of public authorities to evaluate the eligibility of natural persons for essential public assistance benefits and services, including healthcare services, as well as to grant, reduce, revoke, or reclaim such benefits and services'
|
89 |
+
value: !!bool false
|
90 |
+
victim_assessment:
|
91 |
+
article: 'Art. 6(2); Annex III(6)(a)'
|
92 |
+
verbose: 'AI project is intended to be used by or on behalf of law enforcement authorities, or by Union institutions, bodies, offices or agencies in support of law enforcement authorities or on their behalf to assess the risk of a natural person becoming the victim of criminal offences'
|
93 |
+
value: !!bool false
|
94 |
+
polygraph:
|
95 |
+
article: 'Art. 6(2); Annex III(7)(a)'
|
96 |
+
verbose: 'AI project is intended to be used by or on behalf of competent public authorities or by Union institutions, bodies, offices or agencies as polygraphs or similar tools'
|
97 |
+
value: !!bool false
|
98 |
+
judicial:
|
99 |
+
article: 'Art. 6(2); Annex III(8)(a)'
|
100 |
+
verbose: 'AI project is intended to be used by a judicial authority or on their behalf to assist a judicial authority in researching and interpreting facts and the law and in applying the law to a concrete set of facts, or to be used in a similar way in alternative dispute resolution'
|
101 |
value: !!bool false
|
102 |
|
103 |
+
# TODO potentially add military exception and/or law enforcement exception to the below
|
104 |
|
105 |
+
high_risk_ai_system_exceptions:
|
106 |
+
filter_exception_rights:
|
107 |
+
article: 'Art. 6(3)'
|
108 |
+
verbose: 'The AI initiate does not pose a significant risk of harm to the health, safety or fundamental rights of natural persons, including by not materially influencing the outcome of decision making'
|
109 |
+
value: !!bool false
|
110 |
+
filter_exception_narrow:
|
111 |
+
article: 'Art. 6(3)(a)'
|
112 |
+
verbose: 'The AI project is intended to perform a narrow procedural task'
|
113 |
+
value: !!bool false
|
114 |
+
filter_exception_human:
|
115 |
+
article: 'Art. 6(3)(b)'
|
116 |
+
verbose: 'the AI project is intended to improve the result of a previously completed human activity'
|
117 |
+
value: !!bool false
|
118 |
+
filter_exception_deviation:
|
119 |
+
article: 'Art. 6(3)(c)'
|
120 |
+
verbose: 'the AI project is intended to detect decision-making patterns or deviations from prior decision-making patterns and is not meant to replace or influence the previously completed human assessment, without proper human review'
|
121 |
+
value: !!bool false
|
122 |
+
filter_exception_prep:
|
123 |
+
article: 'Art. 6(3)(d)'
|
124 |
+
verbose: 'the AI project is intended to perform a preparatory task to an assessment relevant for the purposes of the use cases listed in Annex III.'
|
125 |
+
value: !!bool false
|
126 |
|
127 |
+
gpai_model_systemic_risk:
|
128 |
+
evaluation:
|
129 |
+
article: 'Art. 51 (1)(a)'
|
130 |
+
verbose: 'The AI project has high impact capabilities based on an evaluation using appropriate technical tools and methodologies, including indicators and benchmarks'
|
131 |
+
value: !!bool false
|
132 |
+
committee:
|
133 |
+
article: 'Art. 51 (1)(b)'
|
134 |
+
verbose: 'The AI project has capabilities or an impact equivalent to high impact capabilities based on a decision of the Commission, ex officio or following a qualified alert from the scientific panel'
|
135 |
+
value: !!bool false
|
136 |
+
flops:
|
137 |
+
article: 'Art. 51(2)'
|
138 |
+
verbose: 'The cumulative amount of computation used for the training of the AI project, as measured in floating point operations (FLOPs), has been greater than 10^25'
|
139 |
+
value: !!bool false
|
140 |
|
141 |
# Information related to the Act's exceptions for scientific research, open-source AI, and more
|
142 |
|
143 |
excepted:
|
144 |
+
military: # only applies to AI systems, must implement that in the logic
|
145 |
+
article: 'Art. 2(3)'
|
146 |
+
verbose: 'AI project is placed on the market, put into service, or used with or without modification exclusively for military, defence or national security purposes'
|
147 |
+
value: !!bool false
|
148 |
+
scientific:
|
149 |
+
article: 'Art. 2(6)'
|
150 |
verbose: 'AI project is or was specifically developed and put into service for the sole purpose of scientific research and development'
|
151 |
value: !!bool false
|
152 |
+
pre_market:
|
153 |
+
article: 'Art. 2(8) '
|
154 |
verbose: 'AI project strictly consists of research, testing or development activity of the sort that takes place prior to their being placed on the market or put into service'
|
155 |
value: !!bool false
|
156 |
+
open_source_ai_system:
|
157 |
+
article: 'Art. 2(11)'
|
158 |
verbose: 'AI project is released under free and open-source licences'
|
159 |
value: !!bool false
|
160 |
+
open_source_gpai_model:
|
161 |
+
article: 'Art. 53(2)'
|
162 |
verbose: 'AI project involves AI models that are released under a free and open-source licence that allows for the access, usage, modification, and distribution of the model, and whose parameters, including the weights, the information on the model architecture, and the information on model usage, are made publicly available. This exception shall not apply to general purpose AI models with systemic risks'
|
163 |
value: !!bool false
|
164 |
+
|
165 |
+
# We have to remember that even when open_source_gpai_model == true, the exception does not exist if gpai_model_with_systemic_risk == true
|
166 |
+
# Also, even when open_source_gpai_model == true, the project must still satisfy [Article 53(1)(c), 53(1)(d)]:
|
167 |
+
# In other words, project_cc_yaml['gpai_model_obligations']['other']['policy'] and project_cc_yaml['gpai_model_obligations']['other']['content'] must be true
|
168 |
+
# This logic has to be added to compliance_analysis.py
|
169 |
|
170 |
# Information related to practices prohibited by the Act
|
171 |
|
172 |
prohibited_practice:
|
173 |
ai_system:
|
174 |
+
manipulative:
|
175 |
+
article: 'Art. 5(1)(a)'
|
176 |
verbose: 'The AI project deploys subliminal or purposefully manipulative or deceptive techniques, with the objective or effect of materially distorting the behavior of people by appreciably impairing their ability to make an informed decision, thereby causing them to take a decision that they would not have otherwise taken in a manner that causes or is reasonably likely to cause significant harm'
|
177 |
value: !!bool false
|
178 |
+
exploit_vulnerable:
|
179 |
+
article: 'Art. 5(1)(b)'
|
180 |
verbose: 'The AI project exploits the vulnerabilities of natural people due to their age, disability or a specific social or economic situation, with the objective or effect of materially distorting their behaviour in a manner that causes or is reasonably likely to cause significant harm'
|
181 |
value: !!bool false
|
182 |
+
social_score:
|
183 |
+
article: 'Art. 5(1)(c)'
|
184 |
verbose: 'The AI project is for the evaluation or classification of natural people over a certain period of time based on their social behaviour or known, inferred or predicted personal or personality characteristics, with the social score leading to at least one of the following: (i) detrimental or unfavourable treatment of certain natural people in social contexts that are unrelated to the contexts in which the data was originally generated or collected; (ii) detrimental or unfavourable treatment of certain natural people that is unjustified or disproportionate to their social behaviour or its gravity'
|
185 |
value: !!bool false
|
186 |
+
crime_prediction:
|
187 |
+
article: 'Art. 5(1)(d)'
|
188 |
verbose: 'This AI project makes risk assessments of natural persons in order to assess or predict the risk of them committing a criminal offence, based solely on the profiling of the natural person or on assessing their personality traits and characteristics (and does not support the human assessment of the involvement of a person in a criminal activity, which is already based on objective and verifiable facts directly linked to a criminal activity)'
|
189 |
value: !!bool false
|
190 |
+
untarged_face:
|
191 |
+
article: 'Art. 5(1)(e)'
|
192 |
verbose: 'This AI project creates or expand facial recognition databases through the untargeted scraping of facial images from the internet or CCTV footage'
|
193 |
value: !!bool false
|
194 |
+
emotion_prediction:
|
195 |
+
article: 'Art. 5(1)(f)'
|
196 |
verbose: 'The AI project infers emotions of a natural person in the areas of workplace and education institutions and is not intended to be put in place or into the market for medical or safety reasons'
|
197 |
value: !!bool false
|
198 |
biometric:
|
199 |
+
categorization:
|
200 |
+
article: 'Art. 5(1)(g)'
|
201 |
verbose: 'The AI project involves the use of biometric categorisation systems that categorise individually natural persons based on their biometric data to deduce or infer their race, political opinions, trade union membership, religious or philosophical beliefs, sex life or sexual orientation; this prohibition does not cover any labelling or filtering of lawfully acquired biometric datasets, such as images, based on biometric data or categorizing of biometric data in the area of law enforcement'
|
202 |
value: !!bool false
|
203 |
+
real_time:
|
204 |
+
article: 'Art. 5(1)(h)'
|
205 |
+
verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement'
|
206 |
value: !!bool false
|
207 |
+
real_time_exception_victim:
|
208 |
+
article: 'Art. 5(1)(h)'
|
209 |
+
verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the targeted search for specific victims of abduction, trafficking in human beings or sexual exploitation of human beings, or the search for missing persons'
|
210 |
value: !!bool false
|
211 |
real_time_exception_threat:
|
212 |
+
article: ''
|
213 |
+
verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the prevention of a specific, substantial and imminent threat to the life or physical safety of natural persons or a genuine and present or genuine and foreseeable threat of a terrorist attack'
|
214 |
+
value: !!bool false
|
215 |
real_time_exception_investigation:
|
216 |
+
article: ''
|
217 |
+
verbose: 'The AI project involves use of real-time remote biometric identification systems in publicly accessible spaces for the purposes of law enforcement stricly for the localisation or identification of a person suspected of having committed a criminal offence, for the purpose of conducting a criminal investigation or prosecution or executing a criminal penalty for offences referred to in Annex II and punishable in the Member State concerned by a custodial sentence or a detention order for a maximum period of at least four years.'
|
218 |
value: !!bool false
|
219 |
|
220 |
+
# Information related to the risk management system requirements for high-risk AI systems (Article 9)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
risk_management_system:
|
223 |
+
established:
|
224 |
+
article: 'Article 9'
|
225 |
+
verbose: 'A risk management system has been established, implemented, documented and maintained for the AI project'
|
226 |
value: !!bool false
|
227 |
+
lifecycle:
|
228 |
+
article: 'Art. 9(2)'
|
229 |
+
verbose: 'A risk management system has been planned, run, reviewed, and updated throughout the entire lifecycle of the AI project'
|
230 |
value: !!bool false
|
231 |
+
risk_analysis_intended:
|
232 |
+
article: 'Art. 9(2)(a)'
|
233 |
+
verbose: 'The risk management system for the AI project includes the identification and analysis of any known or reasonably foreseeable risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose'
|
234 |
value: !!bool false
|
235 |
+
risk_estimation_foreseeable:
|
236 |
+
article: 'Art. 9(2)(b)'
|
237 |
+
verbose: 'The risk management system for the AI project includes the estimation and evaluation of the risks that may emerge when the AI project is used in accordance with its intended purpose, and under conditions of reasonably foreseeable misuse'
|
238 |
value: !!bool false
|
239 |
+
risk_post_market:
|
240 |
+
article: 'Art. 9(2)(c)'
|
241 |
+
verbose: 'The risk management system for the AI project includes the evaluation of other risks possibly arising, based on the analysis of data gathered from the post-market monitoring system'
|
242 |
value: !!bool false
|
243 |
+
risk_management_measures:
|
244 |
+
article: 'Art. 9(2)(d)'
|
245 |
+
verbose: 'Where any risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, appropriate and targeted risk management measures designed to address those risks have been adopted'
|
246 |
value: !!bool false
|
247 |
+
documentation:
|
248 |
+
article: 'Art. 9(5)'
|
249 |
+
verbose: 'Where any risks that the AI project might pose to health, safety or fundamental rights when used in accordance with its intended purpose have been identified, these risks have been documented and communicated to deployers and either eliminated, if feasible, or mitigated such that any residual risk is judged to be acceptable'
|
250 |
value: !!bool false
|
251 |
+
tested:
|
252 |
+
article: 'Art. 9(6)'
|
253 |
+
verbose: 'To determine the right mitigations, and to show the AI project performs consistently its intended purpose and is in compliance with the risk management requirements, the AI project has been tested'
|
254 |
value: !!bool false
|
255 |
+
testing_threshold:
|
256 |
+
article: 'Art. 9(8)'
|
257 |
+
verbose: 'Testing has or will be performed before the AI project is placed on the market and has or will be carried out against prior defined metrics and probabilistic thresholds that are appropriate to the intended purpose'
|
258 |
value: !!bool false
|
259 |
+
vulnerable_groups:
|
260 |
+
article: 'Art. 9(9)'
|
261 |
+
verbose: 'The risk management system for the AI project considers impacts in the view of intended purpose the AI project on individuals under 18 and other vulnerable groups have been considered'
|
262 |
+
value: !!bool true
|
263 |
|
264 |
+
# Information related to the risk management system requirements for high-risk AI systems (Article 11)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
|
266 |
technical_documentation:
|
267 |
+
drawn_up:
|
268 |
+
article: 'Art. 11(1)'
|
269 |
+
verbose: 'Technical documentation for the AI project has been drawn up before the system has been placed on the market or put into service and will be kept up-to date'
|
270 |
+
value: !!bool false
|
271 |
+
kept:
|
272 |
+
article: 'Art. 16(d), Art. 18'
|
273 |
+
verbose: 'The technical documentation for the AI project that has been drawn up before the system has been placed on the market or put into service and will be kept up-to date will be kept by the provider for a period of ten years'
|
274 |
value: !!bool false
|
275 |
+
intended_purpose:
|
276 |
+
article: 'Art. 11(1); Annex IV(1)(a)'
|
277 |
+
verbose: 'The Technical Documentation includes a general description of the AI project that covers its intended purpose, the name of the provider and the version of the system reflecting its relation to previous versions'
|
278 |
value: !!bool false
|
279 |
+
interaction:
|
280 |
+
article: 'Art. 11(1); Annex IV(1)(b)'
|
281 |
+
verbose: 'The Technical Documentation includes a general description of the AI project that covers how the AI project interacts with, or can be used to interact with, hardware or software, including with separate AI systems, that are not part of the AI project itself, where applicable'
|
282 |
value: !!bool false
|
283 |
+
versions:
|
284 |
+
article: 'Art. 11(1); Annex IV(1)(c)'
|
285 |
+
verbose: 'Technical Documentation includes a general description of the AI project that covers the versions of relevant software or firmware, and any requirements related to version updates'
|
286 |
value: !!bool false
|
287 |
+
market_forms:
|
288 |
+
article: 'Art. 11(1); Annex IV(1)(d)'
|
289 |
+
verbose: 'Technical Documentation includes a general description of the AI project that covers the description of all the forms in which the AI project is placed on the market or put into service, such as software packages embedded into hardware, downloads, or APIs'
|
290 |
value: !!bool false
|
291 |
+
hardware:
|
292 |
+
article: 'Art. 11(1); Annex IV(1)(e)'
|
293 |
+
verbose: 'Technical Documentation includes a general description of the AI project that covers the description of the hardware on which the AI project is intended to run'
|
294 |
value: !!bool false
|
295 |
+
external_features:
|
296 |
+
article: 'Art. 11(1); Annex IV(1)(f)'
|
297 |
+
verbose: 'Technical Documentation includes a general description of the AI project that includes, where it is a component of products, photographs or illustrations showing external features, the marking and internal layout of those products'
|
298 |
value: !!bool false
|
299 |
+
user_interface:
|
300 |
+
article: 'Art. 11(1); Annex IV(1)(g)'
|
301 |
+
verbose: 'Technical Documentation includes a general description of the AI project that includes a basic description of the user-interface provided to the deployer'
|
302 |
value: !!bool false
|
303 |
+
deployer_instructions:
|
304 |
+
article: 'Art. 11(1); Annex IV(1)(h)'
|
305 |
+
verbose: 'Technical Documentation includes a general description of the AI project that includes instructions for use for the deployer, and a basic description of the user-interface provided to the deployer, where applicable'
|
306 |
+
value: !!bool false
|
307 |
+
development_steps:
|
308 |
+
article: 'Art. 11(1); Annex IV(2)(a)'
|
309 |
+
verbose: 'Technical Documentation includes a detailed description of the elements of the AI project and of the process for its development, covering the methods and steps performed for the development of the AI project, including, where relevant, recourse to pre-trained systems or tools provided by third parties and how those were used, integrated or modified by the provider'
|
310 |
+
value: !!bool false
|
311 |
+
design_specs:
|
312 |
+
article: 'Art. 11(1); Annex IV(2)(b)'
|
313 |
+
verbose: 'Technical Documentation includes a detailed description of the elements of the AI project and of the process for its development, covering the design specifications of the system, namely the general logic of the AI project and of the algorithms; the key design choices including the rationale and assumptions made, including with regard to persons or groups of persons in respect of who, the system is intended to be used; the main classification choices; what the system is designed to optimise for, and the relevance of the different parameters; the description of the expected output and output quality of the system; the decisions about any possible trade-off made regarding the technical solutions adopted to comply with the requirements set out in Chapter III, Section 2'
|
314 |
+
value: !!bool false
|
315 |
+
risk_management:
|
316 |
+
article: 'Art. 11(1); Annex IV(5)'
|
317 |
verbose: 'Technical Documentation includes a detailed description of the risk management system in accordance with Article 9'
|
318 |
value: !!bool false
|
319 |
+
changes:
|
320 |
+
article: 'Art. 11(1); Annex IV(6)'
|
321 |
verbose: 'Technical Documentation includes a description of relevant changes made by the provider to the system through its lifecycle'
|
322 |
value: !!bool false
|
323 |
+
declaration_of_conformity:
|
324 |
+
article: 'Art. 11(1); Annex IV(8)'
|
325 |
verbose: 'Technical Documentation includes a copy of the EU declaration of conformity referred to in Article 47'
|
326 |
value: !!bool false
|
327 |
+
post_market:
|
328 |
+
article: 'Art. 11(1); Annex IV(9)'
|
329 |
+
verbose: 'Technical Documentation includes a detailed description of the system in place to evaluate the AI project performance in the post-market phase in accordance with Article 72, including the post-market monitoring plan referred to in Article 72(3)'
|
330 |
value: !!bool false
|
331 |
+
product:
|
332 |
+
article: 'Art. 11(2)'
|
333 |
+
verbose: 'The AI project is either not related to a product covered by the Union harmonisation legislation listed in Section A of Annex I and placed on the market or put into service or, if it is, a single set of technical documentation has been drawn up containing all the information set out in paragraph 1, as well as the information required under those legal acts'
|
334 |
value: !!bool false
|
335 |
|
336 |
+
|
337 |
+
### ypi: add Annex IV(1)(h)
|
338 |
+
### instructions_for_use:
|
339 |
+
### verbose: 'The Technical Documentation includes a general description of the AI project that covers instructions for use for the deployer and a basic description of the user-interface provided, where applicable.'
|
340 |
+
### value: !!bool false
|
341 |
+
|
342 |
+
# Information related to the record keeping requirements for high-risk AI systems (Article 12)
|
343 |
+
|
344 |
record_keeping:
|
345 |
+
logging_generally:
|
346 |
+
article: 'Article 12(1)'
|
347 |
+
verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system'
|
348 |
+
value: !!bool false
|
349 |
+
logging_kept:
|
350 |
+
article: 'Article 12(1), Article 19(1)'
|
351 |
+
verbose: 'The automatic recording of events (logs) that are being generated over the lifetime of the system are being kept by the provider for at least sixth months'
|
352 |
value: !!bool false
|
353 |
+
logging_risk:
|
354 |
+
article: 'Art. 12(1)(a)'
|
355 |
+
verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for identifying situations that may result in the AI project presenting a risk within the meaning of Article 79(1) or in a substantial modification'
|
356 |
value: !!bool false
|
357 |
+
logging_post_market:
|
358 |
+
article: 'Art. 12(1)(b)'
|
359 |
+
verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for facilitating the post-market monitoring referred to in Article 72'
|
360 |
value: !!bool false
|
361 |
+
monitoring:
|
362 |
+
article: 'Art. 12(1)(c)'
|
363 |
+
verbose: 'The AI project technically allows for the automatic recording of events (logs) over the lifetime of the system and these logging capabilities enable the recording of events relevant for monitoring the operation of AI projects referred to in Article 26(5)'
|
364 |
value: !!bool false
|
365 |
+
recording_use:
|
366 |
+
article: 'Art. 12(2)(a)'
|
367 |
+
verbose: 'For the remote biometric identification systems AI projects referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the recording of the period of each use of the system (start date and time and end date and time of each use)'
|
368 |
value: !!bool false
|
369 |
+
reference_db:
|
370 |
+
article: 'Art. 12(2)(b)'
|
371 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the reference database against which input data has been checked by the system'
|
372 |
value: !!bool false
|
373 |
+
input:
|
374 |
+
article: 'Art. 12(2)(c)'
|
375 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the input data for which the search has led to a match'
|
376 |
value: !!bool false
|
377 |
+
identification:
|
378 |
+
article: 'Art. 12(2)(d)'
|
379 |
verbose: 'For the remote biometric identification systems high-risk AI systems referred to in point 1 (a), of Annex III, the logging capabilities shall provide, at a minimum, the identification of the natural persons involved in the verification of the results, as referred to in Article 14(5)'
|
380 |
value: !!bool false
|
381 |
|
382 |
+
# Information related to the requirements that the providers of high-risk AI systems provide certain information to deployers (Article 13)
|
383 |
+
|
384 |
transparency_and_provision_of_information_to_deployers:
|
385 |
+
interpretability:
|
386 |
+
article: 'Art. 13(1)'
|
387 |
+
verbose: 'AI project is designed and developed to ensure operation is sufficiently transparent for deployers to interpret output and use appropriately'
|
388 |
value: !!bool false
|
389 |
+
compliance:
|
390 |
+
article: 'Art. 13(1)'
|
391 |
+
verbose: 'AI project is designed and developed with transparency to ensure compliance with provider and deployer obligations in Section 3'
|
392 |
value: !!bool false
|
393 |
+
instructions:
|
394 |
+
article: 'Art. 13(2)'
|
395 |
+
verbose: 'AI project is accompanied by instructions for use in appropriate digital format or otherwise, with concise, complete, correct, clear, relevant, accessible, and comprehensible information for deployers'
|
396 |
value: !!bool false
|
397 |
+
contact_details:
|
398 |
+
article: 'Art. 13(3)(a)'
|
399 |
verbose: 'Instructions include provider identity and contact details, and if applicable, authorized representative details'
|
400 |
value: !!bool false
|
401 |
+
characteristics:
|
402 |
+
article: 'Art. 13(3)(b)(i)'
|
403 |
+
verbose: 'Instructions include the characteristics, capabilities, performance limitations, and intended purpose of the AI project'
|
404 |
value: !!bool false
|
405 |
+
metrics:
|
406 |
+
article: 'Art. 13(3)(b)(ii)'
|
407 |
verbose: 'Instructions include accuracy metrics, robustness, cybersecurity, and potential impacts on these'
|
408 |
value: !!bool false
|
409 |
+
foreseeable:
|
410 |
+
article: 'Art. 13(3)(b)(iii)'
|
411 |
verbose: 'Instructions include foreseeable circumstances that may risk health, safety, or fundamental rights'
|
412 |
value: !!bool false
|
413 |
+
output:
|
414 |
+
article: 'Art. 13(3)(b)(iv)'
|
415 |
+
verbose: 'Instructions include technical capabilities to provide information relevant to explaining output'
|
416 |
+
value: !!bool false
|
417 |
+
specific_persons:
|
418 |
+
article: 'Art. 13(3)(b)(v)'
|
419 |
verbose: 'Instructions include performance regarding specific persons or groups, if applicable'
|
420 |
value: !!bool false
|
421 |
+
data:
|
422 |
+
article: 'Art. 13(3)(b)(vi)'
|
423 |
verbose: 'Instructions include input data specifications and relevant training, validation, and testing dataset information'
|
424 |
value: !!bool false
|
425 |
+
deployers:
|
426 |
+
article: 'Art. 13(3)(b)(vii)'
|
427 |
+
verbose: 'Instructions include information to enable potential deployers to interpret and appropriately use the output of the AI project'
|
428 |
value: !!bool false
|
429 |
+
changes:
|
430 |
+
article: 'Art. 13(3)(c)'
|
431 |
+
verbose: 'Instructions include predetermined changes to AI project and its performance since initial conformity assessment'
|
432 |
value: !!bool false
|
433 |
+
oversight_measures:
|
434 |
+
article: 'Art. 13(3)(d)'
|
435 |
verbose: 'Instructions include human oversight measures and technical measures for output interpretation'
|
436 |
value: !!bool false
|
437 |
+
hardware:
|
438 |
+
article: 'Art. 13(3)(e)'
|
439 |
verbose: 'Instructions include computational and hardware resource needs, expected lifetime, and maintenance measures'
|
440 |
value: !!bool false
|
441 |
+
logging:
|
442 |
+
article: 'Art. 13(3)(f)'
|
443 |
verbose: 'Instructions include description of mechanisms for deployers to collect, store, and interpret logs, if applicable'
|
444 |
value: !!bool false
|
445 |
|
446 |
+
# Information related to the human oversight requirements for high-risk AI systems (Article 14)
|
447 |
+
|
448 |
human_oversight:
|
449 |
+
designed:
|
450 |
+
article: 'Art. 14(1)'
|
451 |
+
verbose: 'AI project is designed and developed so as to be effectively overseen by natural persons during use, including through the use of appropriate human-machine interface tools'
|
452 |
value: !!bool false
|
453 |
+
minimize_risks:
|
454 |
+
article: 'Art. 14(2)'
|
455 |
+
verbose: 'Human oversight measure of the AI project aim to prevent or minimize risks to health, safety, or fundamental rights during intended use or foreseeable misuse'
|
456 |
value: !!bool false
|
457 |
+
commensurate:
|
458 |
+
article: 'Art. 14(3)'
|
459 |
+
verbose: 'The human oversight measures of the AI project are commensurate with risks, autonomy level, and use context, ensured through provider-built measures and/or deployer-implemented measures'
|
460 |
value: !!bool false
|
461 |
+
understandable:
|
462 |
+
article: 'Art. 14(4)'
|
463 |
+
verbose: 'AI project enables assigned persons to understand its capacities and limitations, monitor operation, and detect anomalies'
|
464 |
value: !!bool false
|
465 |
+
automation_bias:
|
466 |
+
article: 'Art. 14(4)(a)'
|
467 |
+
verbose: 'AI project enables assigned persons to be aware of potential automation bias'
|
468 |
value: !!bool false
|
469 |
+
interpretabilty:
|
470 |
+
article: 'Art. 14(4)(c)'
|
471 |
+
verbose: 'AI project enables assigned persons to correctly interpret its output'
|
472 |
value: !!bool false
|
473 |
+
override:
|
474 |
+
article: 'Art. 14(4)(d)'
|
475 |
+
verbose: 'AI project enables assigned persons to decide not to use it or override its output'
|
476 |
value: !!bool false
|
477 |
+
stop_button:
|
478 |
+
article: 'Art. 14(4)(e)'
|
479 |
+
verbose: 'AI project enables assigned persons to intervene or halt the system through a stop button or similar procedure'
|
480 |
value: !!bool false
|
481 |
+
verification:
|
482 |
+
article: 'Art. 14(5)'
|
483 |
verbose: 'For Annex III point 1(a) systems, actions or decisions require verification by at least two competent persons, with exceptions for law enforcement, migration, border control, or asylum'
|
484 |
value: !!bool false
|
485 |
|
486 |
+
# Information related to the accuracy, robustness, and cybersecurity requirements for high-risk AI systems (Article 15)
|
487 |
+
|
488 |
accuracy_robustness_cybersecurity:
|
489 |
+
design:
|
490 |
+
article: 'Art. 15(1)'
|
491 |
+
verbose: 'The AI project is designed and developed to achieve appropriate levels of accuracy, robustness, and cybersecurity, performing consistently throughout its lifecycle'
|
492 |
value: !!bool false
|
493 |
+
metrics_in_instructions:
|
494 |
+
article: 'Art. 15(3)'
|
495 |
+
verbose: 'Accuracy levels and relevant metrics are declared in instructions of use that accompany the AI project'
|
496 |
value: !!bool false
|
497 |
+
error_resiliance:
|
498 |
+
article: 'Art. 15(4)'
|
499 |
+
verbose: 'The AI project is resilient against errors, faults, or inconsistencies, with technical and organizational measures implemented'
|
500 |
value: !!bool false
|
501 |
+
bias:
|
502 |
+
article: 'Art. 15(4)'
|
503 |
+
verbose: 'The AI project, if it continues learning after deployment, is designed to eliminate or reduce risk of biased outputs influencing future operations'
|
504 |
value: !!bool false
|
505 |
+
unauthorized_use:
|
506 |
+
article: 'Art. 15(5)'
|
507 |
+
verbose: 'The AI project is resilient against unauthorized third-party attempts to alter use, outputs, or performance'
|
508 |
value: !!bool false
|
509 |
+
cybersecurity_solutions:
|
510 |
+
article: 'Art. 15(5)'
|
511 |
+
verbose: 'The AI project includes cybersecurity solutions that are appropriate to the relevant circumstances and risks'
|
512 |
value: !!bool false
|
513 |
+
ai_vulnerabilities:
|
514 |
+
article: 'Art. 15(5)'
|
515 |
+
verbose: 'The AI project includes technical solutions that address AI-specific vulnerabilities, including measures against data poisoning, model poisoning, adversarial examples, and confidentiality attacks'
|
516 |
value: !!bool false
|
517 |
|
518 |
+
# Information related to the quality management system requirements for high-risk AI systems (Article 17)
|
519 |
+
|
520 |
quality_management_system:
|
521 |
+
quality_management_system:
|
522 |
+
article: 'Art. 17(1)(a)'
|
523 |
+
verbose: 'The AI project is subject to a quality management system with strategy for regulatory compliance'
|
524 |
value: !!bool false
|
525 |
+
design:
|
526 |
+
article: 'Art. 17(1)(b)'
|
527 |
+
verbose: 'The quality management system that the AI project was subject to includes techniques, procedures, and actions for design, control, and verification of the AI project'
|
528 |
value: !!bool false
|
529 |
+
quality_control:
|
530 |
+
article: 'Art. 17(1)(c)'
|
531 |
+
verbose: 'The quality management system that the AI project was subject to includes techniques, procedures, and actions for development, quality control, and quality assurance'
|
532 |
value: !!bool false
|
533 |
+
testing:
|
534 |
+
article: 'Art. 17(1)(d)'
|
535 |
+
verbose: 'The quality management system that the AI project was subject to includes examination, test, and validation procedures before, during, and after development'
|
536 |
value: !!bool false
|
537 |
|
538 |
+
# Information related to the fundamental rights assessment that is required of high-risk AI systems (Article 27)
|
539 |
+
|
540 |
fundamental_rights_assessment:
|
541 |
+
process:
|
542 |
+
article: 'Art. 27(1)(a)'
|
543 |
+
verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the deployer’s processes in which the AI project will be used in line with its intended purpose'
|
544 |
value: !!bool false
|
545 |
+
time_period:
|
546 |
+
article: 'Art. 27(1)(b)'
|
547 |
+
verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the period of time within which, and the frequency with which, each high-risk AI project is intended to be used'
|
548 |
value: !!bool false
|
549 |
+
persons_affected:
|
550 |
+
article: 'Art. 27(1)(c)'
|
551 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the categories of natural persons and groups likely to be affected by its use in the specific context'
|
552 |
value: !!bool false
|
553 |
+
likely_harms:
|
554 |
+
article: 'Art. 27(1)(d)'
|
555 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the specific risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context'
|
556 |
value: !!bool false
|
557 |
+
human_oversight:
|
558 |
+
article: 'Art. 27(1)(e)'
|
559 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that includes a description of the implementation of human oversight measures, according to the instructions for use'
|
560 |
value: !!bool false
|
561 |
+
risk_mitigation:
|
562 |
+
article: 'Art. 27(1)(f)'
|
563 |
verbose: 'AI project has been subject to a fundamental rights impact assessment that describes the measures to be taken in the case of the materialisation of risks of harm likely to have an impact on the categories of natural persons and groups likely to be affected by its use in the specific context, including the arrangements for internal governance and complaint mechanisms'
|
564 |
value: !!bool false
|
565 |
|
566 |
# Information related to the Act's requirements for all AI systems
|
567 |
|
568 |
transparency_obligations:
|
569 |
+
synthetic_content1:
|
570 |
+
article: 'Art. 50(1)'
|
571 |
+
verbose: 'The AI project designed and developed in such a way that the natural persons concerned are informed that they are interacting with AI'
|
572 |
+
value: !!bool false
|
573 |
+
synthetic_content2:
|
574 |
+
article: 'Art. 50(2)'
|
575 |
+
verbose: 'The outputs of the AI project are marked in a machine-readable format and detectable as artificially generated or manipulated'
|
576 |
value: !!bool false
|
577 |
+
marking_solutions:
|
578 |
+
article: 'Art. 50(2)'
|
579 |
+
verbose: 'The outputs of the AI project are marked using technical solutions are effective, interoperable, robust and reliable as far as this is technically feasible, taking into account the specificities and limitations of various types of content, the costs of implementation and the generally acknowledged state of the art, as may be reflected in relevant technical standards'
|
580 |
value: !!bool false
|
581 |
|
582 |
# Information related to the Act's requirements for GPAI models
|
583 |
|
584 |
+
gpai_model_obligations:
|
585 |
+
documentation:
|
586 |
+
intended_uses:
|
587 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(a)'
|
588 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model includes a description of the tasks that the model is intended to perform and the type and nature of AI projects in which it can be integrated'
|
589 |
+
value: !!bool false
|
590 |
+
accepable_use_policies:
|
591 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(b)'
|
592 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes a description of the acceptable use policies'
|
593 |
+
value: !!bool false
|
594 |
+
release_date:
|
595 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(c)'
|
596 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the date of release and methods of distribution'
|
597 |
+
value: !!bool false
|
598 |
+
model_architecture:
|
599 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(d)'
|
600 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the architecture and number of parameters'
|
601 |
+
value: !!bool true
|
602 |
+
modality:
|
603 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(e)'
|
604 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the modality (e.g. text, image) and format of inputs and outputs'
|
605 |
+
value: !!bool false
|
606 |
+
license:
|
607 |
+
article: 'Art. 53(1)(a); Annex XI(1)(1)(f)'
|
608 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a general description of the model that includes the license'
|
609 |
+
value: !!bool false
|
610 |
+
technical_means:
|
611 |
+
article: 'Art. 53(1)(a); Annex XI(1)(2)(a)'
|
612 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes the technical means (e.g. instructions of use, infrastructure, tools) required for the AI project to be integrated into other AI projects'
|
613 |
+
value: !!bool false
|
614 |
+
design_specs:
|
615 |
+
article: 'Art. 53(1)(a); Annex XI(1)(2)(b)'
|
616 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes the design specifications of the model and training process, including training methodologies and techniques, the key design choices including the rationale and assumptions made; what the model is designed to optimise for and the relevance of the different parameters, as applicable;'
|
617 |
+
value: !!bool false
|
618 |
+
data:
|
619 |
+
article: 'Art. 53(1)(a); Annex XI(1)(2)(c)'
|
620 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the data used for training, testing and validation, where applicable, including the type and provenance of data and curation methodologies (e.g. cleaning, filtering, etc.), the number of data points, their scope and main characteristics; how the data was obtained and selected as well as all other measures to detect the unsuitability of data sources and methods to detect identifiable biases, where applicable'
|
621 |
+
value: !!bool false
|
622 |
+
computation:
|
623 |
+
article: 'Art. 53(1)(b); Annex XI(1)(2)(d)'
|
624 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the computational resources used to train the model (e.g. number of floating point operations), training time, and other relevant details related to the training;'
|
625 |
+
value: !!bool false
|
626 |
+
energy:
|
627 |
+
article: 'Art. 53(1)(b); Annex XI(1)(2)(e)'
|
628 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that include a detailed description of the model that includes information on the known or estimated energy consumption of the model'
|
629 |
+
value: !!bool false
|
630 |
+
evaluation:
|
631 |
+
article: 'Art. 53(1)(b); Annex XI(2)(1-2)'
|
632 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that describes evaluation strategies, results, and adversarial testing measures'
|
633 |
+
value: !!bool false
|
634 |
+
provider_documentation:
|
635 |
+
general:
|
636 |
+
article:
|
637 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their AI systems, documentation that enables providers of AI systems to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulation'
|
638 |
+
value: !!bool false
|
639 |
+
tasks:
|
640 |
+
article: 'ANNEX XII(1)(a)'
|
641 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their AI systems, documentation that enables providers of AI systems to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the tasks that the model is intended to perform and the type and nature of AI systems into which it can be integrated;'
|
642 |
+
value: !!bool false
|
643 |
+
acceptable_use:
|
644 |
+
article: 'ANNEX XII(1)(b)'
|
645 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the acceptable use policies applicable;'
|
646 |
+
value: !!bool false
|
647 |
+
release_date:
|
648 |
+
article: 'ANNEX XII(1)(c)'
|
649 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the date of release and methods of distribution;'
|
650 |
+
value: !!bool false
|
651 |
+
hardware:
|
652 |
+
article: 'ANNEX XII(1)(d)'
|
653 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including how the model interacts, or can be used to interact, with hardware or software that is not part of the model itself, where applicable;'
|
654 |
+
value: !!bool false
|
655 |
+
versions:
|
656 |
+
article: 'ANNEX XII(1)(e)'
|
657 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the versions of relevant software related to the use of the general-purpose AI model, where applicable'
|
658 |
+
value: !!bool false
|
659 |
+
architecture:
|
660 |
+
article: 'ANNEX XII(1)(f)'
|
661 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the architecture and number of parameters;'
|
662 |
+
value: !!bool false
|
663 |
+
modality:
|
664 |
+
article: 'ANNEX XII(1)(g)'
|
665 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the modality (e.g. text, image) and format of inputs and outputs;'
|
666 |
+
value: !!bool false
|
667 |
+
license:
|
668 |
+
article: 'ANNEX XII(1)(h)'
|
669 |
+
verbose: 'Provider has draw up and will keep up-to-date and make available to providers of other AI projects who intend to integrate the AI project into their other AI projects, documentation that enables providers of other AI projects to have a good understanding of the capabilities and limitations of the general-purpose AI model and to comply with their obligations pursuant to this Regulatio, that includes general description of the AI project including the licence for the model.;'
|
670 |
+
value: !!bool false
|
671 |
+
other:
|
672 |
+
policy:
|
673 |
+
article: 'Art. 52(1)(c)'
|
674 |
+
verbose: 'Provider has put in place a policy to comply with Union law on copyright and related rights, and in particular to identify and comply with, including through state-of-the-art technologies, a reservation of rights expressed pursuant to Article 4(3) of Directive (EU) 2019/790;'
|
675 |
+
value: !!bool false
|
676 |
+
content:
|
677 |
+
article: 'Art. 52(1)(d)'
|
678 |
+
verbose: 'Provider has drawn up and made publicly available a sufficiently detailed summary about the content used for training of the general-purpose AI model, according to a template provided by the AI Office.'
|
679 |
+
value: !!bool false
|
680 |
+
representative:
|
681 |
+
article: 'Art. 54(1)(d)'
|
682 |
+
verbose: 'Prior to placing the AI project on the Union market, the provider, if established in a third country, has, by written mandate, appointed an authorised representative which is established in the Union.'
|
683 |
+
value: !!bool false
|
684 |
+
|
685 |
+
# Add other obligations of domestic represenatitives
|
686 |
+
|
687 |
+
# Information related to the Act's requirements for GPAI models with systematic risk
|
688 |
+
|
689 |
+
gpai_models_with_systemic_risk_obligations:
|
690 |
+
notification:
|
691 |
+
article: 'Art 52(1)'
|
692 |
+
verbose: 'Within two weeks of it being known that the AI project should be classified as a GPAI model with systemtic ris, tkhe Commission was notified and provided with the information that supports this finding'
|
693 |
+
value: false
|
694 |
+
evaluation:
|
695 |
+
article: 'Art. 55(1)(a)'
|
696 |
+
verbose: 'The AI project was subject to a model evaluation using standardized protocols'
|
697 |
+
value: !!bool false
|
698 |
+
adversarial:
|
699 |
+
article: 'Art. 55(1)(a)'
|
700 |
+
verbose: 'The AI project was subject to adversarial testing'
|
701 |
+
value: !!bool false
|
702 |
+
assessment:
|
703 |
+
article: 'Art. 55(1)(b)'
|
704 |
+
verbose: 'Any possible systemic risks at Union level that the AI project poses were assessed'
|
705 |
+
value: !!bool false
|
706 |
+
mitigation:
|
707 |
+
article: 'Art. 55(1)(b)'
|
708 |
+
verbose: 'Any possible systemic risks at Union level that the AI project poses were mitigated'
|
709 |
+
value: !!bool false
|
710 |
+
cybersecurity:
|
711 |
+
article: 'Art. 55(1)(d)'
|
712 |
+
verbose: 'Adequate cybersecurity protection for any models and infrastructures in the AI project was ensured'
|
713 |
+
value: !!bool false
|
714 |
+
documenation_evaluation:
|
715 |
+
article:
|
716 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes a detailed description of the evaluation strategies, including evaluation results, on the basis of available public evaluation protocols and tools or otherwise of other evaluation methodologies. Evaluation strategies shall include evaluation criteria, metrics and the methodology on the identification of limitations.'
|
717 |
+
value: !!bool false
|
718 |
+
documentation_adversarial:
|
719 |
+
article:
|
720 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes, where applicable, a detailed description of the measures put in place for the purpose of conducting internal and/or external adversarial testing (e.g. red teaming), model adaptations, including alignment and fine-tuning.'
|
721 |
+
value: !!bool false
|
722 |
+
documentation_architecture:
|
723 |
+
article:
|
724 |
+
verbose: 'The provider has drawn up and will keep up-to-date technical documentation of the model that includes, where applicable, a detailed description of the system architecture explaining how software components build or feed into each other and integrate into the overall processing.'
|
725 |
+
value: !!bool false
|
726 |
+
|
727 |
+
additional_provider_obligations:
|
728 |
+
ai_literacy:
|
729 |
+
article: 'Article 4'
|
730 |
+
verbose: ''
|
731 |
value: !!bool false
|
732 |
+
contact:
|
733 |
+
article: 'Article 16 (b)'
|
734 |
+
verbose: 'It is indicated on the AI project or, if that is not possible, on its packaging or its accompanying documentation, as applicable, the name of the provider as well as their registered trade name or registered trade mark and the address at which they can be contacted;'
|
735 |
value: !!bool false
|
736 |
+
conformity_assessment:
|
737 |
+
article: 'Article 16 (f)'
|
738 |
+
verbose: 'The provider has ensured that the AI project has undergone a conformity assessment procedure'
|
739 |
value: !!bool false
|
740 |
+
conformity_declaration:
|
741 |
+
article: 'Article 16 (g)'
|
742 |
+
verbose: 'The provider has drawn up an EU declaration of conformity'
|
743 |
value: !!bool false
|
744 |
+
conformity_marking:
|
745 |
+
article: 'Article 16 (h)'
|
746 |
+
verbose: 'The provider has affixed a Conformité Européenne marking to the AI project or, if that is not possible, on its packaging or its accompanying documentation, to indicate conformity with the Act'
|
747 |
value: !!bool false
|
748 |
+
registration:
|
749 |
+
article: 'Article 16 (i)'
|
750 |
+
verbose: 'The provider or their representative have registered the AI project in the EU database for high-risk AI systems'
|
751 |
value: !!bool false
|
752 |
+
accessibility:
|
753 |
+
article: 'Article 16 (l)'
|
754 |
+
verbose: 'The AI project complies with accessibility requirements in accordance with Directives (EU) 2016/2102 and (EU) 2019/882'
|
755 |
value: !!bool false
|
756 |
|
757 |
+
# Information related to the additional transparency requirements in Article 50, if applicable
|
758 |
|
759 |
+
# TODO the requirements seem to be missing from the below. We also need to work on the logic, which is complex.
|
760 |
+
|
761 |
+
transparency_related:
|
762 |
+
direct_user_interaction:
|
763 |
+
article: 'Art. 50'
|
764 |
+
verbose: 'The AI project is intended to interact directly with natural persons'
|
765 |
value: !!bool false
|
766 |
+
exception_obvious:
|
767 |
+
article: 'Art. 50'
|
768 |
+
verbose: 'When interacting with the AI project, it would be obvious from the point of view of a natural person who is reasonably well-informed, observant and circumspect, taking into account the circumstances and the context of use that they are interacting with AI'
|
769 |
+
exception_law:
|
770 |
+
article: 'Art. 50'
|
771 |
+
verbose: 'The AI project is authorised by law to detect, prevent, investigate or prosecute criminal offences, subject to appropriate safeguards for the rights and freedoms of third parties, and is not available for the public to report a criminal offence'
|
772 |
value: !!bool false
|
773 |
+
synthetic content:
|
774 |
+
article: 'Art. 50(2)'
|
775 |
+
verbose: 'The AI project generates synthetic audio, image, video or text content'
|
776 |
+
value: !!bool false
|
777 |
+
exception_assistive:
|
778 |
+
article: 'Art. 50(2)'
|
779 |
+
verbose: 'The AI project performs an assistive function for standard editing'
|
780 |
+
value: !!bool false
|
781 |
+
exception_inubstantial:
|
782 |
+
article: 'Art. 50(2)'
|
783 |
+
verbose: 'The AI project does not substantially alter the input data provided by the deployer or the semantics thereof, or where authorised by law to detect, prevent, investigate or prosecute criminal offences.'
|
784 |
+
value: !!bool false
|
785 |
+
emotion_reconition:
|
786 |
+
article: 'Art. 50(2)'
|
787 |
+
verbose: 'The AI project is an emotion recognition system'
|
788 |
+
value: !!bool false
|
789 |
+
biometric_categorization:
|
790 |
+
article: 'Art. 50(2)'
|
791 |
+
verbose: 'The AI project is a biometric categorisation system'
|
792 |
value: !!bool false
|
|
|
|
|
|
requirements.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
pandas==2.2.2
|
2 |
+
PyYAML==6.0.2
|
3 |
+
streamlit==1.38.0
|
run.py
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import yaml
|
2 |
+
import json
|
3 |
+
from pathlib import Path
|
4 |
+
import pandas as pd
|
5 |
+
from src.compliance_analysis import check_overall_compliance
|
6 |
+
|
7 |
+
pd.set_option('display.max_columns', None)
|
8 |
+
pd.set_option('display.max_rows', None)
|
9 |
+
|
10 |
+
files = ["./project_cc.yaml", "./data_cc.yaml", "./data_cc.yaml", "./model_cc.yaml", "./model_cc.yaml", "./model_cc.yaml"]
|
11 |
+
|
12 |
+
# def load_data(files):
|
13 |
+
# cards = []
|
14 |
+
# for file in files:
|
15 |
+
# with open(file, 'r') as f:
|
16 |
+
# if Path(f.name).name == "project_cc.yaml":
|
17 |
+
# content = f.read()
|
18 |
+
# project_cc_yaml = yaml.safe_load(content)
|
19 |
+
# data = project_cc_yaml
|
20 |
+
# card_type = "project"
|
21 |
+
# cards.append((card_type, data))
|
22 |
+
# if Path(f.name).name == "data_cc.yaml":
|
23 |
+
# data_cc_yaml = yaml.safe_load(content)
|
24 |
+
# data = data_cc_yaml
|
25 |
+
# card_type = "data"
|
26 |
+
# cards.append((card_type, data))
|
27 |
+
# if Path(f.name).name == "model_cc.yaml":
|
28 |
+
# model_cc_yaml = yaml.safe_load(content)
|
29 |
+
# data = model_cc_yaml
|
30 |
+
# card_type = "model"
|
31 |
+
# cards.append((card_type, data))
|
32 |
+
# return cards
|
33 |
+
|
34 |
+
# cards = load_data(files)
|
35 |
+
|
36 |
+
def gather_cards(files):
|
37 |
+
cards = {}
|
38 |
+
cards['project_file'] = ''
|
39 |
+
cards['data_files'] = []
|
40 |
+
cards['model_files'] = []
|
41 |
+
for file in files:
|
42 |
+
with open(file, 'r') as f:
|
43 |
+
content = yaml.safe_load(f.read())
|
44 |
+
if content['card_type'] == "project":
|
45 |
+
cards['project_file'] = f.name
|
46 |
+
if content['card_type'] == "data":
|
47 |
+
cards['data_files'].append(f.name)
|
48 |
+
if content['card_type'] == "model":
|
49 |
+
cards['model_files'].append(f.name)
|
50 |
+
return cards
|
51 |
+
|
52 |
+
cards = gather_cards(files)
|
53 |
+
|
54 |
+
# def load_data(files):
|
55 |
+
# cards = []
|
56 |
+
# for file in files:
|
57 |
+
# with open(file, 'r') as f:
|
58 |
+
# if Path(f.name).name == "project_cc.yaml":
|
59 |
+
# content = f.read()
|
60 |
+
# pcrojet_cc_yaml = yaml.safe_load(content)
|
61 |
+
# data = project_cc_yaml
|
62 |
+
# card_type = "project"
|
63 |
+
# cards.append((card_type, data))
|
64 |
+
# if Path(f.name).name == "data_cc.yaml":
|
65 |
+
# data_cc_yaml = yaml.safe_load(content)
|
66 |
+
# data = data_cc_yaml
|
67 |
+
# card_type = "data"
|
68 |
+
# cards.append((card_type, data))
|
69 |
+
# if Path(f.name).name == "model_cc.yaml":
|
70 |
+
# model_cc_yaml = yaml.safe_load(content)
|
71 |
+
# data = model_cc_yaml
|
72 |
+
# card_type = "model"
|
73 |
+
# cards.append((card_type, data))
|
74 |
+
# return cards
|
75 |
+
|
76 |
+
def compliance_analysis(cards):
|
77 |
+
results = []
|
78 |
+
dispositive_variables = check_overall_compliance(cards)
|
79 |
+
results.append(dispositive_variables)#['msg'])
|
80 |
+
return results
|
81 |
+
|
82 |
+
print(json.dumps(compliance_analysis(cards), indent=4,))
|
83 |
+
|
utils.py
CHANGED
@@ -1,107 +1,91 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
def set_type(project_variables, project_cc_yaml):
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
ai_system = project_variables['ai_project_type']['ai_system']
|
8 |
-
gpai_model = project_variables['ai_project_type']['gpai_model']
|
9 |
-
|
10 |
-
if project_cc_yaml['ai_system']['ai_system']['value']:
|
11 |
-
ai_system = True
|
12 |
-
if project_cc_yaml['gpai_model']['gpai_model']['value']:
|
13 |
-
gpai_model = True
|
14 |
-
if ai_system and gpai_model:
|
15 |
-
msg = ("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
|
16 |
-
if ai_system == True:
|
17 |
-
for key, value in project_cc_yaml['high_risk_ai_system']:
|
18 |
-
if value and sum(map(bool, [project_cc_yaml['high_risk_ai_system']['filter_exception_rights'],project_cc_yaml['high_risk_ai_system']['filter_exception_narrow'],project_cc_yaml['high_risk_ai_system']['filter_exception_human'],project_cc_yaml['high_risk_ai_system']['filter_exception_deviation'], project_cc_yaml['high_risk_ai_system']['filter_exception_prep']])) < 1:
|
19 |
-
project_type = "high_risk_ai_system"
|
20 |
-
|
21 |
-
if gpai_model == True:
|
22 |
-
if project_cc_yaml['gpai_model_systematic_risk']['evaluation'] or project_cc_yaml['gpai_model_systematic_risk']['flops']:
|
23 |
-
project_type = "gpai_model_systematic_risk"
|
24 |
-
|
25 |
-
return project_type
|
26 |
-
|
27 |
-
def set_operator_role_and_location(project_variables, project_cc_yaml):
|
28 |
operators = 0
|
29 |
|
30 |
-
ai_system =
|
31 |
-
gpai_model =
|
32 |
-
|
33 |
-
for var in
|
34 |
-
if project_cc_yaml['
|
35 |
-
|
36 |
operators += 1
|
37 |
|
38 |
if ai_system and gpai_model:
|
39 |
-
msg
|
40 |
if operators != 1:
|
41 |
-
msg
|
42 |
|
43 |
-
return
|
44 |
|
45 |
-
def set_eu_market_status(
|
46 |
|
47 |
if project_cc_yaml['eu_market_status']['placed_on_market']['value']:
|
48 |
-
|
49 |
if project_cc_yaml['eu_market_status']['put_into_service']['value']:
|
50 |
-
|
51 |
|
52 |
-
if project_cc_yaml['
|
53 |
-
|
54 |
|
55 |
-
return
|
56 |
|
|
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
67 |
return True
|
68 |
-
if
|
69 |
return True
|
70 |
else:
|
|
|
71 |
return False
|
72 |
|
73 |
-
def check_excepted(project_cc_yaml):
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
return True
|
76 |
else:
|
77 |
-
return False
|
78 |
-
|
79 |
-
# def check_prohibited (project_cc_yaml):
|
80 |
-
# if ai_system:
|
81 |
-
# for key in project_cc_yaml['prohibited_practice']['ai_system']:
|
82 |
-
# if key[value]:
|
83 |
-
# print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
84 |
-
# return True
|
85 |
-
# if project_cc_yaml['prohibited_practice']['biometric']['categorization']:
|
86 |
-
# print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
87 |
-
# return True
|
88 |
-
# if project_cc_yaml['prohibited_practice']['biometric']['real_time'] and sum(map(bool, [project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_victim'],project_cc['prohibited_practice']['biometric']['real_time_exception_threat'], project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_investigation']])) == 0:
|
89 |
-
# print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
90 |
-
# return True
|
91 |
-
# else:
|
92 |
-
# print("You are not engaged in any prohibited practices.")
|
93 |
-
# return False
|
94 |
|
95 |
-
|
96 |
-
# data = yaml.safe_load(file_path)
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# We could probably combine set_type, set_operator_role_and_location, and set_eu_market_status into a single function that sets all project_variables
|
2 |
+
# We will have to add a couple other things to that function as well
|
|
|
3 |
|
4 |
+
def set_operator_role_and_location(dispositive_variables, project_cc_yaml):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
operators = 0
|
6 |
|
7 |
+
ai_system = project_cc_yaml['ai_system']['ai_system']['value']
|
8 |
+
gpai_model = project_cc_yaml['gpai_model']['gpai_model']['value']
|
9 |
+
|
10 |
+
for var in project_cc_yaml['operator_details']:
|
11 |
+
if project_cc_yaml['operator_details'][f'{var}']['value'] == True:
|
12 |
+
dispositive_variables['operator_details'][f'{var}'] = True
|
13 |
operators += 1
|
14 |
|
15 |
if ai_system and gpai_model:
|
16 |
+
dispositive_variables['msg'].append("Your project cannot be both an AI system and a GPAI model. Please revise your Project CC accordingly.")
|
17 |
if operators != 1:
|
18 |
+
dispositive_variables['msg'].append("Please specify exactly one operator role.")
|
19 |
|
20 |
+
return dispositive_variables
|
21 |
|
22 |
+
def set_eu_market_status(dispositive_variables, project_cc_yaml):
|
23 |
|
24 |
if project_cc_yaml['eu_market_status']['placed_on_market']['value']:
|
25 |
+
dispositive_variables['eu_market_status']["placed_on_market"] = True
|
26 |
if project_cc_yaml['eu_market_status']['put_into_service']['value']:
|
27 |
+
dispositive_variables['eu_market_status']["put_into_service"] = True
|
28 |
|
29 |
+
if project_cc_yaml['operator_details']['output_used']['value']:
|
30 |
+
dispositive_variables['operator_details']["output_used"] = True
|
31 |
|
32 |
+
return dispositive_variables
|
33 |
|
34 |
+
def check_within_scope_act(dispositive_variables, project_cc_yaml):
|
35 |
|
36 |
+
# Check that the project is within the scope of the Act
|
37 |
+
|
38 |
+
ai_system = project_cc_yaml['ai_system']['ai_system']
|
39 |
+
gpai_model = project_cc_yaml['gpai_model']['gpai_model']
|
40 |
+
placed_on_market = project_cc_yaml['eu_market_status']['placed_on_market']
|
41 |
+
put_into_service = project_cc_yaml['eu_market_status']['put_into_service']
|
42 |
+
|
43 |
+
eu_located = project_cc_yaml['operator_details']['eu_located']
|
44 |
+
output_used = project_cc_yaml['operator_details']['output_used']
|
45 |
+
|
46 |
+
if not check_excepted(dispositive_variables, project_cc_yaml):
|
47 |
+
if ((ai_system and (placed_on_market or put_into_service)) or (gpai_model and placed_on_market)): # Article 2.1(a)
|
48 |
return True
|
49 |
+
if (ai_system and eu_located and output_used): # Article 2.1(c)
|
50 |
return True
|
51 |
else:
|
52 |
+
print("Your project is not within the scope of the Act and its requirements.")
|
53 |
return False
|
54 |
|
55 |
+
def check_excepted(dispositive_variables, project_cc_yaml):
|
56 |
+
|
57 |
+
if (project_cc_yaml['excepted']['scientific']['value'] or
|
58 |
+
project_cc_yaml['excepted']['pre_market']['value'] or
|
59 |
+
(project_cc_yaml['ai_system']['ai_system']['value'] == True and
|
60 |
+
project_cc_yaml['excepted']['open_source_ai_system']['value'] == True) or
|
61 |
+
(project_cc_yaml['gpai_model']['gpai_model']['value'] == True and
|
62 |
+
project_cc_yaml['excepted']['open_source_gpai_system']['value'] == True and
|
63 |
+
dispositive_variables['ai_project_type']['gpai_model_systemic_risk'] == False)
|
64 |
+
):
|
65 |
+
dispositive_variables['msg'].append("Your project falls into one of the exemptions from the Act.")
|
66 |
return True
|
67 |
else:
|
68 |
+
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
+
def check_prohibited(project_cc_yaml):
|
|
|
71 |
|
72 |
+
ai_system = project_cc_yaml['ai_system']['ai_system']['value']
|
73 |
+
|
74 |
+
if ai_system:
|
75 |
+
for key in project_cc_yaml['prohibited_practice']['ai_system']:
|
76 |
+
if project_cc_yaml['prohibited_practice']['ai_system'][f'{key}']['value'] == True:
|
77 |
+
print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
78 |
+
return True
|
79 |
+
if project_cc_yaml['prohibited_practice']['biometric']['categorization'] == True:
|
80 |
+
print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
81 |
+
return True
|
82 |
+
if project_cc_yaml['prohibited_practice']['biometric']['real_time'] and \
|
83 |
+
sum(map(bool, [project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_victim'],
|
84 |
+
project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_threat'],
|
85 |
+
project_cc_yaml['prohibited_practice']['biometric']['real_time_exception_investigation']])) == 0:
|
86 |
+
print("You are engaged in a prohibited practice and thus the project is non-compliant.")
|
87 |
+
return True
|
88 |
+
else:
|
89 |
+
print("You are not engaged in any prohibited practices.")
|
90 |
+
return False
|
91 |
+
|