@@ -523,7 +523,7 @@ const actions = [
|
|||||||
type: 'image' as const,
|
type: 'image' as const,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
promptName: ['debug:action:dalle3', 'debug:action:gpt-image-1'],
|
promptName: ['debug:action:dalle3'],
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
role: 'user' as const,
|
role: 'user' as const,
|
||||||
@@ -535,9 +535,23 @@ const actions = [
|
|||||||
},
|
},
|
||||||
type: 'image' as const,
|
type: 'image' as const,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
promptName: ['debug:action:gpt-image-1'],
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
role: 'user' as const,
|
||||||
|
content: 'Panda',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
config: { quality: 'low' },
|
||||||
|
verifier: (t: ExecutionContext<Tester>, link: string) => {
|
||||||
|
t.truthy(checkUrl(link), 'should be a valid url');
|
||||||
|
},
|
||||||
|
type: 'image' as const,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const { name, promptName, messages, verifier, type } of actions) {
|
for (const { name, promptName, messages, verifier, type, config } of actions) {
|
||||||
const prompts = Array.isArray(promptName) ? promptName : [promptName];
|
const prompts = Array.isArray(promptName) ? promptName : [promptName];
|
||||||
for (const promptName of prompts) {
|
for (const promptName of prompts) {
|
||||||
test(
|
test(
|
||||||
@@ -563,7 +577,7 @@ for (const { name, promptName, messages, verifier, type } of actions) {
|
|||||||
...messages,
|
...messages,
|
||||||
],
|
],
|
||||||
prompt.model,
|
prompt.model,
|
||||||
Object.assign({}, prompt.config)
|
Object.assign({}, prompt.config, config)
|
||||||
);
|
);
|
||||||
t.truthy(result, 'should return result');
|
t.truthy(result, 'should return result');
|
||||||
verifier?.(t, result);
|
verifier?.(t, result);
|
||||||
|
|||||||
@@ -530,6 +530,7 @@ export class CopilotController implements BeforeApplicationShutdown {
|
|||||||
const source$ = from(
|
const source$ = from(
|
||||||
provider.generateImagesStream(session.finish(params), session.model, {
|
provider.generateImagesStream(session.finish(params), session.model, {
|
||||||
...session.config.promptConfig,
|
...session.config.promptConfig,
|
||||||
|
quality: params.quality || undefined,
|
||||||
seed: this.parseNumber(params.seed),
|
seed: this.parseNumber(params.seed),
|
||||||
signal: this.getSignal(req),
|
signal: this.getSignal(req),
|
||||||
user: user.id,
|
user: user.id,
|
||||||
|
|||||||
@@ -348,6 +348,11 @@ export class OpenAIProvider
|
|||||||
const result = await generateImage({
|
const result = await generateImage({
|
||||||
model: modelInstance,
|
model: modelInstance,
|
||||||
prompt,
|
prompt,
|
||||||
|
providerOptions: {
|
||||||
|
openai: {
|
||||||
|
quality: options.quality || null,
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
return result.images.map(
|
return result.images.map(
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ const CopilotImageOptionsSchema = CopilotProviderOptionsSchema.merge(
|
|||||||
PromptConfigStrictSchema
|
PromptConfigStrictSchema
|
||||||
)
|
)
|
||||||
.extend({
|
.extend({
|
||||||
|
quality: z.string().optional(),
|
||||||
seed: z.number().optional(),
|
seed: z.number().optional(),
|
||||||
})
|
})
|
||||||
.optional();
|
.optional();
|
||||||
|
|||||||
Reference in New Issue
Block a user