genai_extract_user_prompt function extracts the user’s prompt from a GenAI messages array. It returns the content of the last message with the ‘user’ role, which typically contains the user’s question or request to the AI.
You can use this function to analyze user queries, understand common question patterns, perform sentiment analysis on user inputs, or track user behavior and needs.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.Splunk SPL users
Splunk SPL users
In Splunk SPL, you would need to filter messages by user role and extract the last one.
ANSI SQL users
ANSI SQL users
In ANSI SQL, you would unnest the array, filter by user role, and select the last message.
Usage
Syntax
Parameters
- messages (dynamic, required): An array of message objects from a GenAI conversation. Each message typically contains
roleandcontentfields.
Returns
Returns a string containing the content of the last user message in the conversation, or an empty string if no user message is found.Use case examples
- Log analysis
- OpenTelemetry traces
- Security logs
Extract user prompts to analyze common questions and understand what users are asking your AI application.QueryRun in PlaygroundOutput
This query identifies the most common user questions, helping you understand user needs and improve responses.
| user_query | query_count |
|---|---|
| How do I reset my password? | 456 |
| What are your business hours? | 342 |
| How can I track my order? | 298 |
List of related functions
- genai_extract_assistant_response: Extracts the assistant’s response. Use this to analyze AI responses along with user prompts.
- genai_extract_system_prompt: Extracts the system prompt. Use this to understand the AI’s configuration when analyzing user queries.
- genai_get_content_by_role: Gets content by any role. Use this for more flexible extraction when you need other specific roles.
- genai_concat_contents: Concatenates all messages. Use this when you need the full conversation instead of just the user prompt.
- genai_estimate_tokens: Estimates token count. Combine with user prompt extraction to analyze prompt sizes.