Skip to main content

f

在 src\common\pgboss\worker_summarize_chat.ts 中实现对话压缩功能,

已知条件​

box.summary_info 的数据结构为:

{
"summary_content": "a user guide for a website",
"last_message_id": 34,
"system_prompt": "",
"count": 123,
"updated_at": "2024-01-02T00:00:00.000Z",
}

wmessages.consumption的数据结构为:

{
"prompt_tokens": 17,
"candidates_tokens": 23
}

需求如下:​

  • 查找与 box.uuid 关联的 wmessages 记录。如果 box.summary_info.last_message_id存在,则查询条件为wmessages.id>box.summary_info.last_message_id;如果box.summary_info.last_message_id不存在,则提取全部相关的 wmessages 记录。
  • 找到的所有符合条件的 wmessages 记录后,合计其 wmessages.consumption.prompt_tokens + wmessages.consumption.candidates_tokens,如果总数大于 5000,则进行压缩。否则无操作。
  • 压缩使用模型:gemini-3.1-flash-lite-preview
  • 压缩提示词在这个文件中:src\studio\ai\prompts\summarize_chat.ts