Fix typo
This commit is contained in:
		
							parent
							
								
									cb2b9e07f4
								
							
						
					
					
						commit
						f523f8d4bc
					
				| 
						 | 
				
			
			@ -70,8 +70,8 @@ export const getStopSequence = (chat: Chat): string => {
 | 
			
		|||
    return chat.settings.stopSequence || valueOf(chat.id, getChatSettingObjectByKey('stopSequence').placeholder)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const getDeliminator = (chat: Chat): string => {
 | 
			
		||||
    return chat.settings.deliminator || valueOf(chat.id, getChatSettingObjectByKey('deliminator').placeholder)
 | 
			
		||||
export const getDelimiter = (chat: Chat): string => {
 | 
			
		||||
    return chat.settings.delimiter || valueOf(chat.id, getChatSettingObjectByKey('delimiter').placeholder)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const getLeadPrompt = (chat: Chat): string => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ const defaults:ChatSettings = {
 | 
			
		|||
  startSequence: '',
 | 
			
		||||
  stopSequence: '',
 | 
			
		||||
  aggressiveStop: true,
 | 
			
		||||
  deliminator: '',
 | 
			
		||||
  delimiter: '',
 | 
			
		||||
  userMessageStart: '',
 | 
			
		||||
  userMessageEnd: '',
 | 
			
		||||
  assistantMessageStart: '',
 | 
			
		||||
| 
						 | 
				
			
			@ -543,12 +543,12 @@ const chatSettingsList: ChatSetting[] = [
 | 
			
		|||
        hide: hideModelSetting
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: 'deliminator',
 | 
			
		||||
        name: 'Deliminator Sequence',
 | 
			
		||||
        key: 'delimiter',
 | 
			
		||||
        name: 'Delimiter Sequence',
 | 
			
		||||
        title: 'Characters used to separate messages in the message chain.',
 | 
			
		||||
        type: 'textarea',
 | 
			
		||||
        placeholder: (chatId) => {
 | 
			
		||||
          const val = getModelDetail(getChatSettings(chatId).model).deliminator
 | 
			
		||||
          const val = getModelDetail(getChatSettings(chatId).model).delimiter
 | 
			
		||||
          return val || ''
 | 
			
		||||
        },
 | 
			
		||||
        hide: hideModelSetting
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ export type ChatSettings = {
 | 
			
		|||
    startSequence: string;
 | 
			
		||||
    stopSequence: string;
 | 
			
		||||
    aggressiveStop: boolean;
 | 
			
		||||
    deliminator: string;
 | 
			
		||||
    delimiter: string;
 | 
			
		||||
    userMessageStart: string;
 | 
			
		||||
    userMessageEnd: string;
 | 
			
		||||
    assistantMessageStart: string;
 | 
			
		||||
| 
						 | 
				
			
			@ -271,7 +271,7 @@ export type ModelDetail = {
 | 
			
		|||
    label?: string;
 | 
			
		||||
    start?: string;
 | 
			
		||||
    stop?: string[];
 | 
			
		||||
    deliminator?: string;
 | 
			
		||||
    delimiter?: string;
 | 
			
		||||
    userStart?: string,
 | 
			
		||||
    userEnd?: string,
 | 
			
		||||
    assistantStart?: string,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ const hiddenSettings = {
 | 
			
		|||
      startSequence: true,
 | 
			
		||||
      stopSequence: true,
 | 
			
		||||
      aggressiveStop: true,
 | 
			
		||||
      deliminator: true,
 | 
			
		||||
      delimiter: true,
 | 
			
		||||
      userMessageStart: true,
 | 
			
		||||
      userMessageEnd: true,
 | 
			
		||||
      assistantMessageStart: true,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
<script context="module" lang="ts">
 | 
			
		||||
    import { getPetalsBase, getPetalsWebsocket } from '../../ApiUtil.svelte'
 | 
			
		||||
    import { countTokens, getDeliminator, getLeadPrompt, getRoleEnd, getRoleTag, getStartSequence } from '../../Models.svelte'
 | 
			
		||||
    import { countTokens, getDelimiter, getLeadPrompt, getRoleEnd, getRoleTag, getStartSequence } from '../../Models.svelte'
 | 
			
		||||
    import { countMessageTokens } from '../../Stats.svelte'
 | 
			
		||||
    import { globalStorage } from '../../Storage.svelte'
 | 
			
		||||
    import type { Chat, Message, Model, ModelDetail } from '../../Types.svelte'
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +22,7 @@ const chatModelBase = {
 | 
			
		|||
  check: checkModel,
 | 
			
		||||
  start: '<s>',
 | 
			
		||||
  stop: ['###', '</s>'],
 | 
			
		||||
  deliminator: '\n###\n\n',
 | 
			
		||||
  delimiter: '\n###\n\n',
 | 
			
		||||
  userStart: 'User:\n',
 | 
			
		||||
  userEnd: '',
 | 
			
		||||
  assistantStart: '[[CHARACTER_NAME]]:\n',
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ const chatModelBase = {
 | 
			
		|||
  getTokens: (value) => llamaTokenizer.encode(value),
 | 
			
		||||
  hideSetting: (chatId, setting) => !!hideSettings[setting.key],
 | 
			
		||||
  countMessageTokens: (message:Message, model:Model, chat: Chat):number => {
 | 
			
		||||
        const delim = getDeliminator(chat)
 | 
			
		||||
        const delim = getDelimiter(chat)
 | 
			
		||||
        return countTokens(model, getRoleTag(message.role, model, chat) + ': ' +
 | 
			
		||||
        message.content + getRoleEnd(message.role, model, chat) + (delim || '###'))
 | 
			
		||||
  },
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ export const chatModels : Record<string, ModelDetail> = {
 | 
			
		|||
        label: 'Petals - Llama-2-70b-chat',
 | 
			
		||||
        start: '<s>',
 | 
			
		||||
        stop: ['</s>', '[INST]', '[/INST]', '<<SYS>>', '<</SYS>>'],
 | 
			
		||||
        deliminator: ' </s><s>',
 | 
			
		||||
        delimiter: ' </s><s>',
 | 
			
		||||
        userStart: '[INST][[SYSTEM_PROMPT]]',
 | 
			
		||||
        userEnd: ' [/INST]',
 | 
			
		||||
        assistantStart: '[[SYSTEM_PROMPT]][[USER_PROMPT]]',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<script context="module" lang="ts">
 | 
			
		||||
    import { ChatCompletionResponse } from '../../ChatCompletionResponse.svelte'
 | 
			
		||||
    import { ChatRequest } from '../../ChatRequest.svelte'
 | 
			
		||||
    import { countTokens, getDeliminator, getEndpoint, getLeadPrompt, getModelDetail, getRoleEnd, getRoleTag, getStartSequence, getStopSequence } from '../../Models.svelte'
 | 
			
		||||
    import { countTokens, getDelimiter, getEndpoint, getLeadPrompt, getModelDetail, getRoleEnd, getRoleTag, getStartSequence, getStopSequence } from '../../Models.svelte'
 | 
			
		||||
    import type { ChatCompletionOpts, Message, Request } from '../../Types.svelte'
 | 
			
		||||
    import { getModelMaxTokens } from '../../Stats.svelte'
 | 
			
		||||
    import { updateMessages } from '../../Storage.svelte'
 | 
			
		||||
| 
						 | 
				
			
			@ -29,9 +29,9 @@ export const chatRequest = async (
 | 
			
		|||
      let stopSequences = [...new Set(getStopSequence(chat).split(',').filter(s => s.trim()).concat((modelDetail.stop || ['###', '</s>']).slice()))]
 | 
			
		||||
      const stopSequence = '</s>'
 | 
			
		||||
      stopSequences.push(stopSequence)
 | 
			
		||||
      const deliminator = getDeliminator(chat)
 | 
			
		||||
      const delimiter = getDelimiter(chat)
 | 
			
		||||
      const leadPromptSequence = getLeadPrompt(chat)
 | 
			
		||||
      if (deliminator) stopSequences.unshift(deliminator.trim())
 | 
			
		||||
      if (delimiter) stopSequences.unshift(delimiter.trim())
 | 
			
		||||
      stopSequences = stopSequences.sort((a, b) => b.length - a.length)
 | 
			
		||||
      const stopSequencesC = stopSequences.filter(s => s !== stopSequence)
 | 
			
		||||
      const maxTokens = getModelMaxTokens(model)
 | 
			
		||||
| 
						 | 
				
			
			@ -96,8 +96,8 @@ export const chatRequest = async (
 | 
			
		|||
        }
 | 
			
		||||
        return a
 | 
			
		||||
      }, [] as Message[])
 | 
			
		||||
      const leadPrompt = (leadPromptSequence && ((inputArray[inputArray.length - 1] || {}) as Message).role !== 'assistant') ? deliminator + leadPromptSequence : ''
 | 
			
		||||
      const fullPromptInput = getStartSequence(chat) + inputArray.map(m => m.content).join(deliminator) + leadPrompt
 | 
			
		||||
      const leadPrompt = (leadPromptSequence && ((inputArray[inputArray.length - 1] || {}) as Message).role !== 'assistant') ? delimiter + leadPromptSequence : ''
 | 
			
		||||
      const fullPromptInput = getStartSequence(chat) + inputArray.map(m => m.content).join(delimiter) + leadPrompt
 | 
			
		||||
    
 | 
			
		||||
      let maxLen = Math.min(opts.maxTokens || chatSettings.max_tokens || maxTokens, maxTokens)
 | 
			
		||||
      const promptTokenCount = countTokens(model, fullPromptInput)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue