75 lines
1.4 KiB
TypeScript
75 lines
1.4 KiB
TypeScript
export type ChatSessionId = string
|
|
export type ChatMessageId = string
|
|
|
|
export type ModelTag =
|
|
'spark1_5' |
|
|
'spark3_0' |
|
|
'spark3_5'
|
|
|
|
export interface LLMModal {
|
|
tag: ModelTag
|
|
name: string
|
|
description: string
|
|
icon?: string
|
|
endpoint: string
|
|
}
|
|
|
|
export namespace LLMSpark {
|
|
export interface request {
|
|
prompt: string
|
|
}
|
|
export interface response {
|
|
request_msg?: string
|
|
request_fail?: {
|
|
header?: {
|
|
code: number
|
|
message: string
|
|
sid: string
|
|
status: number
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export const llmModels: Readonly<LLMModal[]> = Object.freeze([
|
|
{
|
|
tag: 'spark1_5',
|
|
name: 'Spark 1.5',
|
|
description: '科大讯飞星火 1.5',
|
|
icon: 'tabler:car',
|
|
endpoint: 'App.Assistant_Spark.Chat_1_5'
|
|
},
|
|
{
|
|
tag: 'spark3_0',
|
|
name: 'Spark 3.0',
|
|
description: '科大讯飞星火 3.0',
|
|
icon: 'tabler:plane-departure',
|
|
endpoint: 'App.Assistant_Spark.Chat_3_0'
|
|
},
|
|
{
|
|
tag: 'spark3_5',
|
|
name: 'Spark 3.5',
|
|
description: '科大讯飞星火 3.5',
|
|
icon: 'tabler:rocket',
|
|
endpoint: 'App.Assistant_Spark.Chat_3_5'
|
|
},
|
|
])
|
|
|
|
export interface ChatSession {
|
|
id: ChatSessionId
|
|
subject: string
|
|
create_at: number
|
|
messages: ChatMessage[]
|
|
last_input?: string
|
|
}
|
|
|
|
export type MessageRole = 'user' | 'assistant' | 'system'
|
|
|
|
export interface ChatMessage {
|
|
id: ChatMessageId
|
|
role: MessageRole
|
|
content: string
|
|
create_at?: number
|
|
interrupted?: boolean
|
|
}
|