QQ Summary Genius:QQ聊天文字记录AI总结助手 github开源项目

写了一个新的 QQ 聊天记录AI总结助手!欢迎来 github 使用!(点击我加Star)

🧹 QQ Summary Genius:QQ聊天文字记录AI总结助手

QQ Summary Genius ,一个简单而强大的QQ聊天AI总结工具,帮你提炼有价值的讨论内容。

🌟 主要功能

  • 数据预处理部分
    • 📅 根据日期范围筛选内容
    • 🗑️ 移除日期时间行、QQ号、昵称等信息
    • 🖼️ 移除[图片]标记和其他表情符号
    • ⚙️ 移除系统消息和无用重复消息,支持自定义过滤关键词
  • AI 总结部分
    • 🤖 支持调用多种 AI API(SiliconFlow、OpenAI、Anthropic)进行内容总结
    • 📊 生成Markdown格式的总结报告
    • 🔑 便捷的 API 密钥、模型、提示词配置系统,支持交互式设置
    • 🔒 结果留于本地,安全性高

📁 目录结构

.
├── process_chat_logs.py  # 聊天记录清理主程序
├── generate_conclusion.py # AI总结功能主程序
├── api_config.py         # API配置管理工具
├── setup.py              # 环境配置与初始化脚本
├── api_keys.ini          # API密钥配置文件(通过 setup.py 自动生成)
├── filter_keywords.txt   # 过滤规则配置文件
├── inputs/               # 输入文件目录
├── outputs/              # 清理后的输出文件目录
└── conclusion/           # AI总结生成的文件目录

实现效果

示例文件位于 inputs/outputs/conclusion/中。

🚀 快速开始

  1. 克隆仓库:
git clone https://github.com/JyiDeng/QQ-Summary-Genius.git
  1. 运行初始化脚本(推荐):
python setup.py

这将自动创建所需目录、安装依赖,并引导你配置 API 密钥、系统提示词。

