Add aggressive stop setting
This commit is contained in:
		
							parent
							
								
									b0812796a1
								
							
						
					
					
						commit
						1ef08110c3
					
				| 
						 | 
				
			
			@ -109,7 +109,6 @@ export const runPetalsCompletionRequest = async (
 | 
			
		|||
              chatResponse.updateFromError(err.message)
 | 
			
		||||
              throw err
 | 
			
		||||
            }
 | 
			
		||||
            window.setTimeout(() => {
 | 
			
		||||
            chatResponse.updateFromAsyncResponse(
 | 
			
		||||
                {
 | 
			
		||||
                  model,
 | 
			
		||||
| 
						 | 
				
			
			@ -122,7 +121,26 @@ export const runPetalsCompletionRequest = async (
 | 
			
		|||
                  }]
 | 
			
		||||
                } as any
 | 
			
		||||
            )
 | 
			
		||||
            }, 1)
 | 
			
		||||
            if (chat.settings.aggressiveStop && !response.stop) {
 | 
			
		||||
              // check if we should've stopped
 | 
			
		||||
              const message = chatResponse.getMessages()[0]
 | 
			
		||||
              const pad = 10 // look back 10 characters + stop sequence
 | 
			
		||||
              if (message) {
 | 
			
		||||
                const mc = (message.content).trim()
 | 
			
		||||
                for (let i = 0, l = stopSequences.length; i < l; i++) {
 | 
			
		||||
                  const ss = stopSequences[i].trim()
 | 
			
		||||
                  const ind = mc.slice(0 - (ss.length + pad)).indexOf(ss)
 | 
			
		||||
                  if (ind > -1) {
 | 
			
		||||
                    const offset = (ss.length + pad) - ind
 | 
			
		||||
                    message.content = mc.slice(0, mc.length - offset)
 | 
			
		||||
                    response.stop = true
 | 
			
		||||
                    updateMessages(chat.id)
 | 
			
		||||
                    chatResponse.finish()
 | 
			
		||||
                    ws.close()
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        ws.onclose = () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,6 +110,7 @@ const defaults:ChatSettings = {
 | 
			
		|||
  hppWithSummaryPrompt: false,
 | 
			
		||||
  imageGenerationSize: '',
 | 
			
		||||
  stopSequence: '',
 | 
			
		||||
  aggressiveStop: false,
 | 
			
		||||
  userMessageStart: '',
 | 
			
		||||
  assistantMessageStart: '',
 | 
			
		||||
  systemMessageStart: '',
 | 
			
		||||
| 
						 | 
				
			
			@ -524,6 +525,13 @@ const chatSettingsList: ChatSetting[] = [
 | 
			
		|||
        },
 | 
			
		||||
        hide: isNotPetals
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: 'aggressiveStop',
 | 
			
		||||
        name: 'Use aggressive stop',
 | 
			
		||||
        title: 'Sometimes generation con continue even after a stop sequence. This will stop generation client side if generation continues after stop sequence.',
 | 
			
		||||
        type: 'boolean',
 | 
			
		||||
        hide: isNotPetals
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: 'userMessageStart',
 | 
			
		||||
        name: 'User Message Start Sequence',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -114,6 +114,7 @@ export type ChatSettings = {
 | 
			
		|||
    useResponseAlteration?: boolean;
 | 
			
		||||
    responseAlterations?: ResponseAlteration[];
 | 
			
		||||
    stopSequence: string;
 | 
			
		||||
    aggressiveStop: boolean;
 | 
			
		||||
    userMessageStart: string;
 | 
			
		||||
    assistantMessageStart: string;
 | 
			
		||||
    systemMessageStart: string;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue