- 博客(157)
- 资源 (4)
- 收藏
- 关注
原创 Linux从零搭建Dify智能体平台(包含网络代理、docker安装、docker镜像地址设置)
【代码】Linux从零搭建Dify智能体平台(包含网络代理、docker安装、docker镜像地址设置)
2025-03-14 17:23:50
287
原创 VLLM多卡并行优化策略
多卡并行方式,分为张量并行(Tensor Parallelism)和数据并行(Data Parallelism)。VLLM多卡并行主要依赖实现模型分布式推理。因此我们采用这种方案。
2025-03-01 16:45:00
545
原创 Java不用模型,直接实现中文分词(HanLP)
/ 动态增加CustomDictionary.add("攻城狮");// 强行插入CustomDictionary.insert("白富美", "nz 1024");// 删除词语(注释掉试试)// CustomDictionary.remove("攻城狮");System.out.println(CustomDictionary.add("单身狗", "nz 1024 n 1"));System.out.println(CustomDictionary.get("单身狗"));
2025-02-28 18:45:00
347
原创 DeepSeek蒸馏版模型VLLM部署方案
CUDA <12.1需使用旧版Python(3.10)和vllm==0.3.2。CUDA 12.4需搭配更高版本Python(3.11)和默认vllm。
2025-02-24 10:09:21
575
原创 SpringBoot中SSE流式输出中止的核心代码
在大模型会话中,会有一个功能是停止生成功能。这个功能如果在前端实现,既取消监听后端的流式返回事件,会导致后端日志中报错连接中断等错误。
2025-02-21 15:31:45
459
原创 springboot使用Redis发布订阅(Pub/Sub)实战
Redis 发布/订阅是一种消息传模式,其中发送者发送消息,而接收者(订阅者)接收消息。传递消息的通道称为channel。例如下图的工流程,当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端。
2025-01-22 19:30:00
897
原创 随机查询若干数据,并根据全部数据的点击量排序的核心代码
需求:随机展示六条帖子,并把这几条帖子的热度按照总的点击量进行分类,在全部点击量排前100的帖子为高热,100到1000名为热,1000到5000为火…也就是说,我需要随机查询六条数据,并得到这六条数据的点击量在全部数据的点击量中的排序位置。
2024-09-14 21:30:00
225
原创 大模型基础环境部署之一:安装 Nvidia 的驱动(详细实操版)
如果该命令没有输出结果,则表示 nouveau 已被禁用。如果有输出结果,则需要执行以下步骤来禁用 nouveau。完成上述步骤后,系统应该已经满足了安装 Nvidia 驱动的前置条件。可以继续进行后续的安装步骤。为了使更改生效,需要重新生成 kernel initramfs。完成以上步骤后,需要重启系统以使更改生效。然后继续安装 libc6-dev 和 libc-dev 软件包。
2024-08-27 20:15:00
597
原创 Spring的包扫描路径之外获取Bean
建议只在必要时使用SpringContextUtil,并且考虑是否有其他方式可以实现相同的功能,例如通过使用@Import注解将类导入Spring容器,或者使用事件和监听器来解耦组件之间的依赖。因为我们自己写的这个工具类,其实是破坏依赖注入原则的,除非迫不得已,不然还是遵循Spring的原则来开发比较好。完结★,°.°★。
2024-08-05 21:45:00
464
2
原创 文件流转MultipartFile,不使用MockMultipartFile的方式
MockMultipartFile 是一个用于测试的模拟类,通常在单元测试或集成测试中模拟 MultipartFile 的行为。它属于 Spring 框架的测试包 org.springframework.mock.web 中的一部分,不应该在生产环境中使用。因此我们采用实现MultipartFile接口类的方式,自己实现转换逻辑。
2024-05-30 21:30:00
1388
原创 SELF-RAG论文全流程阅读解析
作者为了节省成本,提出了一个的方法:写一个标注反思token的例子,然后把自己整理好的所有的自己领域相关的训练语料通过GPT4的API,让GPT4根据例子来进行插入反思token,然后把GPT4吐出来的训练语料+标注好的反思token作为完整的数据集,灌输给自己的M生成模型去学习,学习GPT4是怎么生成这些token的。看似很合理,但是有个问题。从官方的这个算法推理图中也可以看出,SELF- RAG中存在了两个模型,其中评判模型C的用途是为了构建生成模型M所需要的训练数据,当生成模型训练完成后,在。
2024-05-21 19:00:00
1389
原创 根据ip限制接口访问次数
我们利用redis去实现这个功能,redis的天然高并发和内存单线程速度拉满,非常适合做这个场景。为了可用性,我们把它封装成注解形式,哪个接口想被根据ip限制接口访问次数,直接标注上注解即可。
2024-05-14 22:45:00
516
原创 java实现通用的文本相似度评估方法(余弦相似度计算)
因为我是从excel里读取标准答案和真正答案做相似度平均值计算,所以我也引入了poi依赖。余弦相似度计算:通用的文本相似度评估方法,通过计算向量之间的夹角来衡量文本的相似度。思路和代码以及注释都有了,完结撒花o(
2024-05-06 18:45:00
952
原创 大模型的流式返回在换行符处被分开截断,导致无法正常解析换行符的解决方案
在我使用的大模型中,需要将大模型的流式返回解析成markdown形式,供给用户展示。但是偶然间发现,有的回答的换行符号没被解析成换行格式,而是以/n形式展示出来了。经过排查,找到了问题点:因为是流式返回,大模型一次只会给我3~6个字符。我的解析逻辑是大模型给我2、3个字,我预先格式化+转码+过滤特殊字符,然后给画面,画面解析,然后拼接到变量上。也就是说,大模型每次给我几个字符,我都进行解析一次,然后前端进行拼接,实时展示给用户。
2024-03-26 21:00:00
2109
原创 k8s增加从节点记录
闲来无事,自己找了几个废机器尝试搭建k8s集群。成功后研究了一下如何增加从节点。本记录是基于【kubesphere-all-offline】离线包部署的教程,使用其他方式部署的k8s应该使用另外的方式去增加从节点。
2024-03-20 20:30:00
843
原创 java实现计算ROUGE-L指标,使用hanlp来进行中文分词(二)
上篇文章中,我们也是计算了指标,但是采用的是英文分词器。我查看官方文档发现,他支持中文的分词器,但是在我代码中一直报错找不到指定的分词器,因此我决定引入hanlp来进行中文分词。
2024-03-13 20:15:00
353
原创 java实现计算ROUGE-L指标(一)
ROUGE (Recall-Oriented Understudy for Gisting Evaluation) 是用于评估自动文摘或机器翻译的一种评估方法,其中的ROUGE-L指标是基于最长公共子序列(Longest Common Subsequence,LCS)来计算的。然后是我的具体代码实现,因为词性标注和词性还原需要借助本地模型实现,为了快速落地量化指标,我暂时不使用词性标注和词性还原。
2024-03-13 18:30:00
633
原创 大模型通用基础知识解析
大模型的训练分两个阶段:预训练(Pretrained)和微调(Fine tuning)。因此大模型训练和微调不完全是一个意思,训练包含了微调。
2024-03-04 21:30:00
1201
1
原创 java后端远程调用文件上传接口(multipart/form-data类型)的方法
multipart/form-data是一种用作传输多个文件/表单项的数据格式。
2024-01-29 21:30:00
3195
原创 高效开发之:删除list集合中某个符合条件的对象
注意哦,这段代码的行为在高并发环境下是不安全的,因为它在遍历列表的同时删除了元素。如果你在多线程环境中运行此代码或使用类似的逻辑,可能会遇到并发修改异常或其他不可预测的行为。有的小伙伴可能对这段代码有疑问,这里逐步解析一下。非必要不建议这样写,没有好处只有坏处。按条件删除复杂对象集合。按条件删除字符串集合。
2023-12-21 19:15:00
1224
原创 chatchat知识库对话接口修改成sse流式输出方案
在chatchat结合chatGLM搭建的私有化知识库中,使用原生的webUI画面是可以流式输出的,而直接调用api接口,不管stream为true还是false,都是阻塞式输出的,也就是一口气返回给接口。3、 增加依赖:from sse_starlette.sse import EventSourceResponse,并且修改文件内方法名,和文件明对应上。我们的解决方案是修改StreamingResponse方式返回,变更为EventSourceResponse。注意python的换行问题。
2023-12-18 17:00:00
1859
3
原创 DB-GPT大模型私有化部署搭建
随着大模型的发布迭代,大模型变得越来越智能,在使用大模型的过程当中,遇到极大的数据安全与隐私挑战。在利用大模型能力的过程中我们的私密数据跟环境需要掌握自己的手里,完全可控,避免任何的数据隐私泄露以及安全风险。基于此,我们发起了DB-GPT项目,为所有以数据库为基础的场景,构建一套完整的私有大模型解决方案。此方案因为支持本地部署,所以不仅仅可以应用于独立私有环境,而且还可以根据业务模块独立部署隔离,让大模型的能力绝对私有、安全、可控。我们的愿景是让围绕数据库构建大模型应用更简单,更方便。
2023-12-12 21:15:00
4061
原创 高效开发之:判断复杂list中的对象属性是否包含某个值
技术使用:使用了Java 8引入的Stream API以及Optional类。这些特性用于简化集合的处理和减少空指针异常。
2023-11-30 22:00:00
732
原创 从redis中获取各个属性值拼装成对象列表的优化
我的目标是根据名称,从Redis缓存中获取一些值,并将它们封装到KnowBaseArgDto对象中,然后将这些对象添加到一个列表中返回给前端。
2023-11-24 20:00:00
316
原创 高性能高可用的全能httpclient方法封装
废话不多说,直接干代码一、http请求配置/** * HttpClientConfig http请求配置 */public class HttpClientConfig { /** * 连接时间 ms */ protected int CONNECT_TIMING_OUT = 300000; /** * 请求响应时间 ms */ protected int RESPONSE_TIMING_OUT = 300000;
2023-11-21 18:15:00
441
原创 使用清华智谱ChatGLM2大模型搭建本地私有知识库
首先放上该方案项目的git地址:https://github.com/chatchat-space/Langchain-Chatchat以下是我的搭建和踩坑经验记录。
2023-11-14 21:00:00
2744
2
原创 Maven依赖包冲突的两种排查和解决方案
在“Maven Helper”窗口,你可以选择有冲突的依赖项,并查看插件提供的解决方案。在解决了所有依赖冲突后,保存pom.xml文件,并运行Maven构建命令(如mvn clean install)来验证是否所有冲突都已被成功解决。在pom.xml中使用dependencyManagement可以统一管理项目中的依赖版本,确保所有依赖使用相同的版本。命令:这个命令可以展示项目中的所有依赖关系树,识别哪些依赖引入了冲突的包。通过依赖树,可以确定哪些依赖库引入了冲突的包,并确定它们的版本。
2023-11-09 19:45:00
2028
原创 高效开发之:封装抛异常工具类
PARAMS_ERROR(40000, "请求参数错误"),NOT_LOGIN_ERROR(40100, "未登录"),NO_AUTH_ERROR(40101, "无权限"),NOT_FOUND_ERROR(40400, "请求数据不存在"),FORBIDDEN_ERROR(40300, "禁止访问"),SYSTEM_ERROR(50000, "系统内部异常"),OPERATION_ERROR(50001, "操作失败");/*** 状态码*//*** 信息*/
2023-11-06 21:00:00
152
原创 用python定时清理es的内容,做elk中日志定期删除
1、在linux中安装好python,非常简单,这里不多做赘述。注:再来一个定时任务,加入这个脚本一起清理更佳。注意设置你自己的es的地址!
2023-11-03 10:25:46
342
原创 springboot项目打jar包,运行时提示jar中没有主清单属性
此问题多出在阿里云的spring boot initializer生成的项目,就是上方的打包插件中多出来了个属性。可能性二:maven插件设置了强制打包。在pom中加入下方代码即可。把这个属性注释掉即可。
2023-10-27 20:45:00
1396
4
原创 vue判断是pc端还是手机端访问
比如:我想手机端用户访问进来是手机端的画面,pc端访问的是pc端的画面,我可以在APP.vue中注入这个工具类,然后进行路由转发判断。首先编写一个util.ts工具类,用作判断访问进来的是pc还是手机端。
2023-10-24 09:00:11
428
原创 Linux从时间服务器同步时间
如果同步命令不可用,需要先安装Ntp服务:yum -y install ntp。同步命令:/usr/sbin/ntpdate 111.11.11.111。自己的时间服务器:111.11.11.111。查看当前时间命令:date,发现时间不一致。然后等待同步完成即可。
2023-10-09 15:10:51
185
原创 jaeger不能抓取全部请求(设置抓取请求数)
具体可查看官方文档:https://istio.io/latest/docs/tasks/observability/distributed-tracing/jaeger/1、jaeger有采样率的概念,根据采样率百分比来抓取请求。
2023-09-25 10:20:20
123
原创 springboot远程执行服务器指令
本例是java远程连接到服务器,去抓取查询kubesphere中的etcd日志,并返回。2、编写连接命令工具类KubeSphereSSHUtils。1、在工程中引入下方依赖。
2023-09-18 19:30:00
400
原创 springboot调用webservice简便方式
webservice接口时使用,比较吃内存。仅在管理系统后台中,或者是用户量少时可以采用此取巧方案。
2023-08-08 20:45:00
577
原创 jaeger链路追踪服务无法访问
1、jaeger无法访问,去istio的领域下查看jaeger-query的service是否开启Nodeport。如果想使用外部端口访问,则改为:NodePort,就会自动出现个端口提供外部服务访问。service中的type:为ClusterIP,代表使用服务内部ip。
2023-06-08 09:32:58
419
原创 Post https://istio-galley.istio-system.svc:443/admitpilot?timeout=30s: x509: certificate has expired
命令:kubectl delete po istio-citadel-5f9dc8b9c6-r44p7 -n istio-system。命令:kubectl delete po istio-galley-6c88f9988b-rtg5l -n istio-system。然后问题就解决了,注意等待1分钟和2分钟的时间是必要的,不然可能当时好了,过几分钟之后还出现这个问题,因此一定要有间隔时间。命令:kubectl delete secret istio-ca-secret -n istio-system。
2023-05-31 13:08:14
186
HttpRequest.java
2020-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人