Improve error handling

This commit is contained in:
Webifi 2023-06-09 18:37:07 -05:00
parent 15e988758f
commit f56317bb8a
1 changed files with 19 additions and 10 deletions

View File

@ -191,6 +191,7 @@
const hiddenPromptPrefix = mergeProfileFields(chatSettings, chatSettings.hiddenPromptPrefix).trim() const hiddenPromptPrefix = mergeProfileFields(chatSettings, chatSettings.hiddenPromptPrefix).trim()
if (hiddenPromptPrefix && filtered.length && filtered[filtered.length - 1].role === 'user') { if (hiddenPromptPrefix && filtered.length && filtered[filtered.length - 1].role === 'user') {
// update estimate with hiddenPromptPrefix token count
promptTokenCount += encode(hiddenPromptPrefix + '\n\n').length promptTokenCount += encode(hiddenPromptPrefix + '\n\n').length
} }
@ -346,17 +347,21 @@
} }
} }
const messagePayload = filtered.map((m, i) => {
const r = { role: m.role, content: m.content }
if (i === filtered.length - 1 && m.role === 'user' && hiddenPromptPrefix && !opts.summaryRequest) {
// If the last prompt is a user prompt, and we have a hiddenPromptPrefix, inject it
r.content = hiddenPromptPrefix + '\n\n' + m.content
}
return r
}) as Message[]
// Update token count with actual
promptTokenCount = countPromptTokens(messagePayload, model)
try { try {
const request: Request = { const request: Request = {
messages: filtered.map((m, i) => { messages: messagePayload,
const r = { role: m.role, content: m.content }
if (i === filtered.length - 1 && m.role === 'user' && hiddenPromptPrefix && !opts.summaryRequest) {
// If the last prompt is a user prompt, and we have a hiddenPromptPrefix, inject it
r.content = hiddenPromptPrefix + '\n\n' + m.content
}
return r
}) as Message[],
// Provide the settings by mapping the settingsMap to key/value pairs // Provide the settings by mapping the settingsMap to key/value pairs
...getRequestSettingList().reduce((acc, setting) => { ...getRequestSettingList().reduce((acc, setting) => {
const key = setting.key const key = setting.key
@ -403,7 +408,11 @@
let errorResponse let errorResponse
try { try {
const errObj = await response.json() const errObj = await response.json()
errorResponse = errObj?.error?.code || 'Unexpected Response' errorResponse = errObj?.error?.code
if (!errorResponse && response.choices && response.choices[0]) {
errorResponse = response.choices[0]?.message?.content
}
errorResponse = errorResponse || 'Unexpected Response'
} catch (e) { } catch (e) {
errorResponse = 'Unknown Response' errorResponse = 'Unknown Response'
} }