AI智能体模板开发流程——详细介绍(三)
·
9. 删除角色
相关代码段
export const deleteAIAgentRoles = async (roleId: string) => {
try {
// deleteAgentRoles
const response = await deleteAI2AgentRoles({
devId: getDevInfo().devId,
roleId,
});
return response;
} catch (err) {
return Promise.reject(err);
}
};
const deleteAIRole = (roleId: string) => {
showLoading({
title: '',
});
deleteAIAgentRoles(roleId)
.then(() => {
hideLoading();
showToast({
title: Strings.getLang('dsc_delete_success'),
icon: 'success',
});
emitter.emit('refreshDialogData', '');
})
.catch((err) => {
hideLoading();
console.log('deleteAIAgentRoles::err::', err);
showToast({
title: Strings.getLang('dsc_delete_fail'),
icon: 'error',
});
});
setUnbindId('-1');
setIsShowUnbindConfirm(false);
};
10. 聊天记录

页面介绍
角色会话记录展示页主要用于展示 C 端用户与智能体角色的对话记录,当 C 端用户暂未与智能体产生对话内容时,模版将会展示空内容提示图文。用户点击智能体会话记录的顶部的卡片后,便可跳转至角色编辑页面。
相关代码段
// 获取角色会话记录
export const getDialogHistoryList = async (params: GetHistoryParams) => {
try {
// getAIAgentHistory
const response = await getAI2AgentEndpointHistory({
devId: getDevInfo().devId,
roleId: params.roleId,
pageNo: params.pageNo,
pageSize: params.pageSize,
startTime: dayjs().subtract(3, 'months').format('YYYY-MM-DD HH:mm:ss'),
endTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
});
return response;
} catch (err) {
return Promise.reject(err);
}
};
const [historyList, setHistoryList] = useState([]);
const getDialogHistoryListFunc = useCallback((params: GetListParams) => {
return new Promise((resolve, reject) => {
getDialogHistoryList({
pageNo: params.current,
pageSize: params.pageSize,
roleId,
startTime: params.startTime,
endTime: params.endTime,
})
.then((res: DialogHistoryRes) => {
const { totalPage, list } = res;
resolve({
total: totalPage,
list,
});
})
.catch(error => {
reject(error);
});
});
}, []);
const { pagination, data, run } = usePagination(
({ current, pageSize, startTime, endTime }) =>
getDialogHistoryListFunc({
current,
pageSize,
startTime,
endTime,
}) as Promise<GetDialogHistory>,
{
manual: true,
}
);
清除上下文
功能说明
该功能主要用于删除一组或多组角色的聊天信息。
相关代码段
// 清除上下文接口 clearAgentHistoryMessage
export const clearAgentHistoryMessage = async (params: any) => {
try {
// deleteAIAgentHistoryMessage
const response = await deleteAI2AgentEndpointHistory({
devId: getDevInfo().devId,
...params,
});
return response;
} catch (err) {
return Promise.reject(err);
}
};
const handleDeleteMessage = async () => {
try {
showLoading({ title: '' });
await clearAgentHistoryMessage({
roleId,
requestIds: selectedItems?.join(','), // requestId 就是 docId
});
const newList = historyList.filter(item => !selectedItems.includes(item.requestId));
setHistoryList(newList);
hideLoading();
showToast({
title: Strings.getLang('dsc_delete_chat_history_tip_new'),
icon: 'success',
});
} catch (err) {
hideLoading();
showToast({
title: Strings.getLang('dsc_delete_chat_history_failed'),
icon: 'error',
});
}
};
清除历史聊天记录
功能说明
该功能主要用于清除 C 端用户与智能体角色之间的聊天记录,并初始化该智能体角色的聊天内容记录。
相关代码段
// 清除历史聊天记录接口
export const clearingHistoryRecord = async (roleId: string) => {
try {
// deleteAIAgentHistory
const response = await clearAI2AgentEndpointHistory({
devId: getDevInfo().devId,
roleId,
});
return response;
} catch (err) {
return Promise.reject(err);
}
};
const handleClearingHistoryRecord = () => {
showModal({
title: '',
content: Strings.getLang('dsc_delete_chat_history'),
confirmText: Strings.getLang('delete'),
cancelText: Strings.getLang('dsc_cancel'),
success: ({ confirm }) => {
if (confirm) {
showLoading({
title: '',
});
clearingHistoryRecord(roleId)
.then(() => {
hideLoading();
showToast({
title: Strings.getLang('dsc_delete_chat_history_tip'),
icon: 'success',
});
navigateBack({});
setTimeout(() => {
emitter.emit('refreshHistoryData', '');
}, 2000);
})
.catch(() => {
hideLoading();
showToast({
title: Strings.getLang('dsc_delete_chat_history_failed'),
icon: 'error',
});
});
}
},
});
};
AI智能体模板开发流程——详细介绍(四)
更多推荐
所有评论(0)