使用DuckDB查询DeepSeek历史对话

DeepSeek网页版在左下角个人信息/系统设置的账号管理页签中有个“导出所有历史对话”功能,点击“导出”,片刻就能生成一个deepseek_data-2025-06-14.zip的文件,里面有2个json文件,直接用文本编辑器查看不太方便。
而用DuckDB查询却很方便。

一开始,我们不知道这个json包括哪些字段,输入:

D select * from 'conv.json' limit 1;
┌──────────────────────┬──────────────────────┬──────────────────────┬──────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│          id          │        title         │     inserted_at      │      updated_at      │                                                      mapping                                                      │
│         uuid         │       varcharvarcharvarchar        │ struct(root struct(id varchar, parent json, children varchar[], message json), "1" struct(id varchar, parent va…  │
├──────────────────────┼──────────────────────┼──────────────────────┼──────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ e6535268-e25a-4620…  │ 麻将胡牌判断函数实现 │ 2025-01-23T14:10:3…  │ 2025-01-23T14:48:2…  │ {'root': {'id': root, 'parent': NULL, 'children': [1], 'message': NULL}, '1': {'id': 1, 'parent': root, 'childr…  │
└──────────────────────┴──────────────────────┴──────────────────────┴──────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

可见,这个文件有5个字段,对话信息保存在mapping中,其他都是它的属性信息,标题,建立和更新时间,还有uuid。
为了看起来方便,我们设置输出模式为list, 这样就能显示mapping的全部内容,而不会被截断,我们看到mapping中的各个字段,有我们的问话和deepseek的回答。

D .mode list
D select mapping from 'conv.json' limit 1;
mapping
{'root': {'id': root, 'parent': NULL, 'children': [1], 'message': NULL}, '1': {'id': 1, 'parent': root, 'children': 
[2], 'message': {'files': [], 'search_results': NULL, 'model': deepseek-chat, 'reasoning_content': NULL, 
'content': 请给出一个函数,输入是长度为14的unicode的麻将字符串,返回是否胡牌的布尔值, 'inserted_at': '2025-01-23T14:10:32.372143+00:00'}}, '2': {'id': 2, 'parent': 1, 'children': [4], 
'message': {'files': [], 'search_results': NULL, 'model': deepseek-chat, 'reasoning_content': NULL, 
'content': '要判断一个长度为14的Unicode字符串是否表示一副胡牌的麻将牌型,我们需要遵循麻将的基本规则。通常,胡牌的牌型由4个顺子或刻子(每组3张牌)加上一对将牌组成。以下是Python代码实现:`` `python
def is_winning_hand(hand):from collections import defaultdictif len(hand) != 14:return False

一般情况下,这样输出已经足够了,对话中的换行也从json文件中的转义符\n转换成了实际换行,很便于阅读。
而如果历史记录很多,也可以根据标题和时间进行筛选,这时,我把它切回box模式

D .mode box
D select title, inserted_at from 'conv.json' where inserted_at::date between date'2025-06-01' and  date'2025-06-15' and title like'%DuckDB%';
┌──────────────────────────────────────────────────┬──────────────────────────────────┐
│                      title                       │           inserted_at            │
├──────────────────────────────────────────────────┼──────────────────────────────────┤
│ DuckDB PostgreSQL查询功能实现分析                │ 2025-06-01T06:12:58.998000+08:00 │
│ DuckDB实现XLS读取功能                            │ 2025-06-08T12:23:09.081000+08:00 │
│ DuckDB查询结果导出XLS实现                        │ 2025-06-08T22:36:21.605000+08:00 │
│ DuckDB CSV Copy Function Implementation Analysis │ 2025-06-09T13:14:15.707396+00:00 │
│ DuckDB技术文档翻译与总结                         │ 2025-06-13T17:55:30.205000+08:00 │
└──────────────────────────────────────────────────┴──────────────────────────────────┘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/87096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程下 到底是事务内部开启锁 还是先加锁再开启事务?

前言 不知大家是否有观察到一个最常见的错误: 先开启事务,然后针对资源加锁,操作资源,然后释放锁,最后提交事务 你是否发现了在这样的场景下会出现并发安全的问题? (提示:一个线程A…

Javascript解耦,以及Javascript学习网站推荐

一、学习网站推荐 解构 - JavaScript | MDN 界面如下,既有知识点,也有在线编译器执行代码。初学者可以看看 二、Javascript什么是解构 解构语法是一种 Javascript 语法。可以将数组中的值或对象的属性取出,赋值给其他变量。它可以在接收数…

Java大模型开发入门 (11/15):让AI自主行动 - 初探LangChain4j中的智能体(Agents)

前言 在过去的十篇文章里,我们已经打造出了一个相当强大的AI应用。它有记忆,能进行多轮对话;它有知识,能通过RAG回答关于我们私有文档的问题。它就像一个博学的“学者”,你可以向它请教任何在其知识范围内的问题。 但…

Qt KDReports详解与使用

Qt KDReports详解与使用 一、KD Reports 简介二、安装与配置三、核心功能与使用1、创建基础报表2、添加表格数据3、导出为 PDF4、XML报表定义 四、高级功能1、动态数据绑定2、自定义图表3、模板化设计4、页眉页脚设置 五、常见问题六、总结七、实际应用示例:发票生成…

Spring Cloud 原生中间件

📝 代码记录 Consul(服务注册与发现 分布式配置管理) 拥有服务治理功能,实现微服务之间的动态注册与发现 ❌不在使用Eureka:1. 停更进维 2. 注册中心独立且和微服务功能解耦 Consul官网 Spring官方介绍 三个注册中…

CMake实践: 以开源库QSimpleUpdater为例,详细讲解编译、查找依赖等全过程

目录 1.环境和工具 2.CMake编译 3.查找依赖文件 3.1.windeployqt 3.2.dumpbin 4.总结 相关链接 QSimpleUpdater:解锁 Qt 应用自动更新的全新姿势-CSDN博客 1.环境和工具 windows 11, x64 Qt5.12.12或Qt5.15.2 CMake 4.0.2 干净的windows 7,最好是…

WordToCard制作高考志愿填报攻略小卡片【豆包版】

一、什么是WordToCard WordToCard是一个免费的工具,能够将Word文档自动转换为美观的知识卡片或图文海报。以下是它的主要特点: 功能优势 格式支持:支持标题、列表、表格、LaTeX公式等多种格式。模板丰富:提供多种风格的模板&am…

什么是PostCSS

PostCSS是一个用 JavaScript 工具和插件转换 CSS 代码的工具 PostCSS是基于 JavaScript 的 CSS 转换引擎,通过插件系统对 CSS 进行现代化处理,PostCSS 不是预处理器,而是 CSS 的编译器工具链,如同 Babel 之于 JavaScript&#xf…

游戏引擎学习第315天:取消排序键的反向顺序

仓库:https://gitee.com/mrxiao_com/2d_game_8 必须保证代码能跟上不然调试很麻烦 回顾并为今天定调 目前正处于对引擎中 Z 轴处理方式进行修改的阶段。上次我们暂停在一个节点,当时我们希望不再让所有屏幕上的精灵都必须通过同一个排序路径进行排序。我们想要将…

MySQL EXPLAIN 详解

MySQL EXPLAIN 详解:掌握 SQL 性能优化的关键工具 在日常数据库开发和优化过程中,很多开发者会遇到 SQL 查询变慢、索引未命中等问题。MySQL 提供了一个非常实用的工具 —— EXPLAIN 关键字,它可以帮助我们分析 SQL 查询的执行计划,识别潜在的性能瓶颈,从而有针对性地进行…

k8s使用私有harbor镜像源

前言 在node上手动执行命令可以正常从harbor拉取镜像,但是用k8s不行,使用kubectl describe pods xxx 提示未授权 unauthorized to access repository。 处理方法 创建一个secrete资源对象。以下示例中 registry-harbor 为secret资源对象的名称。除了邮…

AI绘画能发展到企业大规模使用的地步么?

1 技术演进与当前成熟度 AI绘画技术经历了从实验室概念到商业级工具的蜕变过程。早期技术受限于模型坍缩等问题,难以满足商业需求。关键突破出现在新型生成模型的应用,大幅提升生成速度至30秒内,在画面逻辑性和风格多样性方面实现质的飞跃。…

使用MyBatis-Plus实现数据权限功能

什么是数据权限 数据权限是指系统根据用户的角色、职位或其他属性,控制用户能够访问的数据范围。与传统的功能权限(菜单、按钮权限)不同,数据权限关注的是数据行级别的访问控制。 常见的数据权限控制方式包括: 部门数…

大模型——Dify 与 Browser-use 结合使用

大模型——Dify 与 Browser-use 结合使用 Dify 与 Browser-use 的结合使用,能够通过 AI 决策与自动化交互的协同,构建智能化、场景化的业务流程。 以下是两者的整合思路与技术落地方案: 一、核心组合逻辑 分工定位 Dify:作为AI模型调度中枢,负责自然语言理解、决策生成、…

transformer demo

import torch import torch.nn as nn import torch.nn.functional as F import math import numpy as np import pytestclass PositionalEncoding(nn.Module):def __init__(self, d_model, max_seq_length5000):super(PositionalEncoding, self).__init__()# 创建位置编码矩阵p…

centos 8.3(阿里云服务器)mariadb由系统自带版本(10.3)升级到10.6

1. 备份数据库 在进行任何升级操作前,务必备份所有数据库: mysqldump -u root -p --all-databases > all_databases_backup.sql # 或者为每个重要数据库单独备份 mysqldump -u root -p db_name1 > db_name1_backup.sql mysqldump -u root -p db…

如何稳定地更新你的大模型知识(算法篇)

目录 在线强化学习的稳定知识获取机制:算法优化与数据策略一、算法层面的稳定性控制机制二、数据处理策略的稳定性保障三、训练过程中的渐进式优化策略四、环境设计与反馈机制的稳定性影响五、稳定性保障的综合应用策略六、总结与展望通过强化学习来让大模型学习高层语义知识,…

图的遍历模板

图的遍历 BFS 求距离 #include<bits/stdc.h>using namespace std;int n, m, k,q[20001],dist[20001]; vector<int> edge[20001];int main(){scanf("%d%d%d",&n,&m,&k);for (int i 1;i<m;i){int x,y;scanf("%d%d",&x,&am…

Java集合 - LinkedList底层源码解析

以下是基于 JDK 8 的 LinkedList 深度源码解析&#xff0c;涵盖其数据结构、核心方法实现、性能特点及使用场景。我们从 类结构、Node节点、插入/删除/访问操作、线程安全、性能对比 等角度进行详细分析 一、类结构与继承关系 1. 类定义 public class LinkedList<E> e…

Pytorch 卷积神经网络参数说明一

系列文章目录 文章目录 系列文章目录前言一、卷积层的定义1.常见的卷积操作2. 感受野3. 如何理解参数量和计算量4.如何减少计算量和参数量 二、神经网络结构&#xff1a;有些层前面文章说过&#xff0c;不全讲1. 池化层&#xff08;下采样&#xff09;2. 上采样3. 激活层、BN层…