93 lines
2.5 KiB
TypeScript
93 lines
2.5 KiB
TypeScript
|
|
export default {
|
||
|
|
//----{{- range $aiName, $aiConf := .}}
|
||
|
|
//----{{$aiName}}: {
|
||
|
|
//---- {{- range $chatName, $chatConf := $aiConf.Chat}}
|
||
|
|
//---- {{$chatName}}(messages: any, callback?: (answer: string) => void, config?: ChatConfig): ChatResult { return null as any },
|
||
|
|
//---- {{- end }}
|
||
|
|
//---- {{- range $embeddingName, $embeddingConf := $aiConf.Embedding}}
|
||
|
|
//---- {{$embeddingName}}(messages: any, config?: EmbeddingConfig): EmbeddingResult { return null as any },
|
||
|
|
//---- {{- end }}
|
||
|
|
//---- {{- range $imageName, $imageConf := $aiConf.Image}}
|
||
|
|
//---- {{$imageName}}(config?: ImageConfig): ImageResult { return null as any },
|
||
|
|
//---- {{- end }}
|
||
|
|
//---- {{- range $videlName, $videlConf := $aiConf.Video}}
|
||
|
|
//---- {{$videlName}}(config?: VideoConfig): string { return '' },
|
||
|
|
//---- {{- end }}
|
||
|
|
//---- {{- if $aiConf.Video}}
|
||
|
|
//---- getVideoResult(taskId: string, waitSeconds?:number): VideoResult { 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 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
|
||
|
|
}
|