Added DALL-E models and gpt-4-1106-preview

This commit is contained in:
Mitchell Byrden 2023-11-07 17:20:22 +11:00
parent 445ae0506e
commit 0bbd387678
2 changed files with 75 additions and 1 deletions

View File

@ -81,6 +81,12 @@ const gpt432k = {
completion: 0.00012, // $0.12 per 1000 tokens completion completion: 0.00012, // $0.12 per 1000 tokens completion
max: 32768 // 32k max token buffer 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> = { export const chatModels : Record<string, ModelDetail> = {
'gpt-3.5-turbo': { ...gpt35 }, 'gpt-3.5-turbo': { ...gpt35 },
@ -90,6 +96,7 @@ export const chatModels : Record<string, ModelDetail> = {
'gpt-4': { ...gpt4 }, 'gpt-4': { ...gpt4 },
'gpt-4-0314': { ...gpt4 }, 'gpt-4-0314': { ...gpt4 },
'gpt-4-0613': { ...gpt4 }, 'gpt-4-0613': { ...gpt4 },
'gpt-4-1106-preview': {...gpt4120kpreview},
'gpt-4-32k': { ...gpt432k }, 'gpt-4-32k': { ...gpt432k },
'gpt-4-32k-0314': { ...gpt432k }, 'gpt-4-32k-0314': { ...gpt432k },
'gpt-4-32k-0613': { ...gpt432k } 'gpt-4-32k-0613': { ...gpt432k }
@ -128,6 +135,63 @@ export const imageModels : Record<string, ModelDetail> = {
opt: { opt: {
size: '256x256' 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; n?: number;
size?: string; size?: string;
response_format?: keyof ResponseImageDetail; response_format?: keyof ResponseImageDetail;
model?: string;
quality?: string;
style?: string;
} }
export const imageRequest = async ( export const imageRequest = async (
@ -118,11 +121,18 @@ export const imageRequest = async (
const imageModel = chatSettings.imageGenerationModel const imageModel = chatSettings.imageGenerationModel
const imageModelDetail = getModelDetail(imageModel) const imageModelDetail = getModelDetail(imageModel)
const size = imageModelDetail.opt?.size || '256x256' const size = imageModelDetail.opt?.size || '256x256'
const model = imageModelDetail.opt?.model;
const style = imageModelDetail.opt?.style;
const quality = imageModelDetail.opt?.quality;
const request: RequestImageGeneration = { const request: RequestImageGeneration = {
prompt, prompt,
response_format: 'b64_json', response_format: 'b64_json',
size, size,
n: count n: count,
// Include these parameters if specified in the image model
...(model ? { model } :{}),
...(style ? { style } :{}),
...(quality ? { quality } :{})
} }
// fetchEventSource doesn't seem to throw on abort, // fetchEventSource doesn't seem to throw on abort,
// so we deal with it ourselves // so we deal with it ourselves