- 博客(55)
- 收藏
- 关注
原创 多线程异常、MQ、Kafka(八股)
核心逻辑触发拒绝时,不直接处理任务,而是把任务丢进消息队列种,然后由专门的消费者线程从MQ中拉取任务,重新提交到线程池,直到执行成功使用场景绝对不能丢任务的核心任务,比如订单支付、转账、库存扣减—即使线程池长期满负荷,任务也能在MQ中暂存,重试后执行。关键优势无任务丢失风险,且不阻塞提交线程。
2025-11-05 16:16:42
1425
原创 预训练语言模型
Transformer结构主要由Encoder、Decoder组成,根据特点引入了ELMo的预训练思路。ELMo(Embeddings from Language Models)是一种深度上下文化词表示方法,
2025-06-27 17:40:05
1095
原创 Happy-LLM 第一章 NLP概述
引言定义:NLP即自然语言处理,是计算机科学、人工智能以及语言学领域的分支学科,旨在让计算机能够理解、解释和生成人类的语言。NLP任务中文分词中文与英文不同,没有像英文一样词与词之间存在空格方便分词器进行识别。中文分词器是根据语义进行分词我爱自然语言处理["我", "爱", "自然语言", "处理"]子词切分对于未遇到的或者复杂的字词,子词即为可以描述这些字词的其他语句。自然语言处理["自", "然", "语", "言", "处", "理"]或["自然", "语言", "处理"]
2025-06-16 11:33:26
883
原创 Docker_Desktop开启k8s
在Docker Desktop中启用Kubernetes服务,需先修改Docker Engine配置并添加镜像源。从GitHub下载k8s-for-docker-desktop项目,执行load_images脚本后,在Docker设置中启用Kubernetes并重启。接着部署Dashboard资源,通过kubectl proxy访问。获取登录Token时若提示没有默认secret,可使用kubectl列出所有secret并获取正确名称,或直接创建有效期为8760小时的token。最终访问地址为:http:/
2025-06-05 14:25:21
887
原创 DW FastAPI Task01
本文介绍了如何使用FastAPI框架进行异步编程,并详细讲解了路径参数的使用。首先,确保Python版本为3.10+,并安装FastAPI和Uvicorn库。通过async和await关键字,可以实现非阻塞的异步操作。文章展示了如何创建第一个FastAPI程序,并返回简单的JSON响应。接着,介绍了路径参数的基本用法,包括如何定义和获取路径参数,以及如何使用枚举类预设有效参数。此外,还讲解了如何处理包含文件路径的参数,并介绍了默认查询参数、必须查询参数和可选查询参数的使用方法。最后,文章展示了如何组合使用这
2025-05-14 01:45:52
961
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2025-04-03 16:53:47
294
原创 推荐系统-算法-基于向量的召回
FM模型在召回阶段是将用户和物品都打包成一个向量,两者的内积就是匹配分数。yx:=w0i1∑nwixii1∑nji1∑n⟨vivj⟩xixj翻译过来就是:总分 = 全局偏置 + 一阶特征加权和 + 二阶特征交叉特征值针对这个二阶特征交叉项来讲,Okn2∑ij⟨vivj⟩xixj21∑i1nvixi2−。
2025-02-18 11:38:47
1178
原创 推荐系统-算法
本次内容:UserCF(基于用户的协同过滤算法)根据用户之前的喜好以及有相似用户行为画像的用户的喜好来给当前用户推荐物品,ItemCF(基于物品的协同过滤算法)预先根据所有用户的历史行为数据,计算物品之间的相似性,然后推荐给用户矩阵分解(隐语义)用于解决协同过滤算法不能很好的处理稀疏矩阵的问题矩阵稀疏的含义:比如一个表格中记录了所有用户对所有物品的喜好评分,但因为不是每个用户都会去对某个物品评分,所以这个矩阵就很稀疏。
2025-02-13 20:12:11
516
原创 思维链 CoT(Chain of Thought)
思维链(CoT)是一种用于设计 prompt 的方法,即 prompt 中除了有任务的输入和输出外,还包含推理的中间步骤(中间思维COT通过要求/提示模型在输出最终答案之前,显式输出中间逐步的推理步骤这一方法来增强大模型的算数、常识和推理的性能,2022 年,在 Google 发布的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出,
2025-02-02 16:08:03
2049
原创 SwanLab+Qwen2.5-Coder-7B-Instruct Lora微调
参考DataWhale项目self-llm[原文地址](记录自己的一次微调使用的数据集是中文法律问答数据集,使用SwanLab监控训练过程与评估模型效果。
2025-01-10 00:54:14
1203
原创 Datawhale AI夏令营第四期魔搭- AIGC方向 task01笔记
赛事报名链接开通阿里云PAI-DSW试用在魔搭社区进行授权,阿里云账户里,资金不能为负创建实例:。
2024-08-07 11:32:16
1411
原创 Milvus向量数据库理论
首先,向量数据库的构建,我使用的embedding模型可在代码中找到,我用python写了对外的接口方便java程序调用(因为我熟悉使用java,没有第一时间考虑python构建),但是在后续构建中我发现,vector类型的向量vectorFloat在jdk版本低于16的时候不能用,stackflow中建议的加pom依赖也不行。Milvus是向量数据库模型构建,EsServiceImpl是Es的构建,存储清理后的训练数据,检查查询效率,MilvusServiceImpl中存放向量数据库的构建代码。
2024-07-29 12:02:53
580
原创 NLP自然语言处理任务
长短期记忆网络是一种循环神经网络(RNN)的变体,它能够有效地处理和预测时间序列数据,如文本、语音、视频等,LSTM网络通过专门的记忆单元来解决RNN中的梯度消失和爆炸问题,使其能够更好地捕捉长期依赖关系,被广泛应用于自然语言处理、时间序列预测等领域。
2024-07-29 11:53:21
798
原创 如何快速部署项目
创建一个文件夹,自己记住名字就可以,或者放到那个以自己服务器名字命名的文件夹下面,比如我的名字是root,就把jar包放到root文件夹下,打开这个文件夹,直接把桌面上的jar包拉进去,等待上传。等待打包完成后,idea左边放项目代码的边框中,找到target包,打开后,里面会有一个.jar.后缀的压缩吧包,这个就是你的项目代码。等一会,你会看见在你的jar包下面有一个nohup文件,然后你直接把Xshell7 关闭,然后再打开你的项目(浏览器输入网址~)你会发现,项目依然在运行着。
2024-07-27 10:41:12
473
原创 xaiofugeChatGLM项目中关于流式接口的设计
在这里,emitter是一个`ResponseBodyEmitter`对象,它的作用是用于异步的相应数据给前端,它允许你将数据以流的形式发送,而不是一次性的全部发送完成的数据。订阅这个SDK里面的completions方法,在这个订阅里面,设置了onEvent和onClosed方法,对于onEvent方法,这个方法在收到聊天完成事件时会被调用,先将收到的数据解析为`ChatCompletionResponse`对象,然后根据事件类型type进行不同的处理。// 1. 基础配置;流式输出、编码、禁用缓存。
2024-07-27 10:37:47
502
原创 Web前端
超文本标记语言(Hyper Text Markup Language),HTML描述了一个网站的结构,是一种标记语言而非编程语言。一个HTML元素是HTML文件的一个基本组成单元。层叠样式表(Cascading Style Sheets)它的主要职能就是确定布局和元素的表现。CSS不能单独使用,必须和HTML或XML一起协同工作,为HTML或XML齐装饰作用。改变HTML元素的样式。缩写为JS,是一种高级的,解释型的编程语言,用来给网页添加各式各样的动态功能。
2024-07-26 08:49:23
748
原创 LangChain
ChatGPT 的巨大成功激发了越来越多的开发者兴趣,他们希望利用 OpenAI 提供的 API 或者私有化模型,来开发基于大型语言模型的应用程序。尽管大型语言模型的调用相对简单,但要创建完整的应用程序,仍然需要大量的定制开发工作,包括 API 集成、互动逻辑、数据存储等等。为了解决这个问题,从 2022 年开始,许多机构和个人相继推出了多个开源项目,旨在。其中一个备受关注的项目就是 LangChain 框架。。
2024-07-26 08:46:10
636
原创 Java Web
但我们知道,图片文件的明显不同之处在于,图片的内容不是可以直接阅读的字符文本,而是二进制编码,所以,请求图片,excel等各种非字符文本文件时,不能使用response.body().string();所以,我们只要在程序代码中,附加上User-Agent信息,就能允许成功了,当然,这里的User-Agent是模拟的。Host表示当前请求的域名,虽然这个域名已经存在于URL中,但遇到复杂的场景,例如使用代理服务器,或者URL中不写域名而是写IP地址进行请求等,设置Host就非常有用了。
2024-07-25 10:56:27
801
原创 Java的反射机制
定义在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。反射(Reflection)是Java语言的特性之一,能够让Java程序在运行时动态地执行类的方法、构造方法等。可以说有了反射,不管什么类在我们面前都毫无隐私可言,什么privateprotecteddefault。
2024-07-25 10:52:19
1162
原创 Dubbo
Dubbo 一个项目同时运行在多台服务器上,称之为集群分部 分布式架构的核心理念,是按照不同领域的拆分系统,不同的子系统放在各自的项目里面,初始在各自的集群中。 编辑 拆分系统后,每个子系统
2024-07-24 17:49:22
674
原创 大模型文章调研
根据**LLaMA: Open and Efficient Foundation Language Models**这篇论文得出,作者认为,大部分人是用已经训练好的LLM进行推理的,所以,我们首选的模型应该不是训练最快的,而是推理最快的LLM。直接的作用就是防止模型“**过拟合**”,提高了模型的泛化性能。百亿参数是模型具备涌现能力的门槛,千亿参数的模型具备较好的涌现能力,当模型参数量增长超过一定阈值时,模型能力表现出跃迁式的提升,表现出来语言理解能力、生成能力、逻辑推理能力等能力的显著提升,
2024-07-24 17:09:18
499
原创 Java并发
方法存入一个List集合,所以collect()方法的返回值类型就是List为了能够把最终结果转换为字符串打印,调用了map()方法把流中原来的整数映射为字符串(""+a),所以collect()方法的返回值类型就是List,而不是List相比普通java代码,Stream的显著特点是:编程的重点,不再是对象的运用,而是数据的计算。方法的参数是一个Lambda表达式,在语句块中对流中的每个数据对象进行计算,处理,最后用return语句返回的对象,就是转换后的对象。
2024-07-24 16:47:44
1109
原创 阿里云CentOS系统环境配置
centos安装mysql执行如下命令,更新YUM源。执行如下命令,安装MySQL。执行如下命令,查看MySQL版本号。mysql -V执行如下命令,启动MySQL服务。执行如下命令,设置MySQL服务开机自启动。配置MySQL的root用户密码。执行如下命令,查看/var/log/mysqld.log文件,获取root用户的初始密码。输入log中密码执行以下命令,修改MySQL的root用户的初始密码。
2024-07-23 10:38:31
1483
原创 Spring Web
面向微服务的框架创建Spring Boot工程在官方网站可以直接创建在本地中,只选择Spring Web即可当我们看见404错误界面,这个界面以后会经常看见,这个错误说明我们访问的服务地址是错误的,这是Spring Boot的默认错误界面,出现这个界面说明我们的应用启动成功了。
2024-07-23 10:36:25
661
原创 向量数据库Milvus理论
首先,向量数据库的构建,我使用的embedding模型可在代码中找到,我用python写了对外的接口方便java程序调用(因为我熟悉使用java,没有第一时间考虑python构建),但是在后续构建中我发现,vector类型的向量vectorFloat在jdk版本低于16的时候不能用,stackflow中建议的加pom依赖也不行。Milvus是向量数据库模型构建,EsServiceImpl是Es的构建,存储清理后的训练数据,检查查询效率,MilvusServiceImpl中存放向量数据库的构建代码。
2024-07-23 10:30:13
1251
原创 模型数据构建
Milvus是向量数据库模型构建,EsServiceImpl是Es的构建,存储清理后的训练数据,检查查询效率,MilvusServiceImpl中存放向量数据库的构建代码。5. **Embedding**:python调用大模型,提供计算接口,将question传入,以此计算向量值,存入embedding......首先,设置了title和question作为联合查询,并以title、question、id作为索引,搜索的时候可以以此查询到更具体的数据。Es和向量数据库Milvus的构建与数据存储。
2024-07-23 10:17:28
530
原创 NLP自然语言处理任务
即,大模型通过前t-1个token作为条件,来预测第t个token的是哪一个,当你的前面的条件文本过长时,大模型的输出的几个短文本会被原始的很长的条件文本淹没,继续预测下一个token的话,在模型看起来可能条件仍然是差不多的(因为对于很长的文本来说几乎没发生变化,只新增了非常短的文本),此时如果使用greedy search,只选择概率最大的一个token,模型极大可能会将前面已经生成的短文本重新预测成概率最大的文本,以此类推,会一直重复下去。1. **数据清洗**:首先,对抓取的网页内容进行数据清洗。
2024-07-22 00:25:53
706
原创 xaiofugeGLM项目总结
这是一个定时任务,数据库中查询已支付的未发货的订单,如果由,再次eventBus.post(orderId)用户下单部分是通过购物车下单,然后创建订单然后支付,用户下单后,要先落库,再去创建支付单,根据创建的结果,再去更新库。3. 对于原始聊天内容中的每条消息,使用words对象来替换其中的敏感词,并将修改过的消息存储在新的聊天中。4. 会话工厂中配置日志,开启HTTP客户端,创建API服务,封装工厂,提供接口。2. 如果用户不在白名单上,则创建一个新的聚合对象,用于存储过滤后的聊天内容。
2024-07-22 00:23:47
454
原创 大模型评估
但是,由于我们使用了 Prompt Template 来填充用户问题,用户问题中存在的格式要求往往会被忽略,针对该问题,一个存在的解决方案是,在我们的检索 LLM 之前,增加一层 LLM 来实现指令的解析,将用户问题的格式要求和问题内容拆分开来。针对用户输入的一个 query,系统会将其转化为向量并在向量数据库中匹配最相关的文本段,然后根据我们的设定选择 3~5 个文本段落和用户的 query 一起交给大模型,再由大模型根据检索到的文本段落回答用户 query 中提出的问题。① 知识查找正确性。
2024-07-22 00:20:54
1290
原创 Docker前后端部署
将该容器直接加入到此网络中,这样后端去尝试访问redis或者MySQL的时候,可以在后端配置文件的mysql、redis的地址除直接写mysql、redis。-v mysql data:/var/lib/mysql //数据卷挂载,持久化存储,防止重启导致的数据丢失。项目配置文件里面,把redis和mysql的地址和端口修改为服务器的地址和docker容器的端口,ps:前端应该访问的后端地址应该是宿主机的地址!--name blog_mysql //将该容器命名为blog_mysql。
2024-07-22 00:19:12
466
原创 数据处理后使用LangChain计算embedding
由于单个文档的长度往往会超过模型支持的上下文,导致检索得到的知识太长超出模型的处理能力,将单个文档按长度或者按固定的规则分割成若干个 chunk,然后将每个 chunk 转化为词向量,存储到向量数据库中。print(f"载入后的变量类型为:{type(md_pages)},", f"该 Markdown 一共包含 {len(md_pages)} 页")print(f"载入后的变量类型为:{type(pdf_pages)},", f"该 PDF 一共包含 {len(pdf_pages)} 页")
2024-07-22 00:17:14
1351
原创 大模型理论调研
为了解决这个问题,在算法中引入加法平滑方法,对于分类算法的计算公式的分母加上取值范围的大小,在分子加1.平滑的目的也是正则化的目的之一:它可以令w的任何一个分量相比较于剩余分量变化程度保持一致,不至于出现变化特别明显的分量。(减少模型出现“幻觉”的可能性)LLaMA系列模型是Meta开源的一组参数规模从7B到70B的基础语言模型,使用了大规模的数据过滤和清理技术,以提高数据指令和多样性,减少噪声和偏见(关于噪声见个人调研),LLaMA模型使用了高效的数据并行和流水线并行技术,以加速模型的训练和扩展。
2024-07-22 00:16:42
677
原创 大模型开发流程
question向量化,将用户知识库内容向量化存入数据库,并且,用户每次提问也会经过Embedding,然后利用向量相关性算法(例如余弦算法)找到最匹配的几个知识库片段,将这些知识库片段作为上下文,与用户问题一起作为 Prompt 提交给 LLM 回答。这一步需要认真考虑好,这个模型应用的目标群体是谁,需求方的具体应用场景是什么,不一定每次都要一个大模型为底座。文本分割,受限与大模型使用的token限制,我们需要对读取的文本进行切分,将长文本切为小文本,一个文本就是一个单位的知识。提交给LLM生成回答。
2024-07-22 00:16:09
612
原创 RAG检索增强
RAG可以更新检索知识库,无需重新训练,适合动态变化的数据,但模型的风格不好充分的自定义,推理时间也会变长,但可以有效的降低模型产生幻觉的概率,在使用RAG引用外部数据时,需要考虑隐私版权问题。Es和向量数据库Milvus的构建与数据存储 (github.com)),然后将用户的问题输入到检索系统中,从数据库中检索相关信息,增强阶段:对检索的信息进行处理和增强。某些情况下,模型无法提供准确的答案,RAG应运而生,该架构整合了从大型知识库中检索到的相关信息,并以此为基础,指导大语言模型生成更准确的答案。
2024-07-22 00:15:33
163
原创 大模型Prompt
Temperature 一般取值在 0~1 之间,当取值较低接近 0 时,预测的随机性会较低,产生更保守、可预测的文本,不太可能生成意想不到或不寻常的词。当取值较高接近 1 时,预测的随机性会较高,所有词被选择的可能性更大,会产生更有创意、多样化的文本,更有可能生成不寻常或意想不到的词。"system prompt": "你是一个幽默风趣的个人知识库助手,可以根据给定的知识库内容回答用户的提问,注意,你的回答风格应是幽默风趣的",然后跟上自己希望模型摘要的内容,模型会根据这个prompt来生成摘要。
2024-07-22 00:14:37
722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