Better error handling
This commit is contained in:
		
							parent
							
								
									7e8b46f042
								
							
						
					
					
						commit
						9682a1dcea
					
				| 
						 | 
				
			
			@ -46,7 +46,7 @@
 | 
			
		|||
  import { openModal } from 'svelte-modals'
 | 
			
		||||
  import PromptInput from './PromptInput.svelte'
 | 
			
		||||
  import { ChatCompletionResponse } from './ChatCompletionResponse.svelte'
 | 
			
		||||
  import { fetchEventSource } from '@microsoft/fetch-event-source'
 | 
			
		||||
  import { EventStreamContentType, fetchEventSource } from '@microsoft/fetch-event-source'
 | 
			
		||||
  import { getApiBase, getEndpointCompletions } from './ApiUtil.svelte'
 | 
			
		||||
 | 
			
		||||
  export let params = { chatId: '' }
 | 
			
		||||
| 
						 | 
				
			
			@ -263,6 +263,7 @@
 | 
			
		|||
          summarizeReq.push(summaryMessage)
 | 
			
		||||
          summaryPromptSize = countPromptTokens(summarizeReq, model)
 | 
			
		||||
 | 
			
		||||
          // Create a message the summary will be loaded into
 | 
			
		||||
          const summaryResponse:Message = {
 | 
			
		||||
            role: 'assistant',
 | 
			
		||||
            content: '',
 | 
			
		||||
| 
						 | 
				
			
			@ -272,7 +273,7 @@
 | 
			
		|||
          }
 | 
			
		||||
          summaryResponse.model = model
 | 
			
		||||
 | 
			
		||||
          // Insert summary prompt
 | 
			
		||||
          // Insert summary completion prompt
 | 
			
		||||
          insertMessages(chatId, endPrompt, [summaryResponse])
 | 
			
		||||
          if (opts.streaming) setTimeout(() => scrollToMessage(summaryResponse.uuid, 150, true, true), 0)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -374,6 +375,8 @@
 | 
			
		|||
 | 
			
		||||
      const signal = controller.signal
 | 
			
		||||
 | 
			
		||||
      console.log('apikey', $apiKeyStorage)
 | 
			
		||||
 | 
			
		||||
      const fetchOptions = {
 | 
			
		||||
        method: 'POST',
 | 
			
		||||
        headers: {
 | 
			
		||||
| 
						 | 
				
			
			@ -422,6 +425,21 @@
 | 
			
		|||
          onerror (err) {
 | 
			
		||||
            console.error(err)
 | 
			
		||||
            throw err
 | 
			
		||||
          },
 | 
			
		||||
          async onopen (response) {
 | 
			
		||||
            if (response.ok && response.headers.get('content-type') === EventStreamContentType) {
 | 
			
		||||
              // everything's good
 | 
			
		||||
            } else {
 | 
			
		||||
              // client-side errors are usually non-retriable:
 | 
			
		||||
              let errorResponse
 | 
			
		||||
              try {
 | 
			
		||||
                const errObj = await response.json()
 | 
			
		||||
                errorResponse = errObj?.error?.code || 'Unexpected Response'
 | 
			
		||||
              } catch (e) {
 | 
			
		||||
                errorResponse = 'Unknown Response'
 | 
			
		||||
              }
 | 
			
		||||
              throw new Error(`${response.status} - ${errorResponse}`)
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(err => {
 | 
			
		||||
          chatResponse.updateFromError(err.message)
 | 
			
		||||
| 
						 | 
				
			
			@ -430,6 +448,16 @@
 | 
			
		|||
      } else {
 | 
			
		||||
        const response = await fetch(getApiBase() + getEndpointCompletions(), fetchOptions)
 | 
			
		||||
        const json = await response.json()
 | 
			
		||||
        if (!response.ok) {
 | 
			
		||||
          // client-side errors are usually non-retriable:
 | 
			
		||||
          let errorResponse
 | 
			
		||||
          try {
 | 
			
		||||
            errorResponse = json?.error?.code || 'Unexpected Response'
 | 
			
		||||
          } catch (e) {
 | 
			
		||||
            errorResponse = 'Unknown Response'
 | 
			
		||||
          }
 | 
			
		||||
          throw new Error(`${response.status} - ${errorResponse}`)
 | 
			
		||||
        }
 | 
			
		||||
  
 | 
			
		||||
        // Remove updating indicator
 | 
			
		||||
        updating = false
 | 
			
		||||
| 
						 | 
				
			
			@ -438,7 +466,7 @@
 | 
			
		|||
        scrollToBottom()
 | 
			
		||||
      }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      console.error(e)
 | 
			
		||||
      // console.error(e)
 | 
			
		||||
      updating = false
 | 
			
		||||
      updatingMessage = ''
 | 
			
		||||
      chatResponse.updateFromError(e.message)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue