发布了文章2025-07-20
开源项目阅读deep-searchergithub: [链接]架构大图代码走读文档进行切割,递归切割(不同的文档,对应不同的策略,pdf urls)将切割后的文件,存储到向量库将用户的query,讲给RAG_Router,RAGROuter 下面挂了两个AgentThis agent is suitable for handling general ...
回答了问题2024-02-18
首先,go所有的传递都是值传递,如果想要修改原变量,需要使用指针而针对slice,他的结构是所以,对于slice传递的时候,可以看到 传递的是一个struct结构体,这个结构体包含 Array的地址,Len和Cap三个属性,在 {代码...} 这里的s,只是一个跟s2数据相同的另一个结构...
发布了文章2023-12-26
ChatGPT的问世无疑在人工智能领域掀起了巨大的波澜。然而,随着时间的推移,人们逐渐发现ChatGPT更像是被束缚在一个容器中的大脑。因此,人们开始尝试赋予它更多的功能,就像给它装上四肢一样。这种尝试催生了LangChain、AutoGPT和BabyGPT等新的技术,它们在人工智能...
发布了文章2023-02-06
Envoy: Envoy对端口监听(Listener)进行了迁移,但是对建立的连接(connection)则通过命令的方式,进行主动断开重连
发布了文章2022-11-30
近期境外势力亡我中华之心不死,造成国内情绪越来越紧张,随之紧张的也就是梯子的稳定性了;木有办法,咱只能选择更隐秘的协议和加密方式了,这里还是推荐一下 Vultr家的VPS ,换IP方便,不怕梯子不稳定了
发布了文章2022-08-03
说到raftexample,很多人可能很陌生,我知道raft,我也知道example,哪来的raftexample?这里做下简单的介绍,raftexample是etcd里面 raft模块实现的简单示例,它实现了一个简单的基于raft协议的kvstore存储集群系统,并提供了rest api以供使用
发布了文章2021-07-04
leveldb 的写操作并不是直接写入磁盘的,而是首先写入到内存。假设写入到内存的数据还未来得及持久化,leveldb 进程发生了异常,或者是宿主机此时发生了宕机,会造成用户写入数据发生丢失。因此 leveldb 在写内存之前会首先将所有的写操作写到日志文件中,也就是 log...
发布了文章2020-03-16
股市韭菜或者金融学相关的同学,数据回测则是一个快速实验的一个方式,如果依靠交易软件,一个个的回测,头都要炸了,近期在搜索数据接口时,发现了tushare,提供的接口基本满足了我的需求,这里特地推荐一下
发布了文章2020-01-05
近期一同事负责的线上模块,总是时不时的返回一下 504,检查发现,这个服务的内存使用异常的大,pprof分析后,发现有上万个goroutine,排查分析之后,是没有规范使用gorm包导致的,那么具体是什么原因呢,会不会也像 《Go Http包解析:为什么需要response.Body.Close...
发布了文章2019-12-22
在我印象中有个错误的认知:如果GORM没有找到record,则会返回ErrRecordNotFound 的错误,知道上次业务中出现了bug,我才发现这个印象中的认知是错误的,且没有官方文档的支持。那么,ErrRecordNotFound 到底在什么时候返回呢,这篇文章将会根据源码来进行分析一下
发布了文章2019-10-08
在使用map的过程中,有两个问题是经常会遇到的:读写冲突和遍历无序性。为什么会这样呢,底层是怎么实现的呢?带着这两个问题,我简单的了解了一下map的增删改查及遍历的实现。
发布了文章2019-09-08
Map is like a Go map[interface{}]interface{} but is safe for concurrent useby multiple goroutines without additional locking or coordination.Loads, stores, and deletes run in amortized constant time.
发布了文章2019-09-08
finalizer是与对象关联的一个函数,通过runtime.SetFinalizer 来设置,它在对象被GC的时候,这个finalizer会被调用,以完成对象生命中最后一程。由于finalizer的存在,导致了对象在三色标记中,不可能被标为白色对象,也就是垃圾,所以,这个对象的生命也会得以延续...
发布了文章2019-09-06
defer 也是Go里面比较特别的一个关键字了,主要就是用来保证在程序执行过程中,defer后面的函数都会被执行到,一般用来关闭连接、清理资源等。
发布了文章2019-09-04
Go最吸引人的两个地方,除了goroutine,也就是channel了,同时,我一直很纳闷,select到底是怎么实现的?跟我之前的文章一样,部分无关的代码直接省略
回答了问题2019-09-02
PrintResponse: 这个就不一样了,我想要计算这个请求到底花费了多久,就需要先执行下面的中间件和handler,等他们都完成后,再回到 PrintResponse 这个中间件里,进行计时就ok了。 当你打印返回的response body的时候,也是一样的道理,中间件都会比handler先执行,...
发布了文章2019-09-01
在学习Go的过程中,最让人惊叹的莫过于goroutine了。但是goroutine是什么,我们用go关键字就可以创建一个goroutine,这么多的goroutine之间,是如何调度的呢?
回答了问题2019-08-23
{代码...}
发布了文章2019-08-15
最近线上的一个项目遇到了内存泄露的问题,查了heap之后,发现 http包的 dialConn函数竟然占了内存使用的大头,这个有点懵逼了,后面在网上查询资料的时候无意间发现一句话
发布了文章2019-08-15
MyISAM与InnoDB的优缺点在此就不再多说了,网上可以搜出一堆,而这种文章的最后一般都是推荐,读的多的使用MyISAM,写与更新多的推荐InnoDB,但是,了解过两种存储引擎之后,就会产生一种疑惑,InnoDB采用的是聚簇索引,无论是索引还是数据都是存放在内存中的,MyISA...