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