Merge pull request #341 from MitchBoss/main

Added DALL-E models and gpt-4-1106-preview
This commit is contained in:
Niek van der Maas 2023-11-07 10:05:39 +01:00 committed by GitHub
commit eb4c7467e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 74 additions and 1 deletions

View File

@ -81,6 +81,12 @@ const gpt432k = {
completion: 0.00012, // $0.12 per 1000 tokens completion
max: 32768 // 32k max token buffer
}
const gpt4120kpreview = {
...chatModelBase,
prompt: 0.00003, // $0.03 per 1000 tokens prompt
completion: 0.00006, // $0.06 per 1000 tokens completion
max: 128000 // 128k max token buffer
}
export const chatModels : Record<string, ModelDetail> = {
'gpt-3.5-turbo': { ...gpt35 },
@ -90,6 +96,7 @@ export const chatModels : Record<string, ModelDetail> = {
'gpt-4': { ...gpt4 },
'gpt-4-0314': { ...gpt4 },
'gpt-4-0613': { ...gpt4 },
'gpt-4-1106-preview': { ...gpt4120kpreview },
'gpt-4-32k': { ...gpt432k },
'gpt-4-32k-0314': { ...gpt432k },
'gpt-4-32k-0613': { ...gpt432k }
@ -128,6 +135,63 @@ export const imageModels : Record<string, ModelDetail> = {
opt: {
size: '256x256'
}
},
'dall-e-3-1024x1024': {
...imageModelBase,
type: 'image',
completion: 0.04, // $0.040 per image
opt: {
model: 'dall-e-3',
size: '1024x1024'
}
},
'dall-e-3-1024x1792-Portrait': {
...imageModelBase,
type: 'image',
completion: 0.08, // $0.080 per image
opt: {
model: 'dall-e-3',
size: '1024x1792'
}
},
'dall-e-3-1792x1024-Landscape': {
...imageModelBase,
type: 'image',
completion: 0.08, // $0.080 per image
opt: {
model: 'dall-e-3',
size: '1792x1024'
}
},
'dall-e-3-1024x1024-HD': {
...imageModelBase,
type: 'image',
completion: 0.08, // $0.080 per image
opt: {
model: 'dall-e-3',
size: '1024x1024',
quality: 'hd'
}
},
'dall-e-3-1024x1792-Portrait-HD': {
...imageModelBase,
type: 'image',
completion: 0.12, // $0.080 per image
opt: {
model: 'dall-e-3',
size: '1024x1792',
quality: 'hd'
}
},
'dall-e-3-1792x1024-Landscape-HD': {
...imageModelBase,
type: 'image',
completion: 0.12, // $0.080 per image
opt: {
model: 'dall-e-3',
size: '1792x1024',
quality: 'hd'
}
}
}

View File

@ -102,6 +102,9 @@ type RequestImageGeneration = {
n?: number;
size?: string;
response_format?: keyof ResponseImageDetail;
model?: string;
quality?: string;
style?: string;
}
export const imageRequest = async (
@ -118,11 +121,17 @@ export const imageRequest = async (
const imageModel = chatSettings.imageGenerationModel
const imageModelDetail = getModelDetail(imageModel)
const size = imageModelDetail.opt?.size || '256x256'
const model = imageModelDetail.opt?.model
const style = imageModelDetail.opt?.style
const quality = imageModelDetail.opt?.quality
const request: RequestImageGeneration = {
prompt,
response_format: 'b64_json',
size,
n: count
n: count,
...(model ? { model } : {}),
...(style ? { style } : {}),
...(quality ? { quality } : {})
}
// fetchEventSource doesn't seem to throw on abort,
// so we deal with it ourselves