How to list your chat messages

The messages parameter defines your entire conversation so far — this is how you “teach” the model what has happened in the chat.

Each message is an object with two fields:

KeyValue
role"system", "user", or "assistant"
contentThe message text (string)

Why is this important?

  • The model uses the conversation history to generate context-aware replies.
  • The order of the messages matters — the model reads them top to bottom.
  • Including previous assistant responses helps the model maintain coherence and memory.

Roles explained:

  • system (Optional, but Recommended)
    Sets initial behavior, tone, or instructions for the assistant.
    Example: "You are a helpful assistant."

  • user (Required)
    Represents questions, requests, or inputs from the user.
    Example: "Tell me about Indian classical music."

  • assistant (Optional, only for context in multi-turn)
    Contains previous replies from the model, which help it stay consistent in tone and content.
    Example: "Indian classical music is one of the oldest musical traditions..."

Example: Listing messages in a conversation

1# Install SarvamAI
2!pip install -Uqq sarvamai
3from sarvamai import SarvamAI
1# Initialize the SarvamAI client with your API key
2client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")
1# Example1: Default example - single "user" message which is required (no prior context)
2response = client.chat.completions(
3 messages=[
4 {"role": "user", "content": "Hey, what is the capital of India?"}
5 ]
6)
1# Example2: Multi-turn example — maintaining conversation context
2response = client.chat.completions(
3 messages=[
4 {"role": "system", "content": "You are a helpful assistant."},
5 {"role": "user", "content": "Tell me about Indian classical music."},
6 {"role": "assistant", "content": "Indian classical music is one of the oldest musical traditions in the world, with roots in ancient texts like the Natya Shastra."},
7 {"role": "user", "content": "What are the two main styles?"}
8 ]
9)
1# Receive assistant's reply as output.
2print(response.choices[0].message.content)