ai/export.ts

93 lines
2.5 KiB
TypeScript
Raw Normal View History

2024-10-31 15:20:14 +08:00
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
}