feat: add localStroage
This commit is contained in:
parent
c5fa739a95
commit
dba196d777
@ -84,7 +84,7 @@ const columns: TableProps<MeteringEntry>["columns"] = [
|
|||||||
dataIndex: "date",
|
dataIndex: "date",
|
||||||
key: "date",
|
key: "date",
|
||||||
render: (date) => {
|
render: (date) => {
|
||||||
return <div>{formatDate(date ?? new Date())}</div>
|
return <div>{formatDate(new Date(date))}</div>
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -194,7 +194,7 @@ export const useMessageOption = () => {
|
|||||||
const meter: MeteringEntry = {
|
const meter: MeteringEntry = {
|
||||||
id: generateMessageId,
|
id: generateMessageId,
|
||||||
queryContent: message,
|
queryContent: message,
|
||||||
date: new Date()
|
date: new Date().getTime()
|
||||||
} as MeteringEntry
|
} as MeteringEntry
|
||||||
|
|
||||||
if (!isRegenerate) {
|
if (!isRegenerate) {
|
||||||
@ -489,20 +489,22 @@ export const useMessageOption = () => {
|
|||||||
|
|
||||||
// Save metering entry
|
// Save metering entry
|
||||||
const { cot, content } = responseResolver(fullText)
|
const { cot, content } = responseResolver(fullText)
|
||||||
setMeteringEntries([ {
|
const _meteringEntries = [{
|
||||||
...meter,
|
...meter,
|
||||||
modelInputTokenCount: prompt.length,
|
modelInputTokenCount: prompt.length,
|
||||||
modelOutputTokenCount: fullText.length,
|
modelOutputTokenCount: fullText.length,
|
||||||
model: ollama.modelName,
|
model: ollama.modelName ?? ollama.model,
|
||||||
relatedDataCount: iodData?.length ?? 0,
|
relatedDataCount: iodData?.length ?? 0,
|
||||||
timeTaken: new Date().getTime() - meter.date.getTime(),
|
timeTaken: new Date().getTime() - chatStartTime.getTime(),
|
||||||
date: chatStartTime,
|
date: chatStartTime.getTime(),
|
||||||
cot,
|
cot,
|
||||||
responseContent: content,
|
responseContent: content,
|
||||||
modelResponseContent: fullText,
|
modelResponseContent: fullText,
|
||||||
},
|
},
|
||||||
...meteringEntries,
|
...meteringEntries,
|
||||||
])
|
]
|
||||||
|
setMeteringEntries(_meteringEntries)
|
||||||
|
localStorage.setItem("meteringEntries", JSON.stringify(_meteringEntries))
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const errorSave = await saveMessageOnError({
|
const errorSave = await saveMessageOnError({
|
||||||
e,
|
e,
|
||||||
|
@ -100,7 +100,7 @@ export type MeteringEntry = {
|
|||||||
// 大模型输出token数量
|
// 大模型输出token数量
|
||||||
modelOutputTokenCount: number
|
modelOutputTokenCount: number
|
||||||
// 日期
|
// 日期
|
||||||
date: Date
|
date: number
|
||||||
// 耗时
|
// 耗时
|
||||||
timeTaken: number
|
timeTaken: number
|
||||||
// 大模型回答的全部内容
|
// 大模型回答的全部内容
|
||||||
@ -120,7 +120,7 @@ export const useStoreMessageOption = create<State>((set) => ({
|
|||||||
setMessages: (messages) => set({ messages }),
|
setMessages: (messages) => set({ messages }),
|
||||||
history: [],
|
history: [],
|
||||||
setHistory: (history) => set({ history }),
|
setHistory: (history) => set({ history }),
|
||||||
meteringEntries: [],
|
meteringEntries: JSON.parse(localStorage.getItem("meteringEntries") || JSON.stringify([])),
|
||||||
setMeteringEntries: (meteringEntries) => set({ meteringEntries }),
|
setMeteringEntries: (meteringEntries) => set({ meteringEntries }),
|
||||||
streaming: false,
|
streaming: false,
|
||||||
setStreaming: (streaming) => set({ streaming }),
|
setStreaming: (streaming) => set({ streaming }),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user