This page details how to use ChatSonic's memory functionality in API
ChatSonic can maintain the context of your conversations just like you would with a person. It remembers past questions or comments in your conversation and can easily answer follow-up questions.
Field format
Here is how to use ChatSonic's memory functionality in API
- set
enable_memoryfield totrue - add previous conversations to the
history_datain the following format
[{
"is_sent": bool,
"message": string
}]
- purpose of
is_sentfield is to flag whethermessageis a user prompt or ChatSonic response - set
is_senttotruefor user prompt - set
is_senttofalsefor ChatSonic response
Example
Let's try this with an example
STEP 1
- Let's first ask ChatSonic
Who is the President of the United States? - since this is the first message,
history_datais an empty array of objects
// REQUEST BODY
{
"enable_memory": true,
"enable_google_results": true,
"input_text": "Who is the President of the United States?",
"history_data": []
}
// RESPONSE BODY
{
"message": "The 46th and current President of the United States is Joseph R. Biden, Jr., who was sworn in on January 20, 2021.",
"image_urls": null
}
STEP 2
- Now, let's ask
When was he born? - Ensure to pass the previous prompt and response in the
history_datafield is_sentis set astruefor user promptis_sentis set asfalsefor ChatSonic response
// REQUEST BODY
{
"enable_memory": true,
"enable_google_results": true,
"input_text": "When was he born?",
"history_data": [
{
"is_sent": true,
"message": "Who is the President of the United States?"
},
{
"is_sent": false,
"message": "The 46th and current President of the United States is Joseph R. Biden, Jr., who was sworn in on January 20, 2021."
}
]
}
// RESPONSE BODY
{
"message": "Joseph Robinette Biden Jr. was born on November 20, 1942, in Scranton, Pennsylvania.",
"image_urls": null
}
STEP 3
- Now, let's ask
What is his favorite sports team? - Ensure to pass the previous prompt and response in the
history_datafield is_sentis set astruefor user promptis_sentis set asfalsefor ChatSonic response
// REQUEST BODY
{
"enable_memory": true,
"enable_google_results": true,
"input_text": "What is his favorite sports team?",
"history_data": [
{
"is_sent": true,
"message": "Who is the President of the United States?"
},
{
"is_sent": false,
"message": "The 46th and current President of the United States is Joseph R. Biden, Jr., who was sworn in on January 20, 2021."
},
{
"is_sent": true,
"message": "When was he born?"
},
{
"is_sent": false,
"message": "Joseph Robinette Biden Jr. was born on November 20, 1942, in Scranton, Pennsylvania."
}
]
}
// RESPONSE BODY
{
"message": "Joe Biden is a Pennsylvania and Delaware native, and he roots for the Philadelphia Eagles. Biden was at Super Bowl LII cheering for his team with his family.",
"image_urls": null
}