An assistant message contains a response generated by a language model. In a prompt, it represents the model’s contribution to the conversation and appears alongside user, system, and tool messages. section 3.3
Assistant messages serve two distinct purposes:
- They carry natural-language answers when the model finishes with stop. section 6.1.2
- They can request tool execution through tool_calls when the model needs application-provided help; content may then be null and finish_reason becomes tool_calls. section 6.1.2
- They preserve the model’s earlier response when the application sends a follow-up request containing the tool result. section 6.1.2
Tool-driven assistant message
For a question about the current time in Jal, New Mexico, the assistant message requests getCurrentTime with the America/Denver time zone. After the tool result is added, a later assistant message provides the final time. section 6.1.2
Figure 6.1 Tool invocation involves a multipart conversation between the application and the LLM.
Trace the multipart conversation linking the user question, assistant tool request, tool result, and final assistant answer. section 6.1.2


