genai_extract_system_prompt

This page explains how to use the genai_extract_system_prompt function in APL.

The genai_extract_system_prompt function extracts the system prompt from a GenAI messages array. The system prompt typically contains instructions that define the AI assistant’s behavior, personality, and capabilities. It’s usually the first message with role 'system'.

You can use this function to audit AI behavior configurations, monitor prompt changes, analyze consistency across conversations, or validate that correct system instructions are being used.

Usage

Syntax

genai_extract_system_prompt(messages)

Parameters

NameTypeRequiredDescription
messagesdynamicYesAn array of message objects from a GenAI conversation. Each message typically contains role and content fields.

Returns

Returns a string containing the content of the system message, or an empty string if no system message is found.

Example

Extract the system prompt from a GenAI conversation to verify AI configuration.

Query

['otel-demo-genai']
| extend system_prompt = genai_extract_system_prompt(['attributes.gen_ai.input.messages'])
| where isnotempty(system_prompt)
| summarize conversation_count = count() by system_prompt
| top 3 by conversation_count

Run in Playground

Output

system_promptconversation_count
You are a helpful customer service assistant.1250
You are a technical support expert specializing in software troubleshooting.845

This query helps you understand which system prompts are most commonly used and track prompt variations.

  • genai_extract_user_prompt: Extracts the user's prompt. Use this to analyze what users are asking, while system prompts define AI behavior.
  • genai_extract_assistant_response: Extracts the assistant's response. Use this to see how the AI responded based on the system prompt.
  • genai_get_content_by_role: Gets content by any role. Use this for more flexible extraction when you need other specific roles.
  • genai_message_roles: Lists all message roles. Use this to understand conversation structure and verify system message presence.

Other query languages