自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 聊聊AI时代学习这件事本身应该发生什么样的变化

随着 AI 大模型 的爆发,我们身处这个时代,应该怎么样去学习去了解这些前言的技术?可能很多人会说我英文不好,我算法不行,无法深入去了解 AI 大模型相关的知识吧?没关系,其实博主也跟大家一样,英文 just so so!今天我们就来聊一聊,在 AI 爆发的当前,学习这件事情本身应该发生什么样的变化。

2024-03-18 18:38:58 1000

原创 SenseNova 商汤日日新大模型 Function Call(函数调用)功能讲解和应用示例

在 LLM(Large Language Model) 语言大模型时代,Function Call(函数调用)是指可靠地连接LLM 与外部工具的能力。让用户能够使用高效的外部工具、与外部API进行交互。GPT-4 和国内 SenseNova 等经过微调的 LLM,能够检测函数是否被调用,随后输出包含调用函数参数的 JSON。通过这一过程被调用的函数能够作为工具添加到您的 AI 应用中,并且您可以在单个请求中定义多个函数。函数调用是一项重要能力。它对于构建 LLM 驱动的聊天机器人或代理至关重要。这些聊天机器

2024-03-14 19:42:59 2270

原创 ChatGPT是什么,怎么使用,需要注意些什么?

ChatGPT,全称聊天生成预训练转换器(ChatGenerativePre-trainedTransformer),是OpenAI 开发的人工智能(AI)聊天机器人程序,于2022年11月推出。该程序使用基于GPT-3.5、GPT-4架构的大语言模型并以强化学习训练。

2024-03-18 17:37:16 1047 2

原创 什么是机器学习?

算法是一组预先编程的步骤;机器学习模型则是将算法应用于数据集合时产生的结果。尽管有这种区别,但“机器学习模型”和“机器学习算法”这两个术语有时还是可以互换使用的。但这种差异非常重要:只要每个模型的起点数据不同,即便是使用相同的算法,两个机器学习模型也会产生不同的结果。深度学习是机器学习的一种。它使用神经网络来学习识别原始、非结构化数据中的模式并建立关联。深度学习是无监督学习,可以执行极其复杂的任务。它通常用于语音识别、自动驾驶和其他先进应用。神经网络是一种模仿人脑结构的机器学习方法。

2024-03-15 16:15:08 684

原创 什么是深度学习?

在机器学习领域中,无监督学习是一种在不了解数据集包含的内容的情况下识别大型数据集中的模式和关联的方法。相比之下,监督式学习为模型提供示例输入和输出。深度学习可以使用监督式学习来训练模型,但其无监督学习的能力使其有别于其他类型的机器学习。想象一下,给机器学习模型输入新闻文章示例,并指出每篇文章的相关主题。经过充分训练后,该模型也许能够就某一主题“撰写”一篇文章。这就是监督式学习。现在,想象一下给深度学习模型输入一系列新闻文章示例,但没有指出每篇文章的相关主题。

2024-03-15 16:12:41 813

原创 什么是神经网络?

Transformer 神经网络之所以值得强调,是因为它们在当今广泛使用的 AI 模型中占据了极其重要的位置。Transformer 模型于 2017 年首次提出,它是一种神经网络,使用一种名为“自注意力机制”的技术来考虑序列中元素的上下文,而不仅仅是元素本身。通过自注意力机制,它们甚至可以检测到数据集各部分之间的微妙联系。这种能力使它们非常适合分析(举例来说)文本的句子和段落,而不仅仅是单个单词和短语。

2024-03-15 16:07:03 2227 1

原创 什么是向量数据库?

向量是一个数值数组,用于表示浮点在几个维度上的位置。在更日常的语言中,向量是一串数字,如:{12, 13, 19, 8, 9}。这些数字表示空间中的某个位置,就像电子表格中的行和列编号表示某个单元格一样(例如:"B7")。Embeddings 是由神经网络生成的向量。深度学习模型的典型向量数据库由 Embeddings 组成。一旦对神经网络进行了适当的微调,它就能自行生成 Embeddings,因此无需手动创建。如上所述,这些 Embeddings 可以用于相似性搜索、上下文分析、生成式 AI 等。

2024-03-15 14:58:02 1075

原创 什么是大型语言模型(LLM)?

大型语言模型 (LLM) 是一种人工智能 (AI)人工智能 (AI)人工智能 (AI)程序,它可以识别和生成文本以及完成其他任务。LLM 经过了庞大的数据集庞大的数据集庞大的数据集的训练,因此称之为“大型”。LLM 在机器学习机器学习机器学习的基础上构建:具体来说,它是一种称为 Transformer 模型的神经网络神经网络神经网络。简单地说,LLM 是一个计算机程序,已经为它提供了足够多的示例,使它能够识别和解释人类语言或其他类型的复杂数据。

