- 博客(29)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 大模型的快思考与慢思考
大模型慢思考时代的开启,很大一部分原因是OpenAI o1系列推理模型的发布,并取得了惊人的效果,于是让大家对inference time scaling(大语言模型(LLM)在处理不同长度或复杂度的输入时,推理时间随输入规模变化的趋势和优化策略)产生了期待,并迅速跟进,现在DeepSeek- R1系列毋庸置疑是开源模型里面做得最优秀的。在OpenAI的o1系列模型推出之前,基本都是快思考,比如早期的Qwen 1.0(2.0 引入慢思考模式),o1之前的GPT模型、deepseek-V3之前的模型等。
2025-09-07 14:43:01
1073
原创 compute_class_weight函数介绍
它的作用是根据数据集中各类别的样本数量,计算出每个类别的权重(weight),以便在训练分类模型时对少数类(样本较少的类别)进行加权,避免模型偏向多数类。当数据集中某些类别的样本数量远多于其他类别时,模型容易偏向多数类(例如,二分类问题中正样本占 99% 时,模型可能直接预测全为正类)。会为样本较少的类别分配更高的权重,使模型在训练时更关注这些类别。总样本数 nsamples=111,类别数 nclasses=3。在训练模型时,将权重传递给损失函数。顺序一致的权重数组。,则权重数组的顺序为。
2025-09-07 14:42:19
573
1
原创 机器学习中的损失函数是什么
并指导模型通过优化算法(如梯度下降)不断调整参数以减少这种差异。是衡量模型预测结果与真实值之间差异的核心工具。(预测离散类别,如图像分类、文本情感分析)。(预测连续数值,如房价、温度)。
2025-09-07 14:41:20
440
原创 LangChain模型调研
Prompt 标准化输入 → LLM 推理生成逻辑 → 工具调用执行操作 → 记忆模块保存上下文langchain官方提供了一些列的工具箱,在官方文档中可以看到基于官方的工具,我们可以自定义相关工具,工具的定义标准名称描述:工具是干什么的参数结果:工具的入参结构定义。
2025-07-07 17:55:16
899
原创 AI Agent模型:Plan-and-Execute、ReAct、Function Calling
大模型Agents的技术,其实本质上就是写prompt,让模型仿照你的方式来进行执行的一种应用范式,prompt里面包含一些tools的描述,然后我们可以根据模型的输出使用一些外部tools(例如计算器,搜索API,数据库,程序接口,各种模型的API),能使用外部的API,知识库,只要写好prompt,智能体会调用LLM完成任务,形成用户需要的内容。
2025-06-25 11:06:35
1189
原创 count(1)、count(*)、count(主键)、count(字段)区别
count(1)=count(*)>count(主键)>count(字段)count:统计符合查询的条件记录中,函数指定的参数不为NULL的记录有多少个比如:select count(age) from user统计user表中age不为NULL的记录有多少条通过count函数来统计有多少条记录的时候,Mysql的server层会维护一个count的变量,来记录具体的记录数如下case如果表里没有其他二级索引,则innodb会遍历主键索引ID,来统计记录数。
2024-10-27 22:31:24
411
原创 B+Tree简介
磁盘的最小单位是扇区,扇区的大小只有512B的大小,操作系统通常一次会加载多个扇区的数据到内存中,操作系统最小的单位是块block,在Linux系统中block的大小通常为4KB,也就是说加载一个块的数据,默认是8个扇区的数据。另一个重点是由于索引 文件都是存放在一个节点里面,对应相同的扇区,磁盘在进行预加载的时候,会把相邻的扇区的数据一起进行加载到内存中,这样在进行数据查找的时候更容易找到相邻扇区的索引数据,提升检索速度,减少了IO的操作。2、要能高效的查找一个数据,也能高效的执行范围查找。
2024-10-26 22:58:31
591
原创 【Plex】FRP内网穿透后 App无法使用问题
第一、在路由器里面一定要设置端口映射,也就是这里面的5670是外网端口,跟内网的192.168.1.6:32400进行映射,如果没有这一步,那么网络一定是不通的,这里面还有一个要注意的,如果使用的是电信的宽带,则一定要打电信客服10000,说给你开通公网ip,要不然,你是没办进行公网网络访问的,开通之后,才能设置端口映射。这个是必要的过程,但是设置之后仍然app端无法访问,原因是因为网络端口的问题。第三步:则是要在域名平台添加网络端口映射,比如我用的是维塔斯的。好了如果这些设置完了,则可以了。
2023-08-12 22:48:21
1462
原创 sync.map源码解析
golang浅谈sync.mapgo语言原生的map并不是线程安全的一种数据结果,如果想要达到安全则需要使用锁,如果map比较大,则加锁解锁代价相对比较大,常见的做法拆分map,使用key值hash的方式进行小规模的锁操作,前者性能影响较大,后者使用锁较多,容易出错go在1.9之后提供了sync.Map,一种并发安全的map数据结构操作方式跟常见的map大同小异,只是在遍历的时候操作不太一样func main() { var m sync.Map // 1. 写入 m.Store("te
2021-01-04 15:45:41
544
原创 Redis持久化机制
Redis常见持久化方式盖题RDB优点缺点AOFAOF 缓冲区文件同步策略AOF同步流程盖题Redis提供常见的两种数据持久化方式AOF和RDB方式,目的是在于防止进程退出之后造成数据丢失问题RDBRDB持久化方式是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化的过程一般分为手动持久化和自动触发持久化优点1、RDB是一个紧凑的二进制文件,代表Redis在某一个时间点的数据写照,非常适合备份和全量复制等场景。2、Redis加载RDB恢复数据远快于AOF方式。缺点1、RDB方式无法做
2020-10-18 22:10:50
216
原创 Redis常见五种数据对象详解
五种常见数据对象字符串对象列表对象哈希对象集合对象有序集合对象Redis中每个对象都有一个RedisObject结构表示,该结构具体如下:typedef struct redisObject { // 对象的类型,字符串/列表/集合/哈希表 unsigned type:4; // 未使用的两个位 unsigned notused:2; /* Not used */ // 编码的方式,Redis 为了节省空间,提供多种方式来保存一个数据 u
2020-08-30 10:56:16
267
原创 Redis与跳跃表
redis与跳跃表盖题跳跃表的基本思路skiplist数据结构简介盖题跳跃表是一种有序数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的,跳跃表支持平均O(logN),最坏O(N)复杂度的节点查找Redis使用跳跃表作为有序集合键的底层实现之一跳跃表的基本思路表处理的是有序的链表(一般是双向链表,下图未表示双向),如下:这个链表中,如果要搜索一个数,需要从头到尾比较每个元素是否匹配,直到找到匹配的数为止,即时间复杂度是 O(n)。同理,插入一个数并保持链表有序,
2020-08-09 21:12:53
254
原创 Go语言内存逃逸分析
go语言内存逃逸分析什么是逃逸逃逸分析过程指针逃逸动态类型逃逸逃逸常见情况如何避免总结什么是逃逸逃逸分析是编译器用于决定变量分配到堆上还是栈上的一种行为。函数的运行都是在栈上面运行的,在栈上面生命临时变量,分配内存,函数运行完毕之后,回收内存,每个函数的栈空间都是独立的,其他函数是无法进行访问,但是在默写情况下栈上面的数据需要在函数结束之后还能被访问,这时候就会设计到内存逃逸了,什么是逃逸,就是抓不住如果数据从栈上面逃逸,会跑到堆上面,栈上面的数据在函数结束的时候回自动回收,回收代价比较小,栈的
2020-08-06 17:36:47
1115
原创 Go语言GMP模型
前言线程的代价如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入帝国时代线程的代价使用过C++/Java的同学应该都知道在做服务端开发的时候,对于多线程的使用,繁琐程度,以及对于多线程情况下异常情况的分析,是何等头疼,如果线上流量过大,对于这种多线程的操作更是得慎重,当
2020-08-04 17:19:33
4301
原创 Go语言内存回收机制GC
前言文章有点长,如果是刚接触GC建议耐心看完所谓内存回收,便是指当前内存使用完毕,释放当前存储器,以供后续继续使用,如果没有进行及时的释放,则会造成内存泄漏常见的GC方式有如下三种引用计数:对每一个对象维护一个引用计数,当引用该对象的对象被销毁的时候,引用计数减1,当引用计数为0的时候,怎回收该对象,比如c++的shared_ptr优点 :对象可以很快的被回收,不会出现内存耗尽或达到某个阀值时才回收。缺点:不能很好的处理循环引用,而且实时维护引用计数,有也一定的代价。代表语言:Pytho
2020-07-16 17:37:02
2412
1
原创 Go语言Channel数据结构详解
golang channel数据结构详解不要通过共享内存来通信,而通过通信来共享内存\color{#00868B}{不要通过共享内存来通信,而通过通信来共享内存}不要通过共享内存来通信,而通过通信来共享内存channel的内存布局使用make的方式进行初始化,make函数会在堆上面进行分配一个runtime.hchan的数据结构,ch是存在于函数f栈上面的一个指针,指向堆上面的hchan数据结构func f() { ch := make(chan int) ...}至于为什么是
2020-07-14 16:04:21
2820
原创 go dial tcp 216.58.200.49:443: i/o timeout问题解决-proxy设置
在Go 1.13中,我们可以通过GOPROXY来控制代理,以及通过GOPRIVATE控制私有库不走代理。设置GOPROXY代理:go env -w GOPROXY=https://goproxy.cn,direct设置GOPRIVATE来跳过私有库,比如常用的Gitlab或Gitee,中间使用逗号分隔:go env -w GOPRIVATE=.gitlab.com,.gitee.com如果在运行go mod vendor时,提示Get https://sum.golang.org/look
2020-07-14 10:47:39
29965
3
原创 Go语言函数参数传递类型详解
go语言函数参数传递类型详解到底是值传递还是引用传递?什么是值传递什么是传引用(引用传递)到底是值传递还是引用传递?golang默认都是值传递引用,无论参数是指针还是普通参数传递,默认都是值拷贝传递什么是值传递函数传递的总是原来这个东西的一个副本,一副拷贝。比如我们传递一个int类型的参数,传递的其实是这个参数的一个副本;传递一个指针类型的参数,其实传递的是这个该指针的一份拷贝,而不是这个指针指向的值。在网上看了一篇帖子,自己实际操作了进行验证,以int类型的数据进行验证,代码如下func mo
2020-06-30 15:22:05
1822
原创 如何判断一个元素在亿级数据中是否存在?布隆过滤器
如何判断一个元素在亿级数据中是否存在?常规实现哈希函数布隆过滤器介绍布隆过滤器原理布隆过滤器添加元素布隆过滤器查询元素常规实现1、数组2、链表3、树、平衡二叉树4、Map(红黑树)5、哈希表上面的使用方式在结合常见的排序方式比如二分,可以快速的查找数据是否存在,但当集合数据元素非常大,比如1亿条,这个时候,数据结构问题就会凸显出来,数组,链表等 ,就会非常吃内存,内存的消耗会成指数级增长,最终达到瓶颈。对于哈希表,其实也是很占用内存,哈希表的常规做法是key值映射成一个8个字节的信息指纹,对于
2020-06-17 16:35:31
441
原创 Kafka分区分配策略-RangeAssignor、RoundRobinAssignor、StickyAssignor
按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费。假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区,也就是说这个消费者C0订阅了7个分区,参考下图(1)此时消费组内又加入了一个新的消费者C1,按照既定的逻辑需要将原来消费者C0的部分分区分配给消费者C1消费,情形上图(2),消费者C0和C1各自负责消费所分配到的分区,相互之间并无实质性的干扰。接着消费组内又加入了一个新的消费者C2,如此消费者C.
2020-06-15 15:35:25
522
原创 curl 命令详解(转载)
curl 命令详解(转载)常用参数详解参数 描述 -I/--head 只显示传输文档,经常用于测试连接本身 -o/--output 把输出写到该文件中,必须输入保存文件名 -O/--remote-name 把输出写到该文件中,保留远程文件的文件名 -F/--form 模拟表单提交 -s/--silent 静默模式,不输出任何东西 ...
2020-04-20 15:20:44
656
原创 使用GoBase64标准包遇到的问题
报错代码 enstr := "eyJBY2NvdW50SWQiOiIxIiwiQ2xpZW50IjoiIiwiRW1haWwiOiJ5YWt1Lm1pb3RvQGdtYWlsLmNvbSIsIk1hc3RlckZsYWciOnRydWUsImV4cCI6MTU0ODc0NTY5OSwidHlwZSI6ImVtcGxveWVlcyJ9"// {"AccountId":"1","Clie...
2020-03-17 14:39:54
754
转载 一次完整的HTTP请求所经历的7个步骤
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层...
2018-04-12 09:55:43
433
转载 C++ 用libcurl库进行http 网络通讯编程
一、LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网ht
2018-01-25 11:02:12
270
原创 常见进程间的几种通信方式以及使用注意点
常见进程间的几种通信方式以及使用注意点 通常情况下进程间的通信方式主要有以下几点:此处只是介绍相关工作过程及概念,具体代码,网上一抓一大片,可以自己看。 1、管道: 管道通常分类两种,一种有名管道,一种无名管道无名管道:主要用于父子进程间的通信方式,主要的数据方式是一般是通过一个二维数组来进行通信,比如int pipefd[2],pipefd[0]主要是用来读数据,pipefd[1
2017-12-14 22:06:41
4994
原创 多线程信号量,互斥锁,条件变量异同
多线程常见的几种同步方式分为以下几点:只是阐述相关性,具体代码逻辑,网上一抓一大片,再次不在详述。1、信号量:主要用于线程之间的数据同步,比如A线程数据处理完成之后会立马通知B线程进行相应的操作。常见的信号有两种一种是二进制信号,只有0和1两种状态,这种情况下类似于互斥锁,另一种就是整型信号,在不为0的情况下则可以获取到信号,进行操作,每次操作完则进行信号减1,直到为0的时候才会处于阻塞。
2017-12-10 23:30:30
2181
原创 qt4.8到qt5.2windows版本的升级遇到的实际问题
[原]qt4.8到qt5.2windows版本的升级遇到的实际问题.2014-5-24阅读262评论0背景: 新项目中的qt用了比较新的qt5.2.1版本,本人之前一直用qt4.8.2,后来在家把项目拷贝后发现各种报错各种构建问题,起初是环境变量的问题各种qtcreator的设置和各种windows环境变量的设置,后来发现连“”都找不到,这还搞毛?说明QT的库根
2015-06-09 09:59:13
1541
构造一个内存图像类,需要保存rgba信息,实现指定位置的图像信息的获取?
2015-04-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