Principle:Groq Groq python Chat Response Parsing
| Knowledge Sources | |
|---|---|
| Domains | NLP, Data_Parsing |
| Last Updated | 2026-02-15 16:00 GMT |
Overview
The process of extracting generated text, tool calls, and metadata from a structured chat completion response object.
Description
Chat Response Parsing involves navigating the structured response returned by a chat completion API to extract the generated content. The response object contains a list of choices (one or more completions), each with a message object containing the generated text and optional tool calls. Additionally, the response includes metadata such as token usage statistics, finish reason, and model-specific information.
Key extraction points:
- Generated text: choices[0].message.content — the primary output
- Finish reason: choices[0].finish_reason — why generation stopped (stop, length, tool_calls)
- Tool calls: choices[0].message.tool_calls — structured tool invocation requests
- Usage statistics: usage.prompt_tokens, usage.completion_tokens — for cost tracking
Usage
Use this principle immediately after receiving a chat completion response. The parsing strategy depends on the finish reason: if tool_calls, execute the requested tools and continue the conversation; if stop or length, extract the text content.
Theoretical Basis
Response parsing follows a structured extraction pattern where a typed object model provides direct attribute access to nested data:
# Abstract response parsing
response = api_call(messages, model)
text = response.choices[0].message.content
finish = response.choices[0].finish_reason
if finish == "tool_calls":
tool_calls = response.choices[0].message.tool_calls
# Execute tools and continue conversation
elif finish in ("stop", "length"):
# Use text as final output
usage = response.usage # Token counts for billing