Conversation Summary enables the summarization of conversations using AI.
Before you begin
Configure AI settings
Set up AI in the CometChat dashboard as detailed in the Overview. Enable Conversation Summary
Go to Chat → Features, under AI User Copilot, enable Conversation Summary.
How does it work?
CometChat AI goes through the messages of a conversation to understand the context of a conversation & provide a short summary of the conversation.
The CometChat SDK has a method to fetch the conversation summary. It returns the conversation summary as a string.
The number of messages used to generate summaries is configurable. By default, CometChat AI uses the latest 1000 messages. You can also use timestamps.
- lastNMessages: Fetch a specific number of recent messages.
- fromTimestamp: Fetch messages from a particular timestamp.
- toTimestamp: Fetch messages up to a particular timestamp.
- unreadOnly: Fetch only unread messages.
While using any configuration mentioned above a maximum of only 1000 messages will be fetched.
Implementation
SDKs
To implement Conversation Summary in the platform of your choice, you may utilize the following code samples:
const receiverId = "UID/GUID";
const receiverType = "user/group";
const configuration = { lastNMessages: 100 };
CometChat.getConversationSummary(receiverId, receiverType, configuration).then(
(conversationSummary) => {
console.log("Conversation Summary:", conversationSummary);
},
(error) => {
console.log(
"An error occurred while fetching conversation summary.",
error
);
}
);
String receiverId = 'UID/GUID';
String receiverType = CometChatConstants.RECEIVER_TYPE_USER; //'user/group'
JSONObject configuration = new JSONObject();
try {
configuration.put("lastNMessages", 100);
} catch (JSONException e) {
throw new RuntimeException(e);
}
CometChat.getConversationSummary(receiverId, receiverType,c onfiguration, new CometChat.CallbackListener<String>() {
@Override
public void onSuccess(String s) {
Logger.error(TAG, s);
}
@Override
public void onError(CometChatException e) {
Logger.error(TAG, e.getMessage());
}
});
val receiverId = "UID/GUID"
val receiverType = CometChatConstants.RECEIVER_TYPE_USER // 'user/group'
val configuration = JSONObject()
try {
configuration.put("lastNMessages", 100)
} catch (e: JSONException) {
throw RuntimeException(e)
}
CometChat.getConversationSummary(receiverId, receiverType, configuration,
object : CometChat.CallbackListener<String>() {
override fun onSuccess(s: String) {
Log.e(TAG, s)
}
override fun onError(e: CometChatException) {
Log.e(TAG, e.localizedMessage)
}
})
let receiverId = ""
let receiverType = CometChat.ReceiverType.group
let configuration = [ "lastNMessages": 100 ]
CometChat.getConversationSummary(receiverId: receiverId, receiverType: receiverType, configuration: configuration) { summary in
print("getConversationSummary success: \(summary)")
} onError: { error in
print("getConversationSummary error: \(error?.errorDescription)")
}
String receiveId = "";
String receiverType = CometChatConversationType.user;
Map configuration = { "lastNMessages": 100 };
CometChat.getConversationSummary(receiveId, receiverType, configuration: configuration, onSuccess:(String summary) {
debugPrint("getConversationSummary Success: $summary");
}, onError: (CometChatException e) {
debugPrint("getConversationSummary error: $e");
});
UI Kits
Assuming the necessary prerequisites are met, Conversation Summary functions seamlessly starting from v4 of the Chat UI Kits. The placement of the AI icon may vary based on the version. Clicking on the icon will display the Conversation Summary.