2024-03-15 14:33:41 1102

原创 大语言模型提示词技巧

LLM(Large Language Model)大语言模型时代,提示词(Prompt)很重要,而改进提示词显然有助于在不同任务上获得更好的结果。这就是提示工程背后的整个理念。下面我们将介绍更高级的提示工程技术,使我们能够完成更复杂和有趣的任务。

2024-03-15 10:31:29 1512

原创 PyCharm 中 Python 解释器的配置

作为 Python 新手,在了解了基本语法之后,肯定得先用 IDE 工具写个 Hello World 以此来了解 Python 编程语法及 IDE 工具的使用,这里我用的 IDE 工具是 PyCharm。在这里记录下 PyCharm 如何配置 Python 的解释器。

2024-03-14 11:43:15 1191

原创 【Java系列】OOM 时,JVM 堆栈信息保存和分析

在日常开发中,即使代码写得再谨慎,免不了还是会发生各种意外的事件,比如服务器内存突然飙高,又或者发生内存溢出(OOM)。当发生这种情况时,我们怎么去排查,怎么去分析原因呢?一般遇到这种情况,都是需要 dump 出来 JVM 堆栈信息进行排查和分析。

2024-03-13 15:11:57 2237

原创 如何export windows中的环境变量

原因是学习教程中用的 Linux 系统,而在 Windows 系统中没有 export 命令,应采用。在大语言模型(LLM)学习过程中, 利用 jupyter 导入环境变量时出现以下问题,

2024-03-12 12:31:31 1656

原创 大语言模型提示工程简介

提示工程是一个较新的学科,应用于开发和优化提示词(Prompt),帮助用户有效地将语言模型用于各种应用场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提高大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计和研发出强大的技术,实现和大语言模型或其他生态工具的高效接轨。本指南介绍了提示词相关的基础知识,帮助用户了解如何通过提示词和大语言模型进行交互并提供指导建议。

2024-03-11 13:18:46 965

原创 大语言模型智能体简介

通常,一个大语言模型智能体框架包含以下核心部分:通过这些组成部分的协同工作,大语言模型智能体能够处理从简单到复杂的各种请求,不仅能够提供直接的答案,还能解决需要深度分析和多步骤操作的问题。这种智能体的能力,使其在处理复杂信息查询、数据分析和可视化表示等方面具有巨大潜力。用户请求 - 表达用户的问题或请求智能体/大脑 - 作为协调者的智能体核心规划- 助于智能体为未来行动做规划记忆 - 管理智能体的历史行为和经验。

2024-03-11 12:58:21 1442

原创 【Kafka系列 08】生产者消息分区机制详解

我们在使用 Apache Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是对于那种大批量机器组成的集群环境,每分钟产生的日志量都能以 GB 数,因此如何将这么大的数据量均匀地分配到 Kafka 的各个 Broker 上,就成为一个非常重要的问题。

2024-03-10 15:45:23 765

原创 【Kafka系列 07】Kafka 如何保证消息不丢失

一直以来,很多人对于 Kafka 丢失消息这件事情都有着自己的理解,因而也就有着自己的解决之道。在讨论具体的应对方法之前,我觉得我们首先要明确,在 Kafka 的世界里什么才算是消息丢失,或者说 Kafka 在什么情况下能保证消息不丢失。这点非常关键,因为很多时候我们容易混淆责任的边界,如果搞不清楚事情由谁负责,自然也就不知道由谁来出解决方案了。那 Kafka 到底在什么情况下才能保证消息不丢失呢?一句话概括,Kafka 只对“已提交”的消息(committed message)做有限度的持久化保证。

2024-03-08 17:47:53 1091

原创 【MySQL系列 05】Schema 与数据类型优化

良好的数据库 schema 设计和合理的数据类型选择是 SQL 获得高性能的基石。

2024-03-08 17:46:45 788

原创 【Java系列】Hutool-JWT

Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。该 token 被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。

2024-03-01 09:59:08 2491

原创 AI 大模型学习网站推荐

ChatGPT 聚合站游戏生成站家庭作业辅助站文字转语音站艺术作画站制作站dell.eai 写作站音乐制作站声音模拟站一句话生成一段视频文字转语音。

2024-03-01 09:58:00 579

原创 【Kafka系列 06】Kafka Producer源码解析

