---
id: object/codeunit/7761
type: object
title: Codeunit 7761 "AOAI Chat Completion Params"
summary: Codeunit 7761 "AOAI Chat Completion Params" in System Application (System.AI). 14 public procedures. Present since at least BC23, still in BC30, changed in BC24, BC27.
tier: official
language: en
tags:
  - codeunit
  - system application
versions:
  introduced: null
  last_changed: "27"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: e95bfc5e58393d667195bcb764e32a945541fe7393000a3264d2553e9749fa97
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/AI/src/Azure%20OpenAI/Chat%20Completion/AOAIChatCompletionParams.Codeunit.al
    title: src/System Application/App/AI/src/Azure OpenAI/Chat Completion/AOAIChatCompletionParams.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 7761
name: AOAI Chat Completion Params
namespace: System.AI
app: System Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 14
  events: 0
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 11
  implements: 0
---

# Codeunit 7761 "AOAI Chat Completion Params"

> Codeunit 7761 "AOAI Chat Completion Params" in System Application (System.AI). 14 public procedures. Present since at least BC23, still in BC30, changed in BC24, BC27.

System Application · System.AI · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/System%20Application/App/AI/src/Azure%20OpenAI/Chat%20Completion/AOAIChatCompletionParams.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Access | Public |

## Procedures

- `GetTemperature(): Decimal`: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
- `GetMaxTokens(): Integer`: Gets the maximum number of tokens allowed for the generated answer.
- `GetMaxHistory(): Integer`: Gets the maximum number of messages to send back as the message history.
- `GetPresencePenalty(): Decimal`: Gets the presence penalty value.
- `GetFrequencyPenalty(): Decimal`: Gets the frequency penalty value.
- `GetAOAIPolicyParams(): Codeunit "AOAI Policy Params"`: Gets the current AOAI policy parameters containing harms severity and XPIA detection settings.
- `SetTemperature(NewTemperature: Decimal)`: Sets the sampling temperature to use, between 0 and 2. A higher temperature increases the likelihood that the next most probable token will not be selected. When requesting structured data, set the temperature to 0. For human sounding speech, 0.7 is a typical value
- `SetMaxTokens(NewMaxTokens: Integer)`: Sets the maximum number of tokens allowed for the generated answer. The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).
- `SetJsonMode(NewJsonMode: Boolean)`: Sets if the model should return a valid JSON object as a chat completion.
- `SetMaxHistory(NewMaxHistory: Integer)`: Sets the maximum number of messages to send back as the message history.
- `SetPresencePenalty(NewPresencePenalty: Decimal)`: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
- `SetFrequencyPenalty(NewFrequencyPenalty: Decimal)`: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
- `SetAOAIPolicyParams(PolicyParams: Codeunit "AOAI Policy Params")`: Sets the AOAI policy parameters containing harms severity and XPIA detection settings.
- `AddChatCompletionsParametersToPayload(var Payload: JsonObject)` (internal): Adds the Chat Completion parameters to the payload.

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 7762 "AOAI Chat Compl Params Impl"](../codeunit/7762.md) (14 calls: `AddChatCompletionsParametersToPayload → AddChatCompletionsParametersToPayload`, `GetAOAIPolicyParams → GetAOAIPolicyParams`, `GetFrequencyPenalty → GetFrequencyPenalty`, …)

## Called by

- [Codeunit 324 "No. Series Copilot Impl."](../codeunit/324.md) (4 calls: `GenerateNoSeries → SetMaxTokens`, `GenerateNoSeries → SetTemperature`, `GenerateNoSeriesUsingToolResult → SetMaxTokens`, …)
- [Codeunit 4402 "SOA Output Message Setup"](../codeunit/4402.md) (4 calls: `AddSignatureToMessageBody → SetMaxTokens`, `AddSignatureToMessageBody → SetTemperature`, `CheckMailTemplate → SetMaxTokens`, …)
- [Codeunit 4421 "SOA Attachment MLLM"](../codeunit/4421.md) (3 calls: `TryExtractAttachmentContent → SetJsonMode`, `TryExtractAttachmentContent → SetMaxTokens`, `TryExtractAttachmentContent → SetTemperature`)
- [Codeunit 7251 "Bank Acc. Rec. Trans. to Acc."](../codeunit/7251.md) (3 calls: `GetMostAppropriateGLAccountNos → SetAOAIPolicyParams`, `GetMostAppropriateGLAccountNos → SetMaxTokens`, `GetMostAppropriateGLAccountNos → SetTemperature`)
- [Codeunit 2012 "Entity Text Impl."](../codeunit/2012.md) (2 calls: `GenerateCompletion → SetMaxTokens`, `GenerateCompletion → SetTemperature`)
- [Codeunit 4417 "SOA Item Selector"](../codeunit/4417.md) (2 calls: `TrySelectBestMatchingItems → SetMaxTokens`, `TrySelectBestMatchingItems → SetTemperature`)
- [Codeunit 4596 "SOA Broader Item Search"](../codeunit/4596.md) (2 calls: `AICall → SetMaxTokens`, `AICall → SetTemperature`)
- [Codeunit 6331 "Sustainability Chat Completion"](../codeunit/6331.md) (2 calls: `GenerateChatCompletion → SetMaxTokens`, `GenerateChatCompletion → SetTemperature`)
- [Codeunit 7275 "Sales Lines Suggestions Impl."](../codeunit/7275.md) (2 calls: `AICall → SetMaxTokens`, `AICall → SetTemperature`)
- [Codeunit 7330 "Item Subst. Suggestion Impl."](../codeunit/7330.md) (2 calls: `AICall → SetMaxTokens`, `AICall → SetTemperature`)
- [Codeunit 4399 "SOA Annotation"](../codeunit/4399.md) (1 call: `SetAOAIParameters → SetTemperature`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC27

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "codeunit", object_name: "AOAI Chat Completion Params")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
