Skip to content

Commit

Permalink
测试完成
Browse files Browse the repository at this point in the history
fix #225
  • Loading branch information
MirrorCY committed Feb 4, 2024
1 parent 0f11020 commit 3b09b33
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
12 changes: 7 additions & 5 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ type Orient = keyof typeof orientMap

export const models = Object.keys(modelMap) as Model[]
export const orients = Object.keys(orientMap) as Orient[]
export const scheduler = ['native', 'karras', 'experimental', 'polyexperimental'] as const
export const scheduler = ['native', 'karras', 'exponential', 'polyexponential'] as const

export namespace sampler {
export const nai = {
Expand Down Expand Up @@ -205,8 +205,9 @@ interface ParamConfig {
model?: Model
sampler?: string
smea?: boolean
dyn?: boolean
smeaDyn?: boolean
scheduler?: string
decrisper?: boolean
upscaler?: string
restoreFaces?: boolean
hiresFix?: boolean
Expand Down Expand Up @@ -347,12 +348,13 @@ export const Config = Schema.intersect([
Schema.object({
model: Schema.const('nai-v3').required(),
sampler: sampler.createSchema(sampler.nai3),
smea: Schema.boolean().description('是否启用 SMEA。'),
dyn: Schema.boolean().description('是否启用 SMEA 采样器的 DYN 变体。'),
smea: Schema.boolean().description('默认启用 SMEA。'),
smeaDyn: Schema.boolean().description('默认启用 SMEA 采样器的 DYN 变体。'),
scheduler: Schema.union(scheduler).description('默认的调度器。').default('native'),
}),
Schema.object({ sampler: sampler.createSchema(sampler.nai) }),
])
]),
Schema.object({ decrisper: Schema.boolean().description('默认启用 decrisper') }),
]),
] as const),

Expand Down
21 changes: 14 additions & 7 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ export function apply(ctx: Context, config: Config) {
.option('smea', '-S', { hidden: () => config.model !== 'nai-v3' })
.option('smeaDyn', '-d', { hidden: () => config.model !== 'nai-v3' })
.option('scheduler', '-C <scheduler> ', { hidden: () => config.model !== 'nai-v3', type: scheduler })
.option('decrisper', '-D', { hidden: thirdParty })
.option('undesired', '-u <undesired>')
.option('noTranslator', '-T', { hidden: () => !ctx.translator || !config.translator })
.option('iterations', '-i <iterations:posint>', { fallback: 1, hidden: () => config.maxIterations <= 1 })
Expand Down Expand Up @@ -313,20 +314,24 @@ export function apply(ctx: Context, config: Config) {
parameters.image = image?.base64 // NovelAI / NAIFU accepts bare base64 encoded image
if (config.type === 'naifu') return parameters
// The latest interface changes uc to negative_prompt, so that needs to be changed here as well
parameters.negative_prompt = parameters.uc
delete parameters.uc
if (parameters.uc){
parameters.negative_prompt = parameters.uc
delete parameters.uc
}
parameters.decrisper = options.decrisper ?? config.decrisper
if (model === 'nai-diffusion-3') {
parameters.sm_dyn = options.smeaDyn ?? config.dyn
parameters.sm_dyn = options.smeaDyn ?? config.smeaDyn
parameters.sm = (options.smea ?? config.smea) || parameters.sm_dyn
parameters.noise_schedule = options.scheduler ?? config.scheduler
if (['k_euler_ancestral', 'k_dpmpp_2s_ancestral'].includes(parameters.sampler)
&& parameters.noise_schedule === 'karras') {
parameters.noise_schedule = 'native'
}
if (parameters.sampler === 'ddim_v3') {
parameters.sm = false
parameters.sm_dyn = false
delete parameters.noise_schedule
}
if (parameters.sampler === 'k_dpmpp_2m' && !options.scheduler) {
parameters.noise_schedule = 'exponential'
}
}
return { model, input: prompt, parameters: omit(parameters, ['prompt']) }
}
Expand Down Expand Up @@ -394,6 +399,8 @@ export function apply(ctx: Context, config: Config) {
let finalPrompt = prompt
const iterate = async () => {
const request = async () => {
const data = getPayload()
logger.info('request', data)
const res = await ctx.http.axios(trimSlash(config.endpoint) + path, {
method: 'POST',
timeout: config.requestTimeout,
Expand All @@ -403,7 +410,7 @@ export function apply(ctx: Context, config: Config) {
...config.headers,
...getHeaders(),
},
data: getPayload(),
data: data,
})

if (config.type === 'sd-webui') {
Expand Down

0 comments on commit 3b09b33

Please sign in to comment.