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