videoCopilot & Agentsofficial - Microsoftreviewed - checked by Opus

Business Central Under the Hood episode 1: Developing AI in Business Central

Developing AI features in Business Central: how Microsoft's team designs LLM features, covering prompt techniques (few-shot, Chain of Thought, function calling, meta-prompting), the Copilot chat service architecture, hallucination and jailbreak prevention, and the AI toolkit for partners.

  1. 0:00 Introduction to the Under the Hood series
  2. 1:31 From web technology to AI: Michael's journey
  3. 3:13 AI features in Business Central: marketing text and chat
  4. 4:47 Immersive features and developer toolkit
  5. 6:08 Prompting and LLM architecture basics
  6. 8:10 Testing and prompt engineering challenges
  7. 9:51 Testing fuzzy inputs and outputs with LLMs
  8. 11:54 Few-shot learning technique
  9. 13:35 Chain of Thought reasoning and prompt engineering
  10. 16:16 Copilot service architecture and chat orchestration
  11. 17:37 Function calling and hallucination prevention
  12. 20:59 Jailbreaking prevention, meta-prompting, and AI toolkit
  13. 25:02 Azure OpenAI Studio and prompt development tools
video Microsoft Dynamics 365 Business Central (YouTube) · 2024-02-13Watch on YouTube

Overview

Episode 1 of the Under the Hood series, published 2024-02-13, explains how the Business Central team builds AI features. It mentions marketing text generation and bank reconciliation matching as shipped features, and describes a chat Copilot that focuses on guidance and navigation and is still improving in quality.

The talk then covers practical prompt engineering: few-shot learning, Chain of Thought, function calling, feeding the LLM current data to limit hallucinations, and meta-prompting against jailbreaks. It also describes the Copilot service architecture with a chat pane, orchestrator and plugin service, the difficulty of testing fuzzy inputs and outputs, and Azure OpenAI Studio as a tool for building prompts.

Key points

  • Marketing text generation (generally available) creates item marketing text from keywords; bank reconciliation already uses LLMs to match bank records.
  • Few-shot learning shows the LLM examples of input and expected output, and makes it easy to specify formats such as JSON or XML.
  • Chain of Thought tells the LLM to reason step by step; it outputs intermediate steps and takes longer to respond.
  • Function calling gives the LLM function definitions and parameters; the LLM does not execute code, it only says what to call and with which parameters.
  • To limit hallucinations, always feed the LLM current data and instruct it in the prompt to answer only from the provided data.
  • Chat architecture: a chat pane in the client talks to a cloud Copilot service with an orchestrator for multi-turn history and context and a plugin service for skills.
  • Meta-prompting and Azure OpenAI content filters reduce jailbreaking, but new jailbreak techniques keep appearing; the user must stay in the loop.

Features

Feature Status At Evidence
Marketing text generation generally available 3:33 “we have released at least marketing text where we can kind of generate the marketing text based on kind of keywords” (3:33)
Chat Copilot for Business Central announced 3:53 “one of the big features we’re working on is to kind of have a chat inside business Central” (3:53)
Bank reconciliation with LLM status not stated 4:47
AI developer toolkit status not stated 5:27
Few-shot learning prompting technique status not stated, demoed 11:54
Chain of Thought prompting status not stated, demoed 13:35
Copilot service architecture status not stated, demoed 15:15
Chat orchestration status not stated 15:56
Function calling status not stated, demoed 16:57
Hallucination prevention through data feeding status not stated 19:18
Content moderation and jailbreaking prevention status not stated 21:39
Meta-prompting technique status not stated 22:20
AI toolkit for partners and developers status not stated 23:00
Azure OpenAI Studio status not stated 24:42

AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

  • other “bank reconciliation” at 4:47
  • other “Chat pane” at 15:56
  • other “Orchestrator” at 16:16
  • other “Plugin service” at 16:37

Quotes

  • 0:10 “we are going to tell you how we develop these features how we design them how we architect them”
  • 3:33 “we have released at least marketing text where we can kind of generate the marketing text based on kind of keywords”
  • 3:53 “we are starting slowly we’re also learning a lot by building these features turns out this is this is probably harder than we thought”
  • 4:47 “we have already shipped uh bank reconciliation right try to match use llms to match bank records behind the product”
  • 8:10 “prompting is not an exact science right because it’s no one let’s put it that way no one can really predict exactly what the”
  • 10:52 “because this may not be really predictable right you actually need another prompt to to validate in many cases at least right”
  • 12:14 “one of them and kind of a very successful technique is what kind of called few shot learning right and this basically that in”
  • 13:35 “CH for is really just like what humans does right you kind of break break down the problem you you solve small sub parts”
  • 14:15 “let’s think about it step by step it’s really breaking down the you write that in the prompt you simply just put that in”
  • 16:16 “a chat is like it’s it’s a multi-turn of or turn of questions and answers right and the user may clarify or change subject”
  • 19:18 “it tells you how to execute it doesn’t actually execute the code right that’s up to you but it guides you”
  • 19:38 “Hallucination is basically when you don’t give it up to-date information right and the way this whole thing is trained it really wants to”
  • 20:18 “you always feed the data and you can instruct in the prompt that you really only use this data”
  • 20:59 “jailbreak the prompt in getting it to do something else then you know the developer or whoever made this prompt was intended it to”
  • 23:40 “maybe you should not start with the absolutely mind-blowing stuff unless that mind-blowing stuff is really simple I think it’s good to develop a”
  • 25:02 “on Azure there’s also the Azure um open a studio yeah right which is also a it’s very useful tool to kind of construct”

Disclaimers in the video

  • 2:53 not-in-this-release: we don’t talk about it yet we don’t really talk about it yet right but but I I hope we will be able to productize this somewhat soon
  • 23:20 other: we are releasing this tool kit uh for partners and developers - describes toolkit being released for external use

Presenters (as heard): Vincent Nicholas, Michael.