调用 KafkaProducer.send() 发送消息,在经过拦截器处理,key/value 序列化处理后,实际是将消息保存到 消息累加器 RecordAccumulator 中,实际上就是保存到一个 Map 中 (ConcurrentMap),这条消息会被记录到同一个记录批次 (相同主题相同分区算同一个批次) 里面,这个批次的所有消息会被发送到相同的主题和分区上。

2024-02-28 19:49:54 1444

原创 【Java系列】Java 中 i++ 和 ++i 的区别

今天简单谈谈关于 Java 的一个误区,相信很多刚开始学习 Java 的朋友都会遇到这个问题,虽然问题很简单,但是经常容易搞混,说说 Java 的。可是当循环次数,上升到很大时,差距就很明显了。刚开始学习的 C,Java 的时候,老师都讲过自增形式:即:i++ 和 ++i。可能有朋友要问了,那么在 Java for 循环中。相信有不少朋友第一眼看去,觉得答案是 10,不过,语句是需要一个临时变量,存储自增前的值,而。是先自增再赋值,就能搞懂它们两者的区别了。所以,在 for 循环中,建议使用 ++i。

2024-02-26 18:19:02 171

原创 【MySQL系列 04】深入浅出索引

提到数据库索引,相信大家都不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天我们就来聊聊这个话题。一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本 500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。

2024-02-23 18:18:28 891

原创 【MySQL系列 03】事务隔离:为什么你改了我还看不见?

这篇文章里面,我介绍了 MySQL 的事务隔离级别的现象和实现,根据实现原理分析了长事务存在的风险,以及如何用正确的方式避免长事务。在 SQL 标准中定义了四个隔离级别,每一种级别都规定了一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。今天的文章里,我将会以 InnoDB 为例,剖析 MySQL 在事务支持方面的特定实现,并基于原理给出相应的实践建议,希望这些案例能加深你对 MySQL 事务原理的理解。,则是提交事务并自动启动下一个事务,这样也省去了再次执行 begin 语句的开销。

2024-02-22 18:56:02 848

原创 【MySQL系列 02】一条SQL更新语句是如何执行的?

我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器分析器优化器执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?我们从一个表的一条更新语句说起。可以确定的说,查询语句的那一套流程,更新语句也是同样会走一遍。这里我们再看下那张图,回顾一下。与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们今天要讨论的主角:redo log(重做日志)和binlog(归档日志)。

2024-02-21 18:32:07 1200

原创 【MySQL系列 01】一条SQL查询语句是如何执行的?

当我们在 MySQL 中执行以下这条 SQL 查询语句时,我们看到的只是输入一条语句,返回一个结果,相信大多数人是不知道这条语句在 MySQL 内部的执行过程的。今天我想和你一起把 MySQL 拆解一下,看看里面都有哪些“零件”,希望借由这个拆解过程,让你对 MySQL 有更深入的理解。这样当我们碰到 MySQL 的一些异常或者问题时,就能够直戳本质,更为快速地定位并解决问题。下面我给出的是 MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。

2024-02-21 18:31:32 1038

原创 Elasticsearch性能调优

项目上是用 ES 做数据库,存储的告警数据,量级在千万级别左右。测试在压测之后,系统频繁出现告警记录查询报错,系统不可用。基于此排查分析项目上 Elasticsearch 的使用是否合理。

2024-02-01 19:10:27 1138

原创 【Java系列】Java 8 日期/时间 API 简介

Java 8 引入了新的日期和时间 API,以解决旧版和的缺点。在本教程中,我们从现有Date和CalendarAPI 中的问题开始,讨论新的 Java 8 日期和时间 API 如何解决这些问题。我们还将了解新 Java 8 项目的一些核心类,它们是 java.time 包的一部分,例如及其支持的 API。

2024-02-01 18:10:27 963

原创 Nacos服务注册源码解析

简介:本文将以图文方式详述 Spring Cloud Alibaba 技术体系之 Nacos 服务注册源码解析。

2024-01-30 20:19:43 1345

原创 mysql .ibd 文件过大清理方法

mysql .ibd 文件过大清理方法

2024-01-30 20:17:11 1446

原创 【Java系列】ArrayList源码解析

ArrayList 实现了 List 接口,是有序集合,即用户可以精确控制每个元素在列表中的插入位置,允许放入null元素,底层通过数组实现,支持动态扩容。每个 ArrayList 都有一个容量(capacity),表示底层数组的实际大小。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。

2024-01-24 18:27:49 838

原创 【Kafka系列 05】Kafka 副本机制详解

Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区。副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本。所谓副本(Replica),本质就是一个只能追加写消息的提交日志。根据 Kafka 副本机制的定义,同一个分区下的所有副本保存有相同的消息序列,这些副本分散保存在不同的 Broker 上,从而能够对抗部分 Broker 宕机带来的数据不可用。

