116 lines
3.3 KiB
TypeScript
116 lines
3.3 KiB
TypeScript
export default {
|
|
//----{{- range $aiName, $aiConf := .}}
|
|
//----{{$aiName}}: {
|
|
//---- {{- range $name, $conf := $aiConf.Chat}}
|
|
//---- {{$name}}(messages: any, callback?: (answer: string) => void, config?: ChatConfig): ChatResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Embedding}}
|
|
//---- {{$name}}(messages: any, config?: EmbeddingConfig): EmbeddingResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Image}}
|
|
//---- {{$name}}(config?: ImageConfig): ImageResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Video}}
|
|
//---- {{$name}}(config?: VideoConfig): string { return '' },
|
|
//---- {{- end }}
|
|
//---- {{- if $aiConf.Video}}
|
|
//---- getVideoResult(taskId: string, waitSeconds?:number): VideoResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Edit}}
|
|
//---- {{$name}}(image:string, config?: Object): StringResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Scan}}
|
|
//---- {{$name}}(image:any, config?: Object): ScanResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Asr}}
|
|
//---- {{$name}}(audio:any, config?: AsrConfig): AsrResult { return null as any },
|
|
//---- {{- end }}
|
|
//---- {{- range $name, $conf := $aiConf.Tts}}
|
|
//---- {{$name}}(text:string, config?: TtsConfig): StringResult { return null as any },
|
|
//---- {{- end }}
|
|
//----},
|
|
//----{{- end }}
|
|
similarity
|
|
}
|
|
|
|
function similarity(a: any, b: any): number { return 0 }
|
|
|
|
interface ChatConfig {
|
|
model: string
|
|
maxTokens: number
|
|
temperature: number
|
|
topP: number
|
|
tools: Object
|
|
systemPrompt: string
|
|
}
|
|
|
|
interface ChatResult {
|
|
result: string
|
|
askTokens: number
|
|
answerTokens: number
|
|
totalTokens: number
|
|
usedTime: number
|
|
}
|
|
|
|
interface EmbeddingConfig {
|
|
model: string
|
|
}
|
|
|
|
interface EmbeddingResult {
|
|
result: any
|
|
askTokens: number
|
|
answerTokens: number
|
|
totalTokens: number
|
|
usedTime: number
|
|
}
|
|
|
|
interface ImageConfig {
|
|
prompt: string
|
|
generateCount: number
|
|
model: string
|
|
systemPrompt: string // 系统提示词
|
|
negativePrompt: string // 反向提示词
|
|
style: string // 风格
|
|
quality: string // 质量
|
|
ref: string[] // 参考图片
|
|
cref: number // 角色参考权重 0~1
|
|
sref: number // 风格参考权重 0~1
|
|
scale: number // 影响文本描述的程度 0~1
|
|
steps: number // 采样步数 1~50
|
|
width: number // 图片宽度
|
|
height: number // 图片高度
|
|
}
|
|
|
|
interface ImageResult {
|
|
results: string[]
|
|
usedTime: number
|
|
}
|
|
|
|
interface StringResult {
|
|
result: string
|
|
usedTime: number
|
|
}
|
|
|
|
interface VideoConfig {
|
|
prompt: string
|
|
generateCount: number
|
|
model: string
|
|
systemPrompt: string
|
|
negativePrompt: string
|
|
ref: string[]
|
|
width: number
|
|
height: number
|
|
}
|
|
|
|
interface VideoResult {
|
|
results: string[]
|
|
previews: string[]
|
|
usedTime: number
|
|
}
|
|
|
|
interface ScanResult {
|
|
result: string
|
|
detail: Object
|
|
usedTime: number
|
|
}
|