fix: regenerate message use assistant model

This commit is contained in:
kangfenmao 2025-05-12 20:28:51 +08:00
parent 69ccd2aa32
commit f642cfb3ba
4 changed files with 9 additions and 4 deletions

View File

@ -11,22 +11,25 @@ interface Props {
const ErrorBlock: React.FC<Props> = ({ block }) => { const ErrorBlock: React.FC<Props> = ({ block }) => {
return <MessageErrorInfo block={block} /> return <MessageErrorInfo block={block} />
} }
const MessageErrorInfo: React.FC<{ block: ErrorMessageBlock }> = ({ block }) => { const MessageErrorInfo: React.FC<{ block: ErrorMessageBlock }> = ({ block }) => {
const { t, i18n } = useTranslation() const { t, i18n } = useTranslation()
const HTTP_ERROR_CODES = [400, 401, 403, 404, 429, 500, 502, 503, 504] const HTTP_ERROR_CODES = [400, 401, 403, 404, 429, 500, 502, 503, 504]
if (block.error && HTTP_ERROR_CODES.includes(block.error?.status)) { if (block.error && HTTP_ERROR_CODES.includes(block.error?.status)) {
return <Alert description={t(`error.http.${block.error.status}`)} message={block.error?.message} type="error" /> return <Alert description={t(`error.http.${block.error.status}`)} message={block.error?.message} type="error" />
} }
if (block?.error?.message) { if (block?.error?.message) {
const errorKey = `error.${block.error.message}` const errorKey = `error.${block.error.message}`
const pauseErrorLanguagePlaceholder = i18n.exists(errorKey) ? t(errorKey) : block.error.message const pauseErrorLanguagePlaceholder = i18n.exists(errorKey) ? t(errorKey) : block.error.message
return <Alert description={pauseErrorLanguagePlaceholder} type="error" /> return <Alert description={pauseErrorLanguagePlaceholder} type="error" />
} }
return <Alert description={t('error.chat.response')} type="error" /> return <Alert description={t('error.chat.response')} type="error" />
} }
const Alert = styled(AntdAlert)` const Alert = styled(AntdAlert)`
margin: 15px 0 8px; margin: 15px 0 8px;
padding: 10px; padding: 10px;

View File

@ -136,7 +136,6 @@ const ThinkingBlock: React.FC<Props> = ({ block }) => {
const CollapseContainer = styled(Collapse)` const CollapseContainer = styled(Collapse)`
margin-bottom: 15px; margin-bottom: 15px;
max-width: 960px;
` `
const MessageTitleLabel = styled.div` const MessageTitleLabel = styled.div`

View File

@ -989,8 +989,11 @@ export const regenerateAssistantResponseThunk =
// 5. Reset the message entity in Redux // 5. Reset the message entity in Redux
const resetAssistantMsg = resetAssistantMessage(messageToResetEntity, { const resetAssistantMsg = resetAssistantMessage(messageToResetEntity, {
status: AssistantMessageStatus.PENDING, status: AssistantMessageStatus.PENDING,
updatedAt: new Date().toISOString() updatedAt: new Date().toISOString(),
model: assistant.model,
modelId: assistant?.model?.id
}) })
dispatch( dispatch(
newMessagesActions.updateMessage({ newMessagesActions.updateMessage({
topicId, topicId,

View File

@ -388,7 +388,7 @@ export function resetMessage(
*/ */
export const resetAssistantMessage = ( export const resetAssistantMessage = (
originalMessage: Message, originalMessage: Message,
updates?: Partial<Pick<Message, 'status' | 'updatedAt'>> // Primarily allow updating status updates?: Partial<Pick<Message, 'status' | 'updatedAt' | 'model' | 'modelId'>> // Primarily allow updating status
): Message => { ): Message => {
// Ensure we are only resetting assistant messages // Ensure we are only resetting assistant messages
if (originalMessage.role !== 'assistant') { if (originalMessage.role !== 'assistant') {