古典音乐入门:从七首作品开始建立聆听地图
古典音乐常被描述得很有门槛:要懂曲式、记住作曲家生平,还要分清作品编号。其实,进入它最自然的方法仍然是听。先对声音产生兴趣,再慢慢知道自己听见了什么,知识才会变成路标,而不是入场券。
这篇文章不追求列出一份“必听排行榜”,而是选择七首性格不同的作品。每一首只关注一个问题,七天之后,你会得到一张属于自己的初步聆听地图。
第一天:听见秩序巴赫《G 大调第一无伴奏大提琴组曲》前奏曲,BWV 1007一把大提琴,没有乐队,也没有歌词,却能让人感觉声音一直在向前流动。开头的分解和弦不断改变重心,像水流绕过石头:纹理相似,方向却始终在变化。
第一次听,不必分析和声,只留意三个问题:
哪些音型在重复?
音乐何时开始积累紧张感?
结尾为什么会让人觉得终于抵达?
巴赫适合训练“纵向听觉”:旋律并不是孤立的一条线,每个音还暗示着看不见的和声与声部。听见这些关系,就是听见音乐内部的秩序。
第二天:听见对话莫扎特《G 小调第四十交响曲》第一乐章,K. 550这段开头没有长篇铺垫,弦乐轻轻躁动,主题几乎立刻出现。它听起来优雅,却并不轻松;明亮的古典主义外形里,始终有一股不安。
这一次,把乐队想象成一群正 ...
从文档到可检索知识库:RAGFlow 搭建与调优实战
搭建 RAG 知识库并不只是“上传文档,再接一个大模型”。真正影响效果的环节包括文档解析、分块、向量化、混合检索、重排以及回答阶段的约束。RAGFlow 把这些环节放进一套可视化流程中,适合用于内部制度问答、产品手册检索、技术资料助手等场景。
本文以本地 Docker Compose 部署为起点,完成一个可以检索、测试和持续优化的知识库。示例不包含任何真实凭据。
1. 先理解数据怎样流动一份文档进入 RAGFlow 后,大致会经过下面这条链路:
12345678910111213原始文件 ↓版面解析与内容提取 ↓按规则切分为文本块 ↓生成向量并建立全文索引 ↓关键词检索 + 向量检索 ↓可选的重排 ↓将相关文本块交给对话模型生成回答
Docker Compose 默认还会启动若干基础服务:MySQL 保存业务元数据,MinIO 保存对象文件,Elasticsearch 默认承担全文和向量检索,Redis 用于缓存与任务协作。理解这些组件后,排查问题时就能先判断故障发生在“文件没有保存”“解析任务未完成”,还是“索引没有召回”。
2. 部署前检查根据 RAGFlow 官 ...
Visual Studio快捷键汇总
以下是Visual Studio常用快捷键的汇总,涵盖编辑、调试、文件操作、导航和视图等多个方面,帮助提升开发效率:
常用编辑快捷键
注释代码:Ctrl + K, Ctrl + C
取消注释:Ctrl + K, Ctrl + U
代码格式化:
格式化整个文档:Ctrl + K, Ctrl + D
格式化选中内容:Ctrl + K, Ctrl + F
复制整行代码(无需选中):将光标放在行上,Ctrl + C
剪切整行代码:将光标放在行上,Ctrl + X
删除整行代码:Ctrl + Shift + K
撤销:Ctrl + Z
重做:Ctrl + Y 或 Ctrl + Shift + Z
查找:Ctrl + F
查找全部文件:Ctrl + Shift + F
替换:Ctrl + H
转到定义:F12
转到声明:Ctrl + F12
查找所有引用:Shift + F12
跳转到指定行:Ctrl + G
插入代码片段:Ctrl + K, Ctrl + X
切换书签:Ctrl + K, Ctrl + K
切换行注释(VS2022及以上):Ctrl + / 或 Ctrl + K, Ctrl ...
数据可视化
一.Matplotlib概述(一) Matplotlib概述 在Python中数据可视化工具分为免费和收费两种,其中免费的应用性较好的数据可视化工具有Matplotlip、Seaborn、交互式的数据可视化工具Bokeh。其中,Matplotlip是用于创建出版质量图表的绘图工具库,Seaborn是在Matplotlib基础上进行了更高级的API封装,从而使得作图更加容易。
(二)Matplotlib简介使用Matplotlib实现数据图形化的优势是:
p 使用起来极其简单。
p 以渐进、交互式方式实现数据可视化。
p 表达式和文本使用LaTeX排版。
p 对图像元素控制力更强。
p 可输出PNG、PDF、SVG和EPS等多种格式。
二.创建简单图形(一)导入快速绘图的函数库 import matplotlib.pyplot as plt
(二) 创建绘图对象—figure对象12345678910111213141516171819202122import matplotlib.pyplot as pltimport numpy as np#一天24小时 ...
用Numpy进行简单统计
一.numpy读取数据(一) 使用NumPy读写文本文件1.将1维或2维数组写入TXT文件或CSV格式文件 (1) 写入后缀名为txt或csv的文件
(2) 语法: numpy.savetxt(fname,array,fmt=’%.18e’,delimiter=None,newline=’\n’, header=’’, footer=’’, comments=’# ‘, encoding=None)
参数
解释
fname
文件、字符串或产生器,可以是.gz或bz2压缩文件
array
存入文件的数组(一维数组或者二维数组)
fmt
写入文件的格式,如:%d,%.2f,%.18e,默认值是%.18e
delimiter
分隔字符串,默认是任何空格,改为逗号
newline
值可以\n,换行
header
头部加入注释
footer
xxxxxxxxxx Emp_data = np.loadtxt(‘Employedpopulation.csv’,delimite ...
Numpy
0.什么是numpy
一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算
快速
方便
科学计算的基础库
安装numpy和scipy
方式1:使用cmd中pip指令 cmd –>pip list查看已安装的所有库
安装numpy: pip install numpy==版本 python3.7对应版本1.21.6 3.8 3.9 3.11 对应1.24
卸载: pip uninstall scipy 提示输入y
安装: 指定版本 pip install scipy == 版本号
方式2: pycharm –>设置 –> 项目 :python interperter –>点击+号: 搜索scipy–>点击install按钮
1.多维数组创建(1) 创建一维数组12import numpy as npprint(np.__version__)
方式1: np.array([1,2,3 ...
计网知识
一些之后可能会用到知识
提问1.TCP三次握手四次挥手TCP(传输控制协议)是一种可靠的、面向连接的传输层协议,用于在网络中可靠地传输数据。在建立和终止连接时,TCP 使用三次握手和四次挥手来确保通信的可靠性。下面我会分别解释三次握手和四次挥手的过程:
TCP 三次握手(Three-Way Handshake):
第一次握手(SYN):客户端向服务器发送一个连接请求报文段,其中设置 SYN(同步序列编号)标志为 1,并选择一个初始序列号(Seq)用于后续的数据传输。
第二次握手(SYN+ACK):服务器收到客户端的连接请求后,会返回一个连接应答报文段。该应答报文段设置 SYN 和 ACK 标志为 1,表示确认客户端的连接请求,并为后续数据传输选择自己的初始序列号(Seq),同时也确认客户端的初始序列号(Seq+1)。
第三次握手(ACK):客户端收到服务器的连接应答后,会再次发送确认报文段。该报文段的 ACK 标志为 1,表示确认服务器的连接应答,客户端和服务器的连接建立完成。
TCP 四次挥手(Four-Way Handshake):
第一次挥手(FIN):客户端希望关闭连接, ...