Merge pull request #162 from Webifi/main

Fix token limit issue in #161
This commit is contained in:
Niek van der Maas 2023-06-10 21:57:39 +02:00 committed by GitHub
commit 8577ae7f56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 13 deletions

View File

@ -20,7 +20,10 @@
type Request,
type Message,
type Chat,
type ChatCompletionOpts
type ChatCompletionOpts,
type Model
} from './Types.svelte'
import Prompts from './Prompts.svelte'
import Messages from './Messages.svelte'
@ -358,6 +361,7 @@
// Update token count with actual
promptTokenCount = countPromptTokens(messagePayload, model)
const maxAllowed = getModelMaxTokens(chatSettings.model as Model) - (promptTokenCount + 1)
try {
const request: Request = {
@ -369,9 +373,13 @@
if (typeof setting.apiTransform === 'function') {
value = setting.apiTransform(chatId, setting, value)
}
if (key === 'max_tokens') {
if (opts.maxTokens) {
if (key === 'max_tokens') value = opts.maxTokens // only as large as requested
value = opts.maxTokens // only as large as requested
}
if (value > maxAllowed || value < 1) value = null
}
if (key === 'n') {
if (opts.streaming || opts.summaryRequest) {
/*
Streaming goes insane with more than one completion.
@ -379,7 +387,8 @@
different completions.
Summary should only have one completion
*/
if (key === 'n') value = 1
value = 1
}
}
if (value !== null) acc[key] = value
return acc
@ -392,7 +401,7 @@
const signal = controller.signal
console.log('apikey', $apiKeyStorage)
// console.log('apikey', $apiKeyStorage)
const fetchOptions = {
method: 'POST',
@ -408,7 +417,7 @@
let errorResponse
try {
const errObj = await response.json()
errorResponse = errObj?.error?.code
errorResponse = errObj?.error?.message || errObj?.error?.code
if (!errorResponse && response.choices && response.choices[0]) {
errorResponse = response.choices[0]?.message?.content
}