Added DALL-E models and gpt-4-1106-preview
This commit is contained in:
		
							parent
							
								
									445ae0506e
								
							
						
					
					
						commit
						0bbd387678
					
				| 
						 | 
					@ -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'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue