fix: should not attach error messages to the completion request (#2258)
This commit is contained in:
parent
9dc4ede692
commit
7556430693
@ -43,7 +43,7 @@ export function requestInference(
|
||||
if (!response.ok) {
|
||||
const data = await response.json()
|
||||
const error = {
|
||||
message: data.error?.message ?? 'Error occurred.',
|
||||
message: data.error?.message ?? 'An error occurred.',
|
||||
code: data.error?.code ?? ErrorCode.Unknown,
|
||||
}
|
||||
subscriber.error(error)
|
||||
|
||||
@ -210,7 +210,7 @@ export default class JanInferenceOpenAIExtension extends BaseExtension {
|
||||
const messageContent: ThreadContent = {
|
||||
type: ContentType.Text,
|
||||
text: {
|
||||
value: 'Error occurred: ' + err.message,
|
||||
value: 'An error occurred. ' + err.message,
|
||||
annotations: [],
|
||||
},
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ export default class JanInferenceTritonTrtLLMExtension extends BaseExtension {
|
||||
const messageContent: ThreadContent = {
|
||||
type: ContentType.Text,
|
||||
text: {
|
||||
value: 'Error occurred: ' + err.message,
|
||||
value: 'An error occurred. ' + err.message,
|
||||
annotations: [],
|
||||
},
|
||||
}
|
||||
|
||||
@ -110,7 +110,10 @@ export const deleteMessageAtom = atom(null, (get, set, id: string) => {
|
||||
}
|
||||
const threadId = get(getActiveThreadIdAtom)
|
||||
if (threadId) {
|
||||
newData[threadId] = newData[threadId].filter((e) => e.id !== id)
|
||||
// Should also delete error messages to clear out the error state
|
||||
newData[threadId] = newData[threadId].filter(
|
||||
(e) => e.id !== id && e.status !== MessageStatus.Error
|
||||
)
|
||||
set(chatMessages, newData)
|
||||
}
|
||||
})
|
||||
|
||||
@ -109,8 +109,9 @@ export default function useSendChatMessage() {
|
||||
currentMessages
|
||||
.filter(
|
||||
(e) =>
|
||||
currentMessage.role === ChatCompletionRole.User ||
|
||||
e.id !== currentMessage.id
|
||||
(currentMessage.role === ChatCompletionRole.User ||
|
||||
e.id !== currentMessage.id) &&
|
||||
e.status !== MessageStatus.Error
|
||||
)
|
||||
.map<ChatCompletionMessage>((msg) => ({
|
||||
role: msg.role,
|
||||
@ -198,6 +199,7 @@ export default function useSendChatMessage() {
|
||||
})
|
||||
.concat(
|
||||
currentMessages
|
||||
.filter((e) => e.status !== MessageStatus.Error)
|
||||
.map<ChatCompletionMessage>((msg) => ({
|
||||
role: msg.role,
|
||||
content: msg.content[0]?.text.value ?? '',
|
||||
|
||||
@ -27,7 +27,10 @@ const ErrorMessage = ({ message }: { message: ThreadMessage }) => {
|
||||
resendChatMessage(message)
|
||||
}
|
||||
|
||||
const errorTitle = getErrorTitle(message.error_code ?? ErrorCode.Unknown)
|
||||
const errorTitle = getErrorTitle(
|
||||
message.error_code ?? ErrorCode.Unknown,
|
||||
message.content[0]?.text?.value
|
||||
)
|
||||
|
||||
return (
|
||||
<div className="mt-10">
|
||||
|
||||
@ -39,11 +39,14 @@ const MessageToolbar = ({ message }: { message: ThreadMessage }) => {
|
||||
const onDeleteClick = async () => {
|
||||
deleteMessage(message.id ?? '')
|
||||
if (thread) {
|
||||
// Should also delete error messages to clear out the error state
|
||||
await extensionManager
|
||||
.get<ConversationalExtension>(ExtensionTypeEnum.Conversational)
|
||||
?.writeMessages(
|
||||
thread.id,
|
||||
messages.filter((msg) => msg.id !== message.id)
|
||||
messages.filter(
|
||||
(msg) => msg.id !== message.id && msg.status !== MessageStatus.Error
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,7 +21,7 @@ const ModalErrorSetDestGlobal = () => {
|
||||
<ModalPortal />
|
||||
<ModalContent>
|
||||
<ModalHeader>
|
||||
<ModalTitle>Error Occurred</ModalTitle>
|
||||
<ModalTitle>An Error Occurred</ModalTitle>
|
||||
</ModalHeader>
|
||||
<p className="text-muted-foreground">
|
||||
Oops! Something went wrong. Jan data folder remains the same. Please
|
||||
|
||||
@ -1,11 +1,15 @@
|
||||
import { ErrorCode } from '@janhq/core'
|
||||
|
||||
export const getErrorTitle = (errorCode: ErrorCode) => {
|
||||
if (errorCode === ErrorCode.Unknown) {
|
||||
return 'Apologies, something’s amiss!'
|
||||
}
|
||||
|
||||
if (errorCode === ErrorCode.InvalidApiKey) {
|
||||
return 'Invalid API key. Please check your API key and try again.'
|
||||
export const getErrorTitle = (
|
||||
errorCode: ErrorCode,
|
||||
errorMessage: string | undefined
|
||||
) => {
|
||||
switch (errorCode) {
|
||||
case ErrorCode.Unknown:
|
||||
return 'Apologies, something’s amiss!'
|
||||
case ErrorCode.InvalidApiKey:
|
||||
return 'Invalid API key. Please check your API key and try again.'
|
||||
default:
|
||||
return errorMessage
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user