Handle some more API errors
This commit is contained in:
parent
67044b362c
commit
ef74fd5e31
|
@ -11,9 +11,7 @@
|
||||||
getMessage,
|
getMessage,
|
||||||
currentChatMessages,
|
currentChatMessages,
|
||||||
setCurrentChat,
|
setCurrentChat,
|
||||||
|
|
||||||
currentChatId
|
currentChatId
|
||||||
|
|
||||||
} from './Storage.svelte'
|
} from './Storage.svelte'
|
||||||
import {
|
import {
|
||||||
type Message,
|
type Message,
|
||||||
|
|
|
@ -90,7 +90,10 @@ export class ChatCompletionResponse {
|
||||||
|
|
||||||
updateFromSyncResponse (response: Response) {
|
updateFromSyncResponse (response: Response) {
|
||||||
this.setModel(response.model)
|
this.setModel(response.model)
|
||||||
response.choices.forEach((choice, i) => {
|
if (!response.choices) {
|
||||||
|
return this.updateFromError(response?.error?.message || 'unexpected response from API')
|
||||||
|
}
|
||||||
|
response.choices?.forEach((choice, i) => {
|
||||||
const exitingMessage = this.messages[i]
|
const exitingMessage = this.messages[i]
|
||||||
const message = exitingMessage || choice.message
|
const message = exitingMessage || choice.message
|
||||||
if (exitingMessage) {
|
if (exitingMessage) {
|
||||||
|
@ -121,7 +124,10 @@ export class ChatCompletionResponse {
|
||||||
updateFromAsyncResponse (response: Response) {
|
updateFromAsyncResponse (response: Response) {
|
||||||
let completionTokenCount = 0
|
let completionTokenCount = 0
|
||||||
this.setModel(response.model)
|
this.setModel(response.model)
|
||||||
response.choices.forEach((choice, i) => {
|
if (!response.choices) {
|
||||||
|
return this.updateFromError(response?.error?.message || 'unexpected streaming response from API')
|
||||||
|
}
|
||||||
|
response.choices?.forEach((choice, i) => {
|
||||||
const message = this.messages[i] || {
|
const message = this.messages[i] || {
|
||||||
role: 'assistant',
|
role: 'assistant',
|
||||||
content: '',
|
content: '',
|
||||||
|
|
|
@ -451,7 +451,7 @@ export class ChatRequest {
|
||||||
...overrides
|
...overrides
|
||||||
} as ChatSettings)
|
} as ChatSettings)
|
||||||
// Wait for the response to complete
|
// Wait for the response to complete
|
||||||
if (!summary.hasFinished()) await summary.promiseToFinish()
|
if (!summary.hasError() && !summary.hasFinished()) await summary.promiseToFinish()
|
||||||
if (summary.hasError()) {
|
if (summary.hasError()) {
|
||||||
// Failed for some API issue. let the original caller handle it.
|
// Failed for some API issue. let the original caller handle it.
|
||||||
_this.updating = false
|
_this.updating = false
|
||||||
|
|
Loading…
Reference in New Issue