2024-01-18 20:22:39 1887

原创 【Kafka系列 04】Kafka 性能调优,怎么做?

通常来说,调优是为了满足系统常见的非功能性需求。在众多的非功能性需求中,性能绝对是我们最关心的那一个。不同的系统对性能有不同的诉求,比如对于数据库用户而言,性能意味着请求的响应时间,用户总是希望查询或更新请求能够被更快地处理完并返回。对 Kafka 而言,性能一般是指和。吞吐量,即TPS,是指 Broker 端进程或 Client 端应用程序每秒能处理的字节数或消息数,这个值自然是越大越好。延时,与类似响应时间,它表示从 Producer 端发送消息到 Broker 端持久化完成之间的时间间隔。

2024-01-18 20:22:06 1431

原创 【Kafka系列 03】生产级集群参数配置

本文将从 Bocker 端参数、Topic 级别参数、JVM 端参数、操作系统级别参数分别介绍 Kafka 集群参数应该怎么配置。文中提到的这些参数都很重要,请读者仔细阅读理解,因为有些配置并未体现在官方文档中,并且从实际表现看,很多参数对系统的影响要比从文档上看更加明显。

2024-01-17 18:42:28 1218

原创 我的创作纪念日

将这些经验以文章的形式呈现,不仅是对自己学习的总结,更是对他人的一份分享。我的职业规划是成为一名技术专家,更深入地研究一些前沿的技术,并通过创作分享给更多的人。在这段时间里,我获得了一批关注者,看到自己的粉丝数逐渐增长,心中充满了对创作的动力。更让我感到欣慰的是,我收到了许多正向的反馈,包括赞、评论、以及文章的阅读量。在解决问题的过程中,我深感将自己的心得记录下来,分享给他人的重要性。创作已然成为我生活的一部分。我之所以自豪,是因为这段代码是我刚开始学习编程时写的,它代表了我在编程道路上的最初努力和突破。

2024-01-17 15:11:18 336

原创 2024 - 我的技术发展规划

我深知这一切的学习和实践都需要时间和耐心,但我相信通过不断努力,我能够不断提升自己的技术水平,迎接未来的挑战。在这个快速发展的行业里,持续学习和规划是保持竞争力的关键,而这也正是我对技术的深度思考和不懈追求的动力所在。近年来,科技行业发展迅猛,各种新技术层出不穷,作为一名开发者,不断学习和适应新趋势成为了必然的选择。在这个变化迅速的时代,我深感自己需要对技术的发展有清晰的规划,因此,我想分享一下我的技术发展规划,以期在不断前行的路上能够更好地把握方向。在我的技术发展规划中,还包括对前端技术的关注。

2024-01-17 14:52:59 390

原创 【Kafka系列 01】Kafka 是什么?

Kafka 是什么?用一句话概括一下:Apache Kafka 是一款开源的消息引擎系统。是分布式流处理平台。

2024-01-16 19:04:17 805

原创 【Kafka系列 02】Kafka 线上集群部署方案

Kafka集群部署需从操作系统、磁盘、磁盘容量和带宽等方面考虑。

2024-01-16 19:03:45 1127

转载 自然语言生成 – Natural-language generation | NLG

NLG 是 NLP 的一部分自然语言生成 – NLG 是 NLP 的重要组成部分。NLU 负责理解内容,NLG 负责生成内容。以智能音箱为例,当用户说“几点了?”,首先需要利用 NLU 技术判断用户意图,理解用户想要什么,然后利用 NLG 技术说出“现在是6点50分”。自然语言生成 – NLG 是什么?NLG 是为了跨越人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等。text – to – text:文本到语言的生成。

2024-01-10 10:22:24 63

转载 自然语言理解 – NLU | NLI

什么是自然语言?自然语言就是大家平时在生活中常用的表达方式,大家平时说的「讲人话」就是这个意思。自然语言:我背有点驼(非自然语言:我的背部呈弯曲状)自然语言:宝宝的经纪人睡了宝宝的宝宝自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以 NLU 是至今还远不如人类的表现。

2024-01-10 10:16:10 30

原创 【SpringBoot系列】使用Flyway管理数据库版本

我们都知道,Git/SVN 是代码界的版本控制工具,那么,Flyway 就是数据库界的版本控制工具,它可以记录数据库的变化记录。

2024-01-09 14:12:41 1971

swagger 转 word 工具 Java代码,一键生成优美 word 格式 API 文档

swagger 转 word 工具 Java代码,一键生成优美 word 格式 API 文档

2024-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除