-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[INTM] Add new object type INTM #671
base: main
Are you sure you want to change the base?
Changes from all commits
02c53b3
273aa2b
ceceb03
255d39d
5bce4dd
9d83f9d
3252d4d
93d6ac4
76f39f6
1e090b0
0a42699
fc5cbc0
8a61f6e
47e546b
aacdc9f
ecca3a2
4dedd1a
1b2ab24
1279873
0d6ed11
ba25139
b2ed332
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# INTM File Format | ||
|
||
File | Cardinality | Definition | Schema | Example | ||
:--- | :--- | :--- | :--- | :--- | ||
`<name>.intm.json` | 1 | [`zif_aff_intm_v1.intf.abap`](./type/zif_aff_intm_v1.intf.abap) | [`intm-v1.json`](./intm-v1.json) | [`z_aff_example_intm.intm.json`](./examples/z_aff_example_intm.intm.json) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{ | ||
"formatVersion": "1", | ||
"header": { | ||
"description": "Intelligent Scenario Model via ADT", | ||
"originalLanguage": "en" | ||
}, | ||
"generalInformation": { | ||
"modelName": "RM_TEST_ADT_974_MOD", | ||
"modelType": "SAPGENAI", | ||
"intelligentScenario": "RM_TEST_ADT_974", | ||
"modellingContextId": "685A28A5E8E8 Default context", | ||
"adapterId": "SAPGENAI.Default", | ||
"nativeModelType": "SAPGENAI.Default", | ||
"state": "Published", | ||
"executableId": "azure-openai", | ||
"llmName": "gpt-4", | ||
"llmVersion": "0613" | ||
}, | ||
"modelPromptTemplates": [ | ||
{ | ||
"promptTemplateName": "SYSTEM_PROMPT", | ||
"promptTemplateDescription": "System prompt", | ||
"prompt": "You are a sales executive who is responsible for reaching out to customers for confirming or declining their orders. Evaluate the size of the delivery vehicle based on the number of items. Calculate the distance between the billing and delivery location in kilometers. \r\n\r\nThe subject of email should be of format <Confirmation on order number: {order_number} placed on {booking_date}> \r\nThe body of email should be of format: \"\"SO contains <Category> to be delivered to <Location>. And will be delivered via a <size> vehicle. \r\nIF <distance between source address and delivery address> > 100 kms THEN include a message about potential delivery delays ELSE congratulate on being eligible for one day delivery", | ||
"isVisible": true | ||
}, | ||
{ | ||
"promptTemplateName": "USER_PROMPT", | ||
"promptTemplateDescription": "User prompt", | ||
"prompt": "Build a confirmation mail for a sales order containing {ISLM_Items} where the items are categorized for example pencil and paper will be stationary, printer and mouse will be electronics. The source address contains {ISLM_Source} and the delivery address is in {ISLM_Destination}.", | ||
"isVisible": true | ||
} | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,228 @@ | ||
{ | ||
"$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.", | ||
"$schema": "https://json-schema.org/draft/2020-12/schema", | ||
"$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/intm/intm-v1.json", | ||
"title": "Intelligent scenario Model", | ||
"description": "Intelligent scenario model", | ||
"type": "object", | ||
"properties": { | ||
"formatVersion": { | ||
"title": "ABAP File Format Version", | ||
"description": "The ABAP file format version", | ||
"type": "string", | ||
"const": "1" | ||
}, | ||
"header": { | ||
"title": "Header", | ||
"description": "Header", | ||
"type": "object", | ||
"properties": { | ||
"description": { | ||
"title": "Description", | ||
"description": "Description of the ABAP object", | ||
"type": "string", | ||
"maxLength": 60 | ||
}, | ||
"originalLanguage": { | ||
"title": "Original Language", | ||
"description": "Original language of the ABAP object", | ||
"type": "string", | ||
"minLength": 2 | ||
}, | ||
"abapLanguageVersion": { | ||
"title": "ABAP Language Version", | ||
"description": "ABAP language version", | ||
"type": "string", | ||
"enum": [ | ||
"standard", | ||
"keyUser", | ||
"cloudDevelopment" | ||
], | ||
"enumTitles": [ | ||
"Standard", | ||
"ABAP for Key Users", | ||
"ABAP Cloud Development" | ||
], | ||
"enumDescriptions": [ | ||
"Standard", | ||
"ABAP for key user extensibility", | ||
"ABAP cloud development" | ||
], | ||
"default": "standard" | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"required": [ | ||
"description", | ||
"originalLanguage" | ||
] | ||
}, | ||
"generalInformation": { | ||
"title": "General Information", | ||
"description": "General information", | ||
"type": "object", | ||
"properties": { | ||
"modelName": { | ||
"title": "Model Name", | ||
"description": "Model name", | ||
"type": "string", | ||
"maxLength": 30 | ||
}, | ||
"modelType": { | ||
"title": "Model Type", | ||
"description": "Model type", | ||
"type": "string", | ||
"maxLength": 256 | ||
}, | ||
"intelligentScenario": { | ||
"title": "Intelligent Scenario", | ||
"description": "Intelligent scenario of the model", | ||
"type": "string", | ||
"maxLength": 20 | ||
}, | ||
"modellingContextId": { | ||
"title": "Modelling Context ID", | ||
"description": "Modelling context ID which is the parent of the model", | ||
"type": "string", | ||
"maxLength": 36 | ||
}, | ||
"adapterId": { | ||
"title": "Adapter ID", | ||
"description": "Adapter ID", | ||
"type": "string", | ||
"maxLength": 32 | ||
}, | ||
"nativeModelType": { | ||
"title": "Native Model Type", | ||
"description": "Native model type", | ||
"type": "string", | ||
"maxLength": 256 | ||
}, | ||
"modelSpecification": { | ||
"title": "Model Specification", | ||
"description": "Model specification", | ||
"type": "string" | ||
}, | ||
"modelDefinition": { | ||
"title": "Model Definition", | ||
"description": "Model definition", | ||
"type": "string" | ||
}, | ||
"state": { | ||
"title": "State", | ||
"description": "State of the model", | ||
"type": "string", | ||
"maxLength": 10 | ||
}, | ||
"signature": { | ||
"title": "Signature", | ||
"description": "Model signature", | ||
"type": "string" | ||
}, | ||
"bindings": { | ||
"title": "Bindings", | ||
"description": "Model bindings", | ||
"type": "string" | ||
}, | ||
"isEnhancement": { | ||
"title": "Is Enhancement", | ||
"description": "If true, the model is an enhancement, if false the model is a new model.", | ||
"type": "boolean" | ||
}, | ||
"executableId": { | ||
"title": "Executable ID", | ||
"description": "Executable ID", | ||
"type": "string", | ||
"maxLength": 64 | ||
}, | ||
"llmName": { | ||
"title": "Large Language Model Name", | ||
"description": "Large language model name", | ||
"type": "string" | ||
}, | ||
"llmVersion": { | ||
"title": "Large Language Model Version", | ||
"description": "Large language model version", | ||
"type": "string", | ||
"maxLength": 30 | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"modelSegmentFields": { | ||
"title": "Model Segment Fields", | ||
"description": "Model segment fields", | ||
"type": "array", | ||
"items": { | ||
"title": "Segment Field", | ||
"description": "Model segment field", | ||
"type": "object", | ||
"properties": { | ||
"fieldName": { | ||
"title": "Field Name", | ||
"description": "Table or view field name", | ||
"type": "string", | ||
"maxLength": 30 | ||
}, | ||
"fieldPosition": { | ||
"title": "Field Position", | ||
"description": "Field position", | ||
"type": "integer", | ||
"minimum": -2147483648, | ||
"maximum": 2147483647 | ||
}, | ||
"isKey": { | ||
"title": "Is Key Field", | ||
"description": "If true, the field is a key field", | ||
"type": "boolean" | ||
} | ||
}, | ||
"additionalProperties": false | ||
} | ||
}, | ||
"modelPromptTemplates": { | ||
"title": "Model Prompt Templates", | ||
"description": "Model prompt templates", | ||
"type": "array", | ||
"items": { | ||
"title": "Model Prompt Template", | ||
"description": "Model prompt template", | ||
"type": "object", | ||
"properties": { | ||
"promptTemplateName": { | ||
"title": "Prompt Template Name", | ||
"description": "Prompt template name", | ||
"type": "string", | ||
"maxLength": 30 | ||
}, | ||
"promptTemplateDescription": { | ||
"title": "Prompt Template Description", | ||
"description": "Description of prompt template", | ||
"type": "string" | ||
}, | ||
"prompt": { | ||
"title": "Prompt", | ||
"description": "Prompt", | ||
"type": "string" | ||
}, | ||
"isVisible": { | ||
"title": "Prompt Visibility", | ||
"description": "If true, the prompt is visible", | ||
"type": "boolean" | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"required": [ | ||
"promptTemplateName", | ||
"prompt" | ||
] | ||
} | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"required": [ | ||
"formatVersion", | ||
"header", | ||
"generalInformation" | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
INTERFACE zif_aff_intm_v1 | ||
PUBLIC. | ||
|
||
TYPES: | ||
"! <p class="shorttext">General Information</p> | ||
"! General information | ||
BEGIN OF ty_general_information, | ||
"! <p class="shorttext">Model Name</p> | ||
"! Model name | ||
model_name TYPE c LENGTH 30, | ||
"! <p class="shorttext">Model Type</p> | ||
"! Model type | ||
model_type TYPE c LENGTH 256, | ||
"! <p class="shorttext">Intelligent Scenario</p> | ||
"! Intelligent scenario of the model | ||
intelligent_scenario TYPE c LENGTH 20, | ||
"! <p class="shorttext">Modelling Context ID</p> | ||
"! Modelling context ID which is the parent of the model | ||
modelling_context_id TYPE c LENGTH 36, | ||
"! <p class="shorttext">Adapter ID</p> | ||
"! Adapter ID | ||
adapter_id TYPE c LENGTH 32, | ||
"! <p class="shorttext">Native Model Type</p> | ||
"! Native model type | ||
native_model_type TYPE c LENGTH 256, | ||
"! <p class="shorttext">Model Specification</p> | ||
"! Model specification | ||
model_specification TYPE string, | ||
raghav6686 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"! <p class="shorttext">Model Definition</p> | ||
"! Model definition | ||
model_definition TYPE string, | ||
"! <p class="shorttext">State</p> | ||
"! State of the model | ||
state TYPE c LENGTH 10, | ||
raghav6686 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"! <p class="shorttext">Signature</p> | ||
"! Model signature | ||
signature TYPE string, | ||
"! <p class="shorttext">Bindings</p> | ||
"! Model bindings | ||
bindings TYPE string, | ||
"! <p class="shorttext">Is Enhancement</p> | ||
"! If true, the model is an enhancement, if false the model is a new model. | ||
is_enhancement TYPE abap_bool, | ||
"! <p class="shorttext">Executable ID</p> | ||
"! Executable ID | ||
executable_id TYPE c LENGTH 64, | ||
"! <p class="shorttext">Large Language Model Name</p> | ||
"! Large language model name | ||
llm_name TYPE string, | ||
"! <p class="shorttext">Large Language Model Version</p> | ||
"! Large language model version | ||
llm_version TYPE c LENGTH 30, | ||
END OF ty_general_information, | ||
|
||
"! <p class="shorttext">Segment Field</p> | ||
"! Model segment field | ||
BEGIN OF ty_segment_field, | ||
"! <p class="shorttext">Field Name</p> | ||
"! Table or view field name | ||
field_name TYPE c LENGTH 30, | ||
"! <p class="shorttext">Field Position</p> | ||
"! Field position | ||
field_position TYPE i, | ||
schneidermic0 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"! <p class="shorttext">Is Key Field</p> | ||
"! If true, the field is a key field | ||
is_key TYPE abap_bool, | ||
END OF ty_segment_field, | ||
|
||
"! <p class="shorttext">Model Prompt Template</p> | ||
"! Model prompt template | ||
BEGIN OF ty_prompt_template, | ||
"! <p class="shorttext">Prompt Template Name</p> | ||
"! Prompt template name | ||
"! $required | ||
prompt_template_name TYPE c LENGTH 30, | ||
"! <p class="shorttext">Prompt Template Description</p> | ||
"! Description of prompt template | ||
prompt_template_description TYPE string, | ||
"! <p class="shorttext">Prompt</p> | ||
"! Prompt | ||
"! $required | ||
prompt TYPE string, | ||
"! <p class="shorttext">Prompt Visibility</p> | ||
"! If true, the prompt is visible | ||
is_visible TYPE abap_bool, | ||
END OF ty_prompt_template, | ||
|
||
"! <p class="shorttext">Intelligent scenario Model</p> | ||
"! Intelligent scenario model | ||
BEGIN OF ty_main, | ||
"! $required | ||
format_version TYPE zif_aff_types_v1=>ty_format_version, | ||
"! <p class="shorttext">Header</p> | ||
"! Header | ||
"! $required | ||
header TYPE zif_aff_types_v1=>ty_header_60, | ||
"! <p class="shorttext">General Information</p> | ||
"! General information | ||
"! $required | ||
general_information TYPE ty_general_information, | ||
"! <p class="shorttext">Model Segment Fields</p> | ||
"! Model segment fields | ||
model_segment_fields TYPE STANDARD TABLE OF ty_segment_field WITH DEFAULT KEY, | ||
"! <p class="shorttext">Model Prompt Templates</p> | ||
"! Model prompt templates | ||
model_prompt_templates TYPE STANDARD TABLE OF ty_prompt_template WITH DEFAULT KEY, | ||
END OF ty_main. | ||
ENDINTERFACE. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"formatVersion": "1", | ||
"header": { | ||
"description": "General types reusable in AFF", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the description of the AFF itself, so what does this AFF do? What does INTM stand for? Intelligent Model? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This description is not part of our interface. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can change it either way. This is the description of the AFF itself. Same for the other INTS There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It seems this is a regression ^^ :) |
||
"originalLanguage": "en" | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended the context ID contains spaces?