或者,你也可以手动完成这些步骤:

  1. 准备聊天记录:

    • 将QQ聊天记录文件放入 inputs 目录
      • 聊天记录导出:可以使用怀旧版QQ(官网下载,不带NT架构字样,可参考(https://dldir1.qq.com/qqfile/qq/PCQQ9.7.23/QQ9.7.23.29400.exe) ),右键单击群聊,点击查看消息记录,进入消息管理器,右键单击某个群聊,点击导出消息记录;
      • 选择txt文件格式,导出文件到./inputs文件夹
  2. 运行聊天记录清理程序:(具体参数配置见后文)

python process_chat_logs.py
  1. 配置 AI API 密钥:
python api_config.py

或者

python generate_conclusion.py -c

或者,打开J:\Project_Playground\qq_chat_ai_conclusion\api_keys.ini,设置 API。

  1. 选择模型:

打开J:\Project_Playground\qq_chat_ai_conclusion\api_keys.ini,设置对应 API 的模型。

  1. 运行AI总结程序:(具体参数配置见后文)
python generate_conclusion.py

预处理后的文件将保存在 outputs 目录,文件名格式为:cleaned_原文件名_日期范围.txt
总结文件将保存在 conclusion 目录,文件名格式为:conclusion_原文件名_日期范围.md

📖 详细使用说明

Step 1. 聊天记录清理 - 命令行参数

参数说明示例
-f, --file指定要处理的文件-f "chat.txt"
-o, --output指定输出文件路径-o "output/result.txt"
-d, --directory处理指定目录下的所有文件-d "inputs"
-v, --verbose显示详细处理信息-v
-k, --keywords指定过滤关键词配置文件-k "filter_keywords.txt"
-t, --date指定日期范围-t "2025-03-18"
基本用例
# 处理 inputs 目录下的所有文件,参数均采取默认值
python process_chat_logs.py

# 处理单个文件
python process_chat_logs.py -f "inputs/example.txt"

# 显示详细处理信息
python process_chat_logs.py -v
日期筛选示例
# 筛选指定日期的内容
python process_chat_logs.py -t "2025-03-18"

# 筛选日期范围的内容
python process_chat_logs.py -t "2025-03-16=2025-03-18"

# 组合使用参数
python process_chat_logs.py -f "example.txt" -t "2025-03-18" -v

Step 2. AI 总结 - 命令行参数

参数说明示例
-f, --file指定要总结的文件-f "outputs/cleaned_example.txt"
-d, --input-dir指定要处理的文件目录,默认为outputs-d "outputs"
-o, --output-dir指定总结文件输出目录,默认为conclusion-o "conclusion"
-a, --api指定要使用的API源,可多选,默认为siliconflow-a siliconflow openai anthropic
-p, --prompt自定义提示词-p "请总结以下内容的主要话题:"
-c, --config配置API密钥-c
-m, --model指定要使用的SiliconFlow模型名称-m "qwen/Qwen2.5-7B-Chat"
-s, --system-prompt设置系统提示词-s "你是一个专业的会议纪要整理专家"
系统提示词配置

程序使用的默认系统提示词为:

你是一个专业的聊天内容分析助手。你的任务是对QQ聊天记录进行简明扼要的总结,提取主要话题和关键信息。格式上,按照时间顺序划分小标题,总结各个话题主要内容。

你可以通过以下两种方式自定义系统提示词:

  1. 使用setup.py配置(推荐)
    运行 python setup.py 并按照提示修改系统提示词。

  2. 直接编辑文件
    修改 generate_conclusion.py 文件中的 SYSTEM_PROMPT 常量。

基本用例
# 使用默认API源(SiliconFlow)处理outputs目录下的所有文件
python generate_conclusion.py

# 处理单个文件
python generate_conclusion.py -f "outputs/cleaned_example.txt"

# 使用多个API源进行总结
python generate_conclusion.py -a siliconflow openai anthropic

# 自定义提示词
python generate_conclusion.py -p "请分析并总结以下聊天内容的核心观点:"

# 指定使用的模型
python generate_conclusion.py -m "qwen/Qwen2.5-72B-Chat"
API 配置说明

程序提供了两种方式配置API密钥:

  1. 交互式配置(推荐)

    python generate_conclusion.py -c
    

    或者

    python api_config.py
    

    这将启动交互式配置向导,引导你输入各个API的密钥。

  2. 手动编辑配置文件
    配置文件保存在 api_keys.ini,你可以直接编辑此文件设置密钥:

    [siliconflow]
    api_key = your_api_key_here
    api_url = https://api.siliconflow.cn/v1/chat/completions
    model = deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
    
    
    [openai]
    api_key = your_api_key_here
    api_url = https://api.openai.com/v1/chat/completions
    model = gpt-3.5-turbo
    
    [anthropic]
    api_key = your_api_key_here
    api_url = https://api.anthropic.com/v1/messages
    model = claude-3-sonnet-20240229
    
模型选择 - 以 SiliconFlow 为例

以 SiliconFlow 平台为例,它提供了多种可用模型,我们在此需要选择:

  • DeepSeekPro/deepseek-ai/DeepSeek-R1deepseek-ai/DeepSeek-R1-Distill-Qwen-7B(默认使用的模型)等
  • QwenQwen/Qwen2.5-72B-Instruct-128KQwen/Qwen2.5-Coder-7B-Instruct
  • internlminternlm/internlm2_5-7b-chatinternlm/internlm2_5-20b-chat
  • BAAIBAAI/bge-large-zh-v1.5
  • THUDMTHUDM/glm-4-9b-chat
  • …(其他模型)

你可以通过以下方式指定模型:

# A. 使用命令行参数指定
python generate_conclusion.py -m "Qwen/Qwen2.5-Coder-7B-Instruct"

# B. 在api_keys.ini文件中修改model字段

或在api_keys.ini文件中修改model字段。

如果报错为模型不存在,可能是以上模型过期,请查阅SiliconFlow官方文档获取最新的模型列表。

⚙️ 自定义过滤规则

filter_keywords.txt 中添加过滤规则,每行一个:

# 普通文本
Q群管家
[图片]

# 正则表达式(以 \ 开头)
\[表情\]
\[流泪\].*

等等。

🤝 贡献

欢迎提交 Issue 和 Pull Request 来帮助改进这个工具!

📄 许可证

MIT License - 详见 LICENSE 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值