feat: add metering data

This commit is contained in:
zhaoweijie
2025-02-22 14:09:57 +08:00
parent f617a05483
commit da162be01d
2 changed files with 75 additions and 8 deletions

View File

@@ -26,15 +26,43 @@ export type Message = {
export type ChatHistory = {
role: "user" | "assistant" | "system"
content: string
image?: string,
image?: string
messageType?: string
}[]
export type ChatMessage = {
id: string
// 问题
queryContent: string
// 提示词全文
prompt: string
// 思维链(只有深度思考时有)
thinkingChain?: string
// 回答
responseContent: string
// 关联数据个数
relatedDataCount: number
// 数联网输入token
iodInputToken: string
// 数联网输出token
iodOutputToken: string
// 大模型输入token
modelInputToken: string
// 大模型输出token
modelOutputToken: string
// 日期
date: Date
// 耗时
timeTaken: number
}
type State = {
messages: Message[]
setMessages: (messages: Message[]) => void
history: ChatHistory
setHistory: (history: ChatHistory) => void
chatMessages: ChatMessage[]
setChatMessages: (chatMessages: ChatMessage[]) => void
streaming: boolean
setStreaming: (streaming: boolean) => void
isFirstMessage: boolean
@@ -82,6 +110,8 @@ export const useStoreMessageOption = create<State>((set) => ({
setMessages: (messages) => set({ messages }),
history: [],
setHistory: (history) => set({ history }),
chatMessages: [],
setChatMessages: (chatMessages) => set({ chatMessages }),
streaming: false,
setStreaming: (streaming) => set({ streaming }),
isFirstMessage: true,
@@ -120,5 +150,5 @@ export const useStoreMessageOption = create<State>((set) => ({
setTemporaryChat: (temporaryChat) => set({ temporaryChat }),
useOCR: false,
setUseOCR: (useOCR) => set({ useOCR }),
setUseOCR: (useOCR) => set({ useOCR })
}))