Text generation - quickstart
About text generation
Section titled “About text generation”Cohere's Command family of LLMs are available via the Chat endpoint. This endpoint enables you to build generative AI applications and facilitates a conversational interface for building chatbots.
This quickstart guide shows you how to perform text generation with the Chat endpoint.
Setup
First, install the Cohere Python SDK with the following command.
Bash pip install -U cohereNext, import the library and create a client.
PYTHON import cohere co = cohere.ClientV2( "COHERE_API_KEY" ) # Get your free API key here: https://dashboard.cohere.com/api-keysPYTHON import cohere co = cohere.ClientV2( api_key="", # Leave this blank base_url="<YOUR_DEPLOYMENT_URL>", )PYTHON import cohere co = cohere.BedrockClientV2( aws_region="AWS_REGION", aws_access_key="AWS_ACCESS_KEY_ID", aws_secret_key="AWS_SECRET_ACCESS_KEY", aws_session_token="AWS_SESSION_TOKEN", ) # Get the model name: https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.htmlPYTHON import cohere co = cohere.SagemakerClientV2( aws_region="AWS_REGION", aws_access_key="AWS_ACCESS_KEY_ID", aws_secret_key="AWS_SECRET_ACCESS_KEY", aws_session_token="AWS_SESSION_TOKEN", )PYTHON import cohere co = cohere.ClientV2( api_key="AZURE_API_KEY", base_url="AZURE_ENDPOINT", # example: "https://cohere-command-r-plus-08-2024-xyz.eastus.models.ai.azure.com/" )Basic Text Generation
To perform a basic text generation, call the Chat endpoint by passing the
messagesparameter containing theusermessage.With reasoning models such as Command A+, the response
contentlist can include athinkingblock before the finaltextblock. Iterate over the content items and check each item'stypeinstead of assumingcontent[0]is text. For more information, see the Reasoning page.PYTHON response = co.chat( model="command-a-plus-05-2026", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON response = co.chat( model="command-a-plus-05-2026", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON response = co.chat( model="YOUR_MODEL_NAME", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON response = co.chat( model="YOUR_ENDPOINT_NAME", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON response = co.chat( model="model", # Pass a dummy string messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)wordWrap "Excited to be part of the Co1t team, I'm [Your Name], a [Your Role], passionate about [Your Area of Expertise] and looking forward to contributing to the company's success."State Management
To maintain the state of a conversation, such as for building chatbots, append a sequence of
userandassistantmessages to themessageslist. You can also include asystemmessage at the start of the list to set the context of the conversation.PYTHON messages = [ { "role": "system", "content": "You respond in concise sentences.", }, {"role": "user", "content": "Hello"}, ] # User sends a message response = co.chat( model="command-a-plus-05-2026", messages=messages, ) # The model responds for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print( "text:", content_item.text ) # Hi, how can I help you today? # Append the model's response to the messages messages.append(response.message) # append another user message to the messages messages.append( { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ) # get the model's second response response = co.chat( model="command-a-plus-05-2026", messages=messages, ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON messages = [ { "role": "system", "content": "You respond in concise sentences.", }, {"role": "user", "content": "Hello"}, ] # User sends a message response = co.chat( model="command-a-plus-05-2026", messages=messages, ) # The model responds for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print( "text:", content_item.text ) # Hi, how can I help you today? # Append the model's response to the messages messages.append(response.message) # append another user message to the messages messages.append( { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ) # get the model's second response response = co.chat( model="command-a-plus-05-2026", messages=messages, ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON messages = [ { "role": "system", "content": "You respond in concise sentences.", }, {"role": "user", "content": "Hello"}, ] # User sends a message response = co.chat( model="YOUR_MODEL_NAME", messages=messages, ) # The model responds for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print( "text:", content_item.text ) # Hi, how can I help you today? # Append the model's response to the messages messages.append(response.message) # append another user message to the messages messages.append( { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ) # get the model's second response response = co.chat( model="YOUR_MODEL_NAME", messages=messages, ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON messages = [ { "role": "system", "content": "You respond in concise sentences.", }, {"role": "user", "content": "Hello"}, ] # User sends a message response = co.chat( model="YOUR_ENDPOINT_NAME", messages=messages, ) # The model responds for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print( "text:", content_item.text ) # Hi, how can I help you today? # Append the model's response to the messages messages.append(response.message) # append another user message to the messages messages.append( { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ) # get the model's second response response = co.chat( model="YOUR_ENDPOINT_NAME", messages=messages, ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)PYTHON messages = [ { "role": "system", "content": "You respond in concise sentences.", }, {"role": "user", "content": "Hello"}, ] # User sends a message response = co.chat( model="model", # Pass a dummy string messages=messages, ) # The model responds for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print( "text:", content_item.text ) # Hi, how can I help you today? # Append the model's response to the messages messages.append(response.message) # append another user message to the messages messages.append( { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ) # get the model's second response response = co.chat( model="model", # Pass a dummy string messages=messages, ) for content_item in response.message.content: if content_item.type == "thinking": print("thinking:", content_item.thinking) if content_item.type == "text": print("text:", content_item.text)wordWrap "Excited to join the team at Co1t, looking forward to contributing my skills and collaborating with everyone!"Streaming
To stream text generation, call the Chat endpoint using
chat_streaminstead ofchat. This returns a generator that yieldschunkobjects, which you can access the generated text from.PYTHON res = co.chat_stream( model="command-a-plus-05-2026", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for chunk in res: if chunk.type == "content-delta": if chunk.delta.message.content.thinking: print(chunk.delta.message.content.thinking, end="") if chunk.delta.message.content.text: print(chunk.delta.message.content.text, end="")PYTHON res = co.chat_stream( model="command-a-plus-05-2026", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for chunk in res: if chunk.type == "content-delta": if chunk.delta.message.content.thinking: print(chunk.delta.message.content.thinking, end="") if chunk.delta.message.content.text: print(chunk.delta.message.content.text, end="")PYTHON res = co.chat_stream( model="YOUR_MODEL_NAME", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for chunk in res: if chunk.type == "content-delta": if chunk.delta.message.content.thinking: print(chunk.delta.message.content.thinking, end="") if chunk.delta.message.content.text: print(chunk.delta.message.content.text, end="")PYTHON res = co.chat_stream( model="YOUR_ENDPOINT_NAME", messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for chunk in res: if chunk.type == "content-delta": if chunk.delta.message.content.thinking: print(chunk.delta.message.content.thinking, end="") if chunk.delta.message.content.text: print(chunk.delta.message.content.text, end="")PYTHON res = co.chat_stream( model="model", # Pass a dummy string messages=[ { "role": "user", "content": "I'm joining a new startup called Co1t today. Could you help me write a one-sentence introduction message to my teammates.", } ], ) for chunk in res: if chunk.type == "content-delta": if chunk.delta.message.content.thinking: print(chunk.delta.message.content.thinking, end="") if chunk.delta.message.content.text: print(chunk.delta.message.content.text, end="")wordWrap "Excited to be part of the Co1t team, I'm [Your Name], a [Your Role/Position], looking forward to contributing my skills and collaborating with this talented group to drive innovation and success."