- 博客(355)
- 资源 (6)
- 收藏
- 关注
原创 RAG:检索增强生成系统如何工作
检索增强生成(RAG)是一种生成式人工智能方法,通过将世界知识与定制或私人知识相结合来提高LLM的表现。这些知识集正式分别称为参数记忆和非参数记忆[1]。向LLM提供最新数据:LLM培训数据有时不完整。随着时间的推移,它也可能变得过时。RAG 允许添加新的和/或更新的知识,而无需从头开始重新培训LLM。防止人工智能幻觉:LLM掌握的上下文信息越准确和相关,他们编造事实或断章取义的可能性就越小。维护动态知识库:可以随时更新、添加、删除或修改自定义文档,从而使 RAG 系统保持最新状态,而无需重新培训。
2024-03-31 16:56:52 811
原创 Redis 源码分析--Rehash的实现
在redis中,数据库db的数据结构是struct dict(如下代码所示),而我们插入的数据是保存在d->ht[1].table[h]为头指针的链表中。其中的ht就是hash表。当该hash表的桶的数量到达一定程度时,就需要进行rehash操作。 本文分析redis的rehash过程。
2023-05-22 17:32:13 834
翻译 这样写ChatGPT的提示语,可以领先99%的用户
如何编写好的提示是用好chatgpt 的关键,该文说明了写好提示的4个需要注意的方法,让你可以更好的编写提示,从而获得更好的内容。
2023-05-15 08:42:40 302
原创 RedisRaft介绍
RedisRaft 是一个 Redis 模块,可让您创建强一致性的集群 Redis 部署。该模块使用 Raft 共识算法为 Redis 提供强一致性。注意:该开源项目正在开发中,可以用来研究学习,但暂不能用于生产。
2023-05-07 20:07:46 964
原创 ClickHouse 内存管理是如何实现的
本文介绍Clickhouse内存管理的实现原理。通过本文的分析,可以对Clickhouse的内存管理有一个概要的理解。
2023-05-03 19:19:41 1832
原创 如何优化clickhouse分布式表的join查询性能
在分布式表的Join操作中,使用异步查询可以提高Join操作的性能。在分布式表的Join操作中,设置合适的并行度可以提高Join操作的性能。在分布式表的Join操作中,选择合适的分片键可以减少跨分片Join操作的次数。通常情况下,选择Join操作中参与的表格的分片键相同或者有相关性的列作为分片键可以提高Join操作的性能。以上通过:避免跨分片Join操作、选择合适的分片键、使用本地Join、预先筛选数据、设置合适的并行度和使用异步查询等方式来优化ClickHouse分布式表的Join查询性能。
2023-04-28 07:15:44 1950
翻译 无锁编程算法简介(An introduction to lockless algorithms)
你可知道…?LWN.net 是订阅者支持的出版物;我们依靠订户来保持整个操作的进行。请通过购买订阅并保持 LWN 在线来提供帮助。当传统的锁定原语无法使用或性能不够好时,Linux 内核会对无锁算法感兴趣。出于这个原因,他们时不时地出现在 LWN 上;促使我撰写本系列文章的最后一次提及是在去年 7 月。出现得更频繁的主题是读取-复制-更新(RCU——这些 2007 年的文章仍然高度相关)、引用计数,以及将无锁基元包装到更高级别、更容易理解的 API 中的方法。
2023-04-27 22:24:40 337
翻译 学习 ChatGPT 的顶级免费资源
到目前为止,大多数使用互联网的人都知道 ChatGPT 及其功能。但是,他们对它的工作原理和使用方法缺乏了解。在此博客中,我们将介绍免费资源以了解 ChatGPT 的基础知识、更好地使用 OpenAI API、微调 GPT 模型并成为提示专家。您还将学习如何使用 ChatGPT 创建应用程序、分析数据并提高工作效率。请记住,人工智能将继续存在。您需要开始学习它才能面向未来。
2023-04-27 21:59:09 506
原创 学习如何使用 ChatGPT 来学习 Python(或其他任何东西)(翻译)
学习是一项伟大的成就,花时间扩展你的知识是值得称道的。了解 ChatGPT 是我们可以使用的工具,让我们看看它如何帮助我们学习 Python。我们也让它成为一个小元:我们将让 ChatGPT 为我们提供一系列提示,我们随后可以使用这些提示与 ChatGPT 交互以学习 Python。这不仅是学习 Python 的有效方法,您还可以利用 ChatGPT 的优势以相同的方式帮助您学习任何主题。结论是:ChatGPT 不仅仅是炒作,它是一个有用的工具,每个人都可以以某种方式利用它。好的,这是很好的高级概述。
2023-04-27 21:48:51 681
原创 Doris向量化执行引擎原理(概述)
向量化执行引擎是一种高效的数据处理方式,它将数据分为多个向量进行处理,能够充分利用 CPU 的 SIMD 指令集,提高数据处理的效率。在 Doris 中,向量化执行引擎被广泛应用于查询优化、数据压缩、聚合计算等方面,能够显著提高 Doris 的查询性能和数据处理能力。
2023-04-05 21:06:46 2207
原创 airflow源码分析-任务调度器实现分析
本文介绍Airflow执行器的总体实现流程。通过函数调用的方式说明了Airflow scheduler的实现原理,对整个调度过程的源码进行了分析。通过本文,可以基本把握住Airflow的调度器的运行原理主线。
2023-04-05 16:49:18 1015
原创 ChatGPT 将如何颠覆数据和分析领域(翻译)
每个人都在谈论 ChatGPT。许多人也在使用它。这个新的人工智能工具由 OpenAI 推出,它在各行各业和各行各业的人们中引起了轰动。该工具可以为查询提供明确的响应、编写代码并为大多数查询提供结果,甚至是那些与流程、数据模型或代码相关的查询!
2023-04-02 16:19:06 5978
原创 SparkSQL实现原理-UDF实现原理分析
本文介绍Dataset的UDF的实现原理。UDF是User-Defined Functions的简写。用户可以根据自己的需要编写函数,并用于Spark SQL中。但也要注意,Spark不会优化UDF中的代码,若大量使用UDF可能让数据处理的性能受到影响,所以应该优先选择使用spark的api或sql语句来处理数据。
2023-03-12 17:26:20 903
原创 如何选择: 数据仓库(Data Warehouse),数据湖(Data Lake),数据湖仓(Data Lakehouse)
databricks公司推出delta lake后,又推出了Data Lakehouse。该产品结合了数据仓库和数据湖的优势。本文介绍了数据仓库,数据库,数据湖仓的特点和使用场景,避免在使用时产生混淆。
2023-03-12 10:17:54 1423
原创 Memcached源码分析-主架构分析
本文通过阅读memcached的源代码,剖析了memcached的主流程处理的架构设计。包括主流程的线程模型和网络事件处理机制。 该架构通过一个主线程来分发客户端的连接任务,worker接管连接后负责处理客户端的各种请求。
2022-10-18 08:42:13 1173
原创 SparkSQL实现原理-DataSet缓存的实现
本文介绍了SparkSQL中Dataset缓存的具体实现原理。可见,对于Dataset的缓存只是生成了一个逻辑计划,当执行action算子实际计算数据才会计算并缓存数据。
2022-09-02 07:22:44 710
原创 Flink实战--多流合并
本文介绍Flink的流合并操作。在Flink中,流的合并操作算子有:Union和Connect等。本文主要介绍这个两个算子的使用方法
2022-05-29 18:02:02 4086
原创 Clickhouse实战--开窗函数的使用(1)
本文介绍了Clickhouse的窗口函数,并通过几个例子介绍了其窗口函数的基本使用。后面会继续说明其他函数的使用。
2022-05-05 09:28:37 4177
原创 Docker实战--容器构建(入门)
本文介绍简单Docker镜像的构建方式。构建Docker镜像有两种方式,这里介绍的是使用Dockerfile构建镜像。
2022-05-04 16:49:04 1533
原创 ClickHouse实战--对接kafka
Clickhouse支持了把kafka的数据同步到数据表中,可以通过配置的方式来做到这一点。而且能保证excactly once的语意,这种机制,为实时流的处理带来了很大的方便。
2022-05-04 16:45:55 5767
原创 ClickHouse实战--使用ReplacingMergeTree来更新数据
本文通过一些例子介绍了如何使用ReplacingMergeTree引擎。在使用ReplacingMergeTree要注意:(1)只有相同分区的数据行才会被合并,所以,必须要注意让需要合并的数据落到相同分区中。(2)若是分布式表,还需要注意要让需要合并的数据落到相同的节点上。(3)不能频繁使用optimize操作;(4)ReplacingMergeTree有一定的适用场景,不是所有的场景,需要根据业务需要进行选择。
2022-05-03 17:26:16 4351
原创 Clickhouse实战--数据更新和删除概述
本文对Clickhouse的数据更新操作进行了一个概述,对更新数据的几种方式进行了说明。这几种方式的详细步骤介绍,会在新的文章中进行说明。
2022-05-03 17:24:36 8392
原创 ClickHouse实战--使用分布式表
本文介绍了分布式表的基本操作。包括分布式表的创建,如何向分布式表插入数据,如何更新分布式表的表结构等操作。
2022-05-03 15:08:38 9976
原创 Clickhouse实战-ReplacingMergeTree引擎实战
通过ReplacingMergeTree表引擎,可以自动的对表中的数据进行去重。通过这种方式,就可以批量插入数据而不需要批量更新数据,并能保证数据的版本是最新的。
2022-03-28 08:34:07 725
unix network programing
2009-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人