feat(server): adapt 4o image (#11956)
fix AI-88 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for the new image generation model "gpt-image-1" in both backend and frontend. - Updated available prompt options to include "gpt-image-1" for image creation actions. - **Improvements** - Set a 5-minute timeout for image generation requests to improve reliability. - **Tests** - Expanded test coverage to validate image generation using the new "gpt-image-1" prompt. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ai-sdk/google": "^1.2.10",
|
"@ai-sdk/google": "^1.2.10",
|
||||||
"@ai-sdk/openai": "^1.3.9",
|
"@ai-sdk/openai": "^1.3.18",
|
||||||
"@ai-sdk/perplexity": "^1.1.6",
|
"@ai-sdk/perplexity": "^1.1.6",
|
||||||
"@apollo/server": "^4.11.3",
|
"@apollo/server": "^4.11.3",
|
||||||
"@aws-sdk/client-s3": "^3.779.0",
|
"@aws-sdk/client-s3": "^3.779.0",
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ const actions = [
|
|||||||
type: 'image' as const,
|
type: 'image' as const,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
promptName: ['debug:action:dalle3'],
|
promptName: ['debug:action:dalle3', 'debug:action:gpt-image-1'],
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
role: 'user' as const,
|
role: 'user' as const,
|
||||||
|
|||||||
@@ -288,6 +288,12 @@ const actions: Prompt[] = [
|
|||||||
model: 'dall-e-3',
|
model: 'dall-e-3',
|
||||||
messages: [],
|
messages: [],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'debug:action:gpt-image-1',
|
||||||
|
action: 'image',
|
||||||
|
model: 'gpt-image-1',
|
||||||
|
messages: [],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'debug:action:fal-sd15',
|
name: 'debug:action:fal-sd15',
|
||||||
action: 'image',
|
action: 'image',
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ export class OpenAIProvider
|
|||||||
'text-moderation-stable',
|
'text-moderation-stable',
|
||||||
// text to image
|
// text to image
|
||||||
'dall-e-3',
|
'dall-e-3',
|
||||||
|
'gpt-image-1',
|
||||||
];
|
];
|
||||||
|
|
||||||
#instance!: VercelOpenAIProvider;
|
#instance!: VercelOpenAIProvider;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// TODO(@Peng): automate this
|
// TODO(@Peng): automate this
|
||||||
export const promptKeys = [
|
export const promptKeys = [
|
||||||
'debug:action:dalle3',
|
'debug:action:dalle3',
|
||||||
|
'debug:action:gpt-image-1',
|
||||||
'debug:action:fal-sd15',
|
'debug:action:fal-sd15',
|
||||||
'debug:action:fal-upscaler',
|
'debug:action:fal-upscaler',
|
||||||
'debug:action:fal-remove-bg',
|
'debug:action:fal-remove-bg',
|
||||||
|
|||||||
@@ -492,7 +492,7 @@ Could you make a new website based on these notes and send back just the html fi
|
|||||||
|
|
||||||
AIProvider.provide('createImage', async options => {
|
AIProvider.provide('createImage', async options => {
|
||||||
// test to image
|
// test to image
|
||||||
let promptName: PromptKey = 'debug:action:dalle3';
|
let promptName: PromptKey = 'debug:action:gpt-image-1';
|
||||||
// image to image
|
// image to image
|
||||||
if (options.attachments?.length) {
|
if (options.attachments?.length) {
|
||||||
promptName = 'debug:action:fal-sd15';
|
promptName = 'debug:action:fal-sd15';
|
||||||
@@ -507,6 +507,8 @@ Could you make a new website based on these notes and send back just the html fi
|
|||||||
client,
|
client,
|
||||||
sessionId,
|
sessionId,
|
||||||
content: options.input,
|
content: options.input,
|
||||||
|
// 5 minutes
|
||||||
|
timeout: 300000,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
10
yarn.lock
10
yarn.lock
@@ -889,7 +889,7 @@ __metadata:
|
|||||||
"@affine/graphql": "workspace:*"
|
"@affine/graphql": "workspace:*"
|
||||||
"@affine/server-native": "workspace:*"
|
"@affine/server-native": "workspace:*"
|
||||||
"@ai-sdk/google": "npm:^1.2.10"
|
"@ai-sdk/google": "npm:^1.2.10"
|
||||||
"@ai-sdk/openai": "npm:^1.3.9"
|
"@ai-sdk/openai": "npm:^1.3.18"
|
||||||
"@ai-sdk/perplexity": "npm:^1.1.6"
|
"@ai-sdk/perplexity": "npm:^1.1.6"
|
||||||
"@apollo/server": "npm:^4.11.3"
|
"@apollo/server": "npm:^4.11.3"
|
||||||
"@aws-sdk/client-s3": "npm:^3.779.0"
|
"@aws-sdk/client-s3": "npm:^3.779.0"
|
||||||
@@ -1063,15 +1063,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@ai-sdk/openai@npm:^1.3.9":
|
"@ai-sdk/openai@npm:^1.3.18":
|
||||||
version: 1.3.12
|
version: 1.3.18
|
||||||
resolution: "@ai-sdk/openai@npm:1.3.12"
|
resolution: "@ai-sdk/openai@npm:1.3.18"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ai-sdk/provider": "npm:1.1.3"
|
"@ai-sdk/provider": "npm:1.1.3"
|
||||||
"@ai-sdk/provider-utils": "npm:2.2.7"
|
"@ai-sdk/provider-utils": "npm:2.2.7"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
zod: ^3.0.0
|
zod: ^3.0.0
|
||||||
checksum: 10/067e6ce7a59bda062ea5198f928809d7cad9aae994c786b611f104515f3fcf3cb93f370ce3cb58c223ebc18da633d8f934beec4e879d26d071a8da81013369fb
|
checksum: 10/5d6e8ea5b3a6afc237d3220bdb7f307b6b82b1fd2511d9627f09b1be70e36c15060e807381148c4203d61a317acf87091b3b42edc55da7b424f2c2caf11c5a19
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user