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