feat: add metering data

This commit is contained in:
zhaoweijie
2025-02-23 13:02:32 +08:00
parent c50bb49b37
commit 7b8879a7a8
9 changed files with 225 additions and 162 deletions

View File

@@ -316,15 +316,14 @@ export const useMessageOption = () => {
.map((k) => k.trim())
}
const { prompt, webSources, iodSources } = await getSystemPromptForWeb(
query,
keywords,
webSearch,
iodSearch
)
const { prompt, webSources, iodSources, iodData, iodDataTokenCount } =
await getSystemPromptForWeb(query, keywords, webSearch, iodSearch)
console.log("prompt:\n" + prompt)
setIsSearchingInternet(false)
chatMessage.prompt = prompt
chatMessage.iodKeywords = keywords
chatMessage.iodData = iodData
chatMessage.iodDataTokenCount = iodDataTokenCount
// message = message.trim().replaceAll("\n", " ")
@@ -485,12 +484,16 @@ export const useMessageOption = () => {
setIsProcessing(false)
setStreaming(false)
chatMessage.relatedDataCount = keywords.length
chatMessage.modelInputTokenCount = generationInfo?.prompt_eval_count ?? 0
chatMessage.modelOutputTokenCount = generationInfo?.eval_count ?? 0
chatMessage.model = generationInfo?.model ?? ""
chatMessage.relatedDataCount = iodData?.length ?? 0
chatMessage.timeTaken = timetaken
chatMessage.date = reasoningStartTime
const { think, content } = responseResolver(fullText)
chatMessage.thinkingChain = think
chatMessage.responseContent = content
chatMessage.modelResponseContent = fullText
setChatMessages([...chatMessages, chatMessage])
} catch (e) {
const errorSave = await saveMessageOnError({