Codeunit "AOAI Chat Messages"
Helper functions for the AOAI Chat Message table.
Properties
| Name | Value |
|---|---|
| Access | Public |
| InherentEntitlements | X |
| InherentPermissions | X |
Methods
SetPrimarySystemMessage
Sets the system message which is always at the top of the chat messages history provided to the model.
[NonDebuggable]
procedure SetPrimarySystemMessage(Message: SecretText)
Parameters
| Name | Type | Description |
|---|---|---|
| Message | SecretText |
The primary system message. |
AddSystemMessage
Adds a system message to the chat messages history.
[NonDebuggable]
procedure AddSystemMessage(NewMessage: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| NewMessage | Text |
The message to add. |
AddUserMessage
Adds a user message to the chat messages history.
[NonDebuggable]
procedure AddUserMessage(NewMessage: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| NewMessage | Text |
The message to add. |
AddUserMessage
Adds a user message to the chat messages history.
[NonDebuggable]
procedure AddUserMessage(NewMessage: Text, NewName: Text[2048])
Parameters
| Name | Type | Description |
|---|---|---|
| NewMessage | Text |
The message to add. |
| NewName | Text[2048] |
The name of the user. |
AddAssistantMessage
Adds a assistant message to the chat messages history.
[NonDebuggable]
procedure AddAssistantMessage(NewMessage: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| NewMessage | Text |
The message to add. |
AddToolMessage
Adds a tool result to the chat messages history.
[NonDebuggable]
procedure AddToolMessage(ToolCallId: Text, FunctionName: Text, FunctionResult: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| ToolCallId | Text |
The id of the tool call. |
| FunctionName | Text |
The name of the called function. |
| FunctionResult | Text |
The result of the tool call. |
ModifyMessage
Modifies a message in the chat messages history.
[NonDebuggable]
procedure ModifyMessage(Id: Integer, NewMessage: Text, NewRole: Enum "AOAI Chat Roles", NewName: Text[2048])
Parameters
| Name | Type | Description |
|---|---|---|
| Id | Integer |
Id of the message. |
| NewMessage | Text |
The new message. |
| NewRole | Enum System.AI."AOAI Chat Roles" |
The new role. |
| NewName | Text[2048] |
The new name. |
DeleteMessage
Deletes a message from the chat messages history.
[NonDebuggable]
procedure DeleteMessage(Id: Integer)
Parameters
| Name | Type | Description |
|---|---|---|
| Id | Integer |
Id of the message. |
GetHistory
Gets the history of chat messages.
[NonDebuggable]
procedure GetHistory(): List of [Text]
Returns
| Type | Description |
|---|---|
| List of [Text] |
List of chat messages. |
GetHistoryNames
Gets the history names of chat messages.
[NonDebuggable]
procedure GetHistoryNames(): List of [Text[2048]]
Returns
| Type | Description |
|---|---|
| List of [Text[2048]] |
List of names of chat messages. |
GetHistoryRoles
Gets the history roles of chat messages.
[NonDebuggable]
procedure GetHistoryRoles(): List of [Enum "AOAI Chat Roles"]
Returns
| Type | Description |
|---|---|
| List of [Enum System.AI."AOAI Chat Roles"] |
List of roles of chat messages. |
GetLastMessage
Gets the last chat message.
[NonDebuggable]
procedure GetLastMessage(): Text
Returns
| Type | Description |
|---|---|
| Text |
The last chat message. |
GetLastRole
Gets the last chat message role.
[NonDebuggable]
procedure GetLastRole(): Enum "AOAI Chat Roles"
Returns
| Type | Description |
|---|---|
| Enum System.AI."AOAI Chat Roles" |
The last chat message role. |
GetLastName
Gets the last chat message name.
[NonDebuggable]
procedure GetLastName(): Text[2048]
Returns
| Type | Description |
|---|---|
| Text[2048] |
The last chat message name. |
GetLastToolCalls
Gets a copy of the last chat message tool calls array.
[NonDebuggable]
procedure GetLastToolCalls(): JsonArray
Returns
| Type | Description |
|---|---|
| JsonArray |
The last tool calls array. |
SetHistoryLength
Set the length of history that is used by the model.
[NonDebuggable]
procedure SetHistoryLength(NewLength: Integer)
Parameters
| Name | Type | Description |
|---|---|---|
| NewLength | Integer |
The new length. |
GetHistoryTokenCount
Gets the number of tokens used by the primary system messages and all other messages.
[NonDebuggable]
procedure GetHistoryTokenCount(): Integer
Returns
| Type | Description |
|---|---|
| Integer |
AddTool
Obsolete
This element will become obsolete from version 25.0. Use AddTool that takes in an AOAI Function interface.
Appends a Tool to the payload.
[NonDebuggable]
[Obsolete(Use AddTool that takes in an AOAI Function interface.,25.0)]
procedure AddTool(NewTool: JsonObject)
Parameters
| Name | Type | Description |
|---|---|---|
| NewTool | JsonObject |
The Tool to be added to the payload. |
Remarks
See more details here: https://go.microsoft.com/fwlink/?linkid=2254538
ModifyTool
Obsolete
This element will become obsolete from version 25.0. Deprecated with no replacement. Use DeleteFunctionTool and AddTool.
Modifies a Tool in the list of Tool.
[NonDebuggable]
[Obsolete(Deprecated with no replacement. Use DeleteFunctionTool and AddTool.,25.0)]
procedure ModifyTool(Id: Integer, NewTool: JsonObject)
Parameters
| Name | Type | Description |
|---|---|---|
| Id | Integer |
Id of the message. |
| NewTool | JsonObject |
The new Tool. |
DeleteTool
Obsolete
This element will become obsolete from version 25.0. Use DeleteFunctionTool that takes in a function name instead.
Deletes a Tool from the list of Tool.
[Obsolete(Use DeleteFunctionTool that takes in a function name instead.,25.0)]
procedure DeleteTool(Id: Integer)
Parameters
| Name | Type | Description |
|---|---|---|
| Id | Integer |
Id of the Tool. |
AddTool
Adds a function to the payload.
procedure AddTool(Function: Interface "AOAI Function")
Parameters
| Name | Type | Description |
|---|---|---|
| Function | Interface System.AI."AOAI Function" |
The function to be added |
DeleteFunctionTool
Deletes a Function from the list of Functions.
procedure DeleteFunctionTool(Name: Text): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| Name | Text |
Name of the Function. |
Returns
| Type | Description |
|---|---|
| Boolean |
ClearTools
Remove all tools.
procedure ClearTools()
GetFunctionTool
Gets the function associated with the specified name.
procedure GetFunctionTool(Name: Text, var Function: Interface "AOAI Function"): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| Name | Text |
Name of the function to get. |
| Function | Interface System.AI."AOAI Function" |
Name of the function to get. |
Returns
| Type | Description |
|---|---|
| Boolean |
The function codeunit. |
GetFunctionTools
Gets the list of names of Function Tools that have been added.
procedure GetFunctionTools(): List of [Text]
Returns
| Type | Description |
|---|---|
| List of [Text] |
List of function tool names. |
GetTools
Obsolete
This element will become obsolete from version 25.0. Use GetFunctionTool() that takes in a function name and returns the interface.
Gets the list of Tools.
[NonDebuggable]
[Obsolete(Use GetFunctionTool() that takes in a function name and returns the interface.,25.0)]
procedure GetTools(): List of [JsonObject]
Returns
| Type | Description |
|---|---|
| List of [JsonObject] |
List of Tools. |
ToolsExists
Checks if at least one Tools exists in the list.
procedure ToolsExists(): Boolean
Returns
| Type | Description |
|---|---|
| Boolean |
True if Tools exists, false otherwise. |
SetAddToolsToPayload
Sets the Tools to be added to the payload.
procedure SetAddToolsToPayload(AddToolsToPayload: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| AddToolsToPayload | Boolean |
True if Tools is to be added to the payload, false otherwise. |
SetToolChoice
Sets the Tool choice, which allow model to determine how Tools should be called.
[NonDebuggable]
procedure SetToolChoice(ToolChoice: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| ToolChoice | Text |
Remarks
See more details here: https://go.microsoft.com/fwlink/?linkid=2254538
SetFunctionAsToolChoice
Sets the function as the tool choice to be called.
[NonDebuggable]
procedure SetFunctionAsToolChoice(FunctionName: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| FunctionName | Text |
The function name parameter. |
Remarks
See more details here: https://go.microsoft.com/fwlink/?linkid=2254538
SetFunctionAsToolChoice
Sets the function as the tool choice to be called.
[NonDebuggable]
procedure SetFunctionAsToolChoice(Function: Interface "AOAI Function")
Parameters
| Name | Type | Description |
|---|---|---|
| Function | Interface System.AI."AOAI Function" |
The function codeunit. |
Remarks
See more details here: https://go.microsoft.com/fwlink/?linkid=2254538
GetToolChoice
Gets the Tool choice parameter.
[NonDebuggable]
procedure GetToolChoice(): Text
Returns
| Type | Description |
|---|---|
| Text |
The Tool choice parameter. |
SetToolInvokePreference
Sets the tool invocation preference, controls how a tool calls response should be handled.
procedure SetToolInvokePreference(AOAIToolInvokePreference: Enum "AOAI Tool Invoke Preference")
Parameters
| Name | Type | Description |
|---|---|---|
| AOAIToolInvokePreference | Enum System.AI."AOAI Tool Invoke Preference" |
Remarks
The default behavior is to execute the tools and append the results to the chat history.
GetToolInvokePreference
Gets the tool invocation preference, controls how a tool calls response should be handled.
procedure GetToolInvokePreference(): Enum "AOAI Tool Invoke Preference"
Returns
| Type | Description |
|---|---|
| Enum System.AI."AOAI Tool Invoke Preference" |