genai_extract_function_results
This page explains how to use the genai_extract_function_results function in APL.
The genai_extract_function_results function extracts function call results from GenAI messages. When an AI model uses function calling (also known as tool calling), the results are stored in specific message roles. This function retrieves those results for analysis.
You can use this function to monitor function call outcomes, debug tool integrations, analyze API usage patterns, or track the effectiveness of function calls in AI workflows.
Usage
Syntax
genai_extract_function_results(messages)Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| messages | dynamic | Yes | An array of message objects from a GenAI conversation. Each message typically contains role and content fields. |
Returns
Returns a dynamic object containing the function call results from the conversation, or null if no function results are found.
Example
Extract function call results from a GenAI conversation to analyze tool execution outcomes.
Query
['otel-demo-genai']
| extend function_results = genai_extract_function_results(['attributes.gen_ai.input.messages'])
| where isnotnull(function_results)
| project _time, function_results
| limit 3Output
| _time | function_results |
|---|---|
| 2024-01-15T10:30:00Z | {"status": "success", "data": {"temperature": 72, "humidity": 45}} |
| 2024-01-15T10:31:00Z | {"status": "success", "data": {"balance": 1250.50}} |
This query shows function call results, helping you understand tool execution performance and outcomes.
List of related functions
- genai_extract_tool_calls: Extracts the tool call requests. Use this to see what functions were requested, while genai_extract_function_results shows the results.
- genai_has_tool_calls: Checks if messages contain tool calls. Use this to filter conversations that use function calling.
- genai_get_content_by_role: Gets content by specific role. Use this for more granular extraction when you need specific role messages.
- genai_extract_assistant_response: Extracts assistant responses. Use this when you need the AI's text response instead of function results.