- 博客(8016)
- 资源 (9)
- 收藏
- 关注
原创 OpenAI闭源模型的微调流程和Function Calling微调
这节课我们重点学习了用OpenAI的Fine-Tuning API进行微调的基本流程。我们首先使用GPT-4生成高质量的领域特定问答数据,然后将数据上传到OpenAI平台。接着提交微调作业,并通过轮询的方式监控作业状态。当作业成功完成后,我们就得到了一个针对特定领域(如金融)进行过微调的模型,可以用于后续的应用开发和部署。如何设计高质量的微调数据?如何根据任务特点选择最佳的基础模型和微调参数?如何权衡微调效果和成本开销?
2026-02-14 13:50:27
483
原创 以Llama 3为例讲透QLoRA量化+微调
Llama是由Meta AI最新发布的一个大语言模型家族,其中Llama 3是截至目前(2024年7月)的最强开源模型。Llama系列模型开启了大语言模型(真正能用的、具有商用价值这个级别的)开源的先河,它的发展历程简单总结如下:表中已经开源的模型,均可以在Meta 官网或者Hugging Face 模型库中下载(需要先申请下载权限)。Llama 3 拥有两个版本,一个是8B(80亿)参数模型,另一个是70B(700亿)参数模型。
2026-02-14 13:41:23
452
原创 以Qwen为例讲透参数高效微调(PEFT)
在很多LLM排行榜上,Qwen,也就是通义千问的开源版,无疑是当前最火的开源中文对话模型之一,它是一个基于Transformer范式的开源中英双语对话模型,由阿里集团开发。目前,Qwen家族在中文开源模型中高居榜首。排名截至2024年5月,来自这个项目它使用了监督微调、反馈引导和人类反馈强化学习等方法进行训练,以提高模型的回答一致性和质量,旨在实现流畅的多轮对话,并在消费级显卡上提供低门槛的本地部署。那么在本节课中,我们就来学习如何微调Qwen,让它更符合我们的应用场景需求。
2026-02-14 13:33:49
572
原创 用Assistants自主思考生成商业报告PPT
在今天的实操中,我们体验了如何利用OpenAI的大语言模型完成从数据分析到PPT生成的全流程。在这个过程中,大语言模型不仅展示了其在文本生成和语言理解上的卓越能力,还展现了其在数据分析和商业智能领域的巨大潜力。通过本次探索,我们深入体验了大语言模型在处理数据、生成可视化、提供有意义见解,以及为文字配图等方面的强大功能。过程中有几个环节令我印象深刻,一是在数据可视化环节,AI通过不断尝试和纠错,最终呈现出一张直观的可视化图表。此外,AI不仅仅停留在数据展示层面,更能够深入挖掘数据背后的洞察。
2026-02-14 13:28:31
525
原创 长PDF文档的总结与评估策略
文档总结是一个经典课题。传统的文档总结方法通常基于统计学和信息检索理论,如提取关键词、句子排序等。这些方法虽然简单高效,但在处理长文档、复杂语义时往往力不从心。老一代的大模型文档总结通常采用两种范式:文本抽取式(Extractive)和摘要生成式(Abstractive)。抽取式方法是从原文中选取关键句作为摘要。比如基于BERT的文档总结就常常使用这个范式。生成式方法则根据对原文的理解,生成新的摘要文本。比如基于初代GPT、T5、BART等生成式模型的文档总结就基于这个范式。
2026-02-14 11:03:12
646
原创 -构建能够读图的基于PDF的RAG系统
在这个案例中,我们巧妙地将不同大模型的能力融合在RAG系统的各个环节,实现了多模态理解、语义检索、知识融合等关键功能。这种灵活运用大模型的思路,值得在其他智能应用的开发中借鉴。在这节课中,我们充分利用了几个大模型。GPT-4V:作为GPT-4的视觉版本,GPT-4V(gpt-4-vision-preview)在RAG系统中扮演了关键角色。我们利用GPT-4V对PDF中的图像进行理解和描述,通过精心设计的提示,引导模型提取图表信息、识别标题等。
2026-02-12 14:38:49
358
原创 -用多步提示引导自动生成Python单元测试代码
编写单元测试是一个相对复杂的任务,因此,我们精心设计的多步骤提示技巧,引导语言模型自动生成Python单元测试代码,可以大大提升单元测试的质量。尤其是对于推理能力较弱的模型,提示设计尤为重要。在多步骤提示中,我们将整个过程分为解释、规划、执行、检查四个环环相扣的阶段,通过详细解析每个步骤的提示内容和模型反馈,可以帮助你深入理解这种分而治之、逐步求精的思路。经过缜密的任务分解和严谨的过程管控,即便面对编写单元测试这样颇具挑战的任务,语言模型也能交出一份令人满意的答卷。
2026-02-12 14:29:16
396
原创 通过设置思考框架,引导模型进行更好的推理
大模型的思考框架是一个非常活跃的研究领域,也是构建更强大的AI Agent的核心内容。目前的思考框架远远不止上述几种,我所选择的这几种框架,则是典型而又具有启发性的。除这几种框架之外,还有多个思维链组合在一起的思维树框架、定向刺激提示框架、知识融合与多跳检索框架等等。广义上说,模型的记忆管理、利用外部知识库进行检索的RAG架构,基于知识图谱进行推理的方法以及工具调用(Function Calling/Tool Calls)等提示范式,还有主流的Agent设计框架ReAct,也都可以视为思考框架的一种。
2026-02-12 13:47:45
881
原创 用5种不同模型展示模型交互5大基本原则
以上就是5个常用的提示工程技巧及其示例。总而言之,设计提示就像通过自然语言来给模型“编程”,需要明确任务目标,提供充足的信息,同时利用恰当的技巧来优化模型的表现。通过巧妙的提示,我们可以让模型发挥出惊人的创造力,为我们解决各种现实问题。除此之外,我们用了5种不同的模型,一种GPT模型,两种Claude模型,以及两种开源模型,一种是中文模型ChatGLM,一种是TinyLlama。你也许感受到这些模型推理效果和使用方式的不同之处了。用GPT或者Claude这种收费模型,简单而直接,功能强大,但是需要付费。
2026-02-12 13:38:28
506
原创 -用Assistants中的File search(RAG)工具做知识检索
File search或Retrieval就是“检索”,是赋予Assistant查阅外部知识的能力。外部知识可以是你的企业内部文档、产品说明书、客户反馈等各种非结构化数据。有了这些额外的知识补充,Assistant可以更好地理解用户需求,给出更加准确、个性化的回复。“检索”的实现原理并不复杂。当你上传一份文档后,OpenAI会自动对文档分块、创建索引,并使用向量搜索从中检索与用户查询最相关的内容。
2026-02-12 13:32:00
757
原创 用Assistants中的Code interpreter做数据分析
Code interpreter这个工具的名字有点误导,一开始,我以为它是一个强大的代码分析器,是类似于Github Copilot、CodeLlama这样的工具,能够分析、补全或者生成代码,帮助开发者提高编程效率和代码质量。我想,如果我把一堆程序代码丢进去,Code interpreter应该能帮我分析分析吧(其实ChatGPT不调用任何工具,就已经可以胜任这种代码分析和生成的任务了)。
2026-02-12 13:16:29
637
原创 OpenAI Assistants中的线程和Run状态解析
在OpenAI Assistant的设计中,Thread代表了Assistant和用户之间的一次完整对话会话。它存储了Assistant和用户之间来回的Messages(消息),并自动处理上下文截断,以适应模型的上下文长度限制。其实这就像是你在网页上和ChatGPT等任何语言模型的一个聊天页面,这个会话过程中,背后的Thread帮你记住之前的聊天上下文,并且在你输入的信息过长时会提醒你。而Run则表示在一个Thread上调用Assistant的过程。
2026-02-12 11:09:06
320
原创 用OpenAI Assistants的Function进行订单管理
上面就是我们今天这节课的全部内容。你看见了Assistants中各种工具开始亮相并大显身手,其中 Functions 是自定义的函数,Code interpreter 是一个代码解释工具,而 File search则是文档检索工具。这些工具,使得Assistant跨越了仅仅是Chatbot的鸿沟,变身为一个能够实际执行任务、解决问题的智能助手,在各个领域都有广泛的应用前景。我们通过Planground和API,分别创建了Assitant。
2026-02-12 10:48:23
392
原创 用OpenAI Assistants的Function进行订单管理
上面就是我们今天这节课的全部内容。你看见了Assistants中各种工具开始亮相并大显身手,其中 Functions 是自定义的函数,Code interpreter 是一个代码解释工具,而 File search则是文档检索工具。这些工具,使得Assistant跨越了仅仅是Chatbot的鸿沟,变身为一个能够实际执行任务、解决问题的智能助手,在各个领域都有广泛的应用前景。我们通过Planground和API,分别创建了Assitant。
2026-02-04 09:49:30
649
原创 大规模数据处理未来之路
你好,我是程序员贵哥。今天我要分享的内容是“大规模数据处理实战”专栏的最后一讲。我相信通过整个专栏的系统学习,你已经掌握了大规模数据处理的基础概念与设计模式。同时,我也相信,专栏中对现实世界中常见的大规模数据处理架构的深入探讨,可以在解决现实难题时为你提供一些思路。但我更希望的是,通过模块六中对大规模数据处理在未来的应用与展望讲解,让你吃下一颗定心丸,那就是,大规模数据处理技术是在放眼未来的几十年中都依然会是炙手可热的一项技术,不会被淘汰。
2026-02-03 11:06:45
471
原创 从SQL到Streaming SQL:突破静态数据查询的次元
你好,我是程序员贵哥。今天我要与你分享的主题是“从SQL到Streaming SQL:突破静态数据查询的次元”。在前面的章节中,我们介绍了一些流数据处理相关的知识和技术,比如Apache Spark的流处理模块——Spark Streaming和Structured Streaming,以及Apache Beam中的窗口处理。相信你对流处理的重要性和一些基本手段都有所了解了。流处理之所以重要,是因为现在是个数据爆炸的时代,大部分数据源是每时每刻都在更新的,数据处理系统对时效性的要求都很高。
2026-02-03 10:52:17
272
原创 大规模数据处理在深度学习中如何应用?
你好,我是程序员贵哥。今天我要与你分享的主题是“大规模数据处理在深度学习中如何应用?“深度学习”这个词,既是一个人工智能的研究领域,也概括了构建人工神经网络的技术方法。2012年的AlexNet,2015年的Google Inception V3级数式地打破ImageNet计算机视觉比赛的最高纪录,2017年亮相的AlphaGo更是掀起了全球的深度学习风暴。在Google,深度学习系统被应用在预测广告的点击率、推荐用户可能喜爱的视频、生成更接近人类的机器发声、自动生成邮件回复等几乎所有产品线。
2026-02-03 10:49:25
492
原创 5G时代,如何处理超大规模物联网数据
物联网(Internet of Things)应该是一个你经常听说的名词,不过,你真的了解它吗?让我先来简要介绍一下什么是物联网吧。你可以将物联网的功能看作“使用嵌入在物理环境中的网络连接设备,来改进现有流程,或启用以前无法实现的新场景”。这些设备或事物连接到网络后,可以提供它们使用传感器从环境中收集的信息,或允许其他系统通过执行器连接,并作用于现实世界。
2026-02-03 10:39:23
583
原创 Facebook游戏实时流处理Beam Pipeline实战(上)
在实现expand这个抽象方法的时候,里面总共嵌套了两个不同的Transform,分别是一个ParDo用来提取每一行的单词,还有一个Count Transform统计单词出现的次数。例如,我们想要得到2019年7月15日至2019年7月21日这周的排行榜,那在运行数据流水线的时候,参数就可以按照“–startBoundary=2019-07-15-00-00 --etartBoundary=2019-07-21-00-00”传入了。当然有,答案就是将输入数据作为无边界数据集读取进来,进行实时的数据处理。
2026-02-03 09:22:55
637
原创 Amazon热销榜Beam Pipeline实战
你好,我是程序员贵哥。今天我要与你分享的主题是“Amazon热销榜Beam Pipeline实战”。两个月前,亚马逊(Amazon)宣布将关闭中国国内电商业务的消息你一定还记忆犹新。虽然亚马逊遗憾离场,但它依然是目前全球市值最高的电商公司。作为美国最大的一家网络电子商务公司,亚马逊的总部位于华盛顿州的西雅图。类似于BAT在国内的地位,亚马逊也是北美互联网FAANG五大巨头之一,其他四个分别是Facebook、Apple、Netflix和Google。亚马逊的热销商品系统就如下图所示。
2026-02-03 09:09:22
579
原创 WordCount Beam Pipeline实战
你好,我是程序员贵哥。今天我要与你分享的主题是“WordCount Beam Pipeline实战”。前面我们已经学习了Beam的基础数据结构PCollection,基本数据转换操作Transform,还有Pipeline等技术。你一定跃跃欲试,想要在实际项目中使用了。这一讲我们就一起学习一下怎样用Beam解决数据处理领域的教科书级案例——WordCount。WordCount你一定不陌生,在中,我们就已经接触过了。WordCount问题是起源于MapReduce时代就广泛使用的案例。
2026-02-02 09:50:54
594
原创 Apache Beam实战冲刺:Beam如何run everywhere?
你好,我是程序员贵哥。今天我要与你分享的主题是“Apache Beam实战冲刺:Beam如何run everywhere”。你可能已经注意到,自第26讲到第29讲,从Pipeline的输入输出,到Pipeline的设计,再到Pipeline的测试,Beam Pipeline的概念一直贯穿着文章脉络。那么这一讲,我们一起来看看一个完整的Beam Pipeline究竟是如何编写的。
2026-02-02 09:21:25
296
原创 Pipeline I-O: Beam数据中转的设计模式
自定义的I/O连接器并不是说一定要设计得非常通用,而是只要能够满足自身的应用需求就可以了。实现自定义的I/O连接器,通常指的就是实现Read Transform和Write Transform这两种操作,这两种操作都有各自的实现方法,下面我以Java为编程语言来一一为你解释。我们知道Beam可以读取无界数据集也可以读取有界数据集,而读取这两种不同的数据集是有不同的实现方法的。使用在第25讲中介绍的两个Transform接口,ParDo和GroupByKey来模拟读取数据的逻辑。
2026-01-27 11:09:37
425
1
原创 Pipeline:Beam如何抽象多步骤的数据流水线?
你好,我是程序员贵哥。今天我要与你分享的主题是“Pipeline:Beam如何抽象多步骤的数据流水线”。在上两讲中,我们一起学习了Beam是如何抽象封装数据,以及如何抽象对于数据集的转换操作的。在掌握了这两个基本概念后,我们就可以很好地回答Beam编程模型里的4个维度What、Where、When、How中的第一个问题——What了。也就是,我们要做什么计算?想得到什么样的结果?这个时候你可能已经跃跃欲试,开始想用PCollection和Transform解决我们平常经常会使用到的批处理任务了。
2026-01-27 11:06:48
979
原创 Transform:Beam数据转换操作的抽象方法.md
你好,我是程序员贵哥。今天我要与你分享的主题是“Beam数据转换操作的抽象方法”。在上一讲中,我们一起学习了Beam中数据的抽象表达——PCollection。但是仅仅有数据的表达肯定是无法构建一个数据处理框架的。那么今天,我们就来看看Beam中数据处理的最基本单元——Transform。下图就是单个Transform的图示。之前我们已经讲过,Beam把数据转换抽象成了有向图。PCollection是有向图中的边,而Transform是有向图里的节点。
2026-01-27 11:02:40
974
原创 PCollection:为什么Beam要如此抽象封装数据?
你好,我是程序员贵哥。今天我要与你分享的主题是“为什么Beam要如此抽象封装数据”。很多人在刚开始接触Apache Beam的时候,都会觉得这里面的概念太抽象了。什么PCollection、PValue、Transform……这都是些什么?尤其是PCollection,完全和先前的技术知识找不到对应。确实如此。同样作为数据的容器,PCollection却并不像Python/Java的List或者C++的vector。
2026-01-27 10:59:38
861
原创 站在Google的肩膀上学习Beam编程模型
你好,我是程序员贵哥。今天我要与你分享的话题是“站在Google的肩膀上学习Beam编程模型”。在上一讲中,我带你一起领略了Apache Beam的完整诞生历史。通过上一讲,你应该对于Apache Beam在大规模数据处理中能够带来的便利有了一定的了解。而在这一讲中,让我们一起来学习Apache Beam的编程模型,帮助你打下良好的基础以便应对接下来的Beam实战篇。希望你在以后遇到不同的数据处理问题时,可以有着Beam所提倡的思考模式。现在让我们一起进入Beam的世界吧。
2026-01-27 10:55:55
646
原创 Spark Streaming:Spark的实时流计算API
你好,我是程序员贵哥。今天我要与你分享的内容是“Spark Streaming”。通过上一讲的内容,我们深入了解了Spark SQL API。通过它,我们可以像查询关系型数据库一样查询Spark的数据,并且对原生数据做相应的转换和动作。但是,无论是DataFrame API还是DataSet API,都是基于批处理模式对静态数据进行处理的。比如,在每天某个特定的时间对一天的日志进行处理分析。在第二章中你已经知道了,批处理和流处理是大数据处理最常见的两个场景。
2026-01-14 15:24:25
990
原创 我们为什么需要Spark?
你好,我是程序员贵哥。今天我要与你分享的主题是“我们为什么需要Spark”。也许你之前没有做过大规模数据处理的项目,但是Spark这个词我相信你一定有所耳闻。Spark是当今最流行的分布式大规模数据处理引擎,被广泛应用在各类大数据处理场景。2009年,美国加州大学伯克利分校的AMP实验室开发了Spark。2013年,Spark成为Apache软件基金会旗下的孵化项目。而现在,Spark已经成为了该基金会管理的项目中最活跃的一个。
2026-01-14 09:14:39
882
原创 - Kappa架构:利用Kafka锻造的屠龙刀
你好,我是程序员贵哥。今天我要分享的主题是Kappa架构。同样身为大规模数据处理架构,Kappa架构这把利用Kafka锻造的“屠龙刀”,它与Lambda架构的不同之处在哪里呢?上一讲中,我讲述了在处理大规模数据时所用到经典架构,Lambda架构。我先来带你简要回顾一下。Lambda架构结合了批处理和流处理的架构思想,将进入系统的大规模数据同时送入这两套架构层中,分别是批处理层(Batch Layer)和速度层(Speed Layer),同时产生两套数据结果并存入服务层。
2026-01-13 20:19:46
939
原创 Lambda架构:Twitter亿级实时数据分析架构背后的倚天剑
你好,我是程序员贵哥。今天我要与你分享的主题是Lambda架构。通过这一讲,你可以了解什么是Lambda架构,以及它为什么能够成为Twitter亿级实时数据分析架构背后的“倚天剑”。在学习了架构师的必备技能后,你是否已经摩拳擦掌,跃跃欲试地想要上手一个实际项目了呢?没问题,我们一起来看一个我的架构经历里的真实项目。情况是这样的,我们正运行着广告精准投放业务,并且拥有海量的用户网站访问行为。我们需要进行用户行为分析来建立一个模型,然后根据这个模型来投放用户喜好的广告。你可能想到了批处理架构。
2026-01-11 10:09:06
733
原创 CAP定理:三选二,架构师必须学会的取舍
你好,我是程序员贵哥。今天我要与你分享的主题是CAP定理。在分布式系统的两讲中,我们一起学习到了两个重要的概念:可用性和一致性。而今天,我想和你讲解一个与这两个概念相关,并且在设计分布式系统架构时都会讨论到的一个定理——
2026-01-11 09:57:19
620
原创 发布-订阅模式:流处理架构中的瑞士军刀
你好,我是程序员贵哥。今天我想要与你分享的是在处理大规模数据中十分流行的一种设计模式:发布/订阅模式(Publish/Subscribe Pattern),有些地方也称它为Pub/Sub。在了解发布/订阅模式之前,我想先简单介绍几个基础概念——消息(Message)和消息队列(Message Queue)。
2026-01-10 22:51:15
737
原创 Workflow设计模式:让你在大规模数据世界中君临天下?
你好,我是程序员贵哥。今天我要与你分享的主题是“Workflow设计模式”。在上一讲中,我们一起学习了大规模数据处理的两种处理模式——批处理和流处理。利用好这两种处理模式,作为架构师的你就可以运筹帷幄,根据实际需求搭建出一套符合自己应用的数据处理系统。然而,光是掌握了这两种数据处理模式就足够自如应对大规模数据世界中的需求挑战吗?从我的实战经验中看来,其实未必。我们每个人在最开始学习大规模数据处理的时候,可能都是以WordCount作为教学例子来进行学习的。
2026-01-10 15:16:37
662
原创 如何区分批处理还是流处理?
你好,我是程序员贵哥。今天,我将会带领你一起学习在进行大规模数据处理时,无论如何也绕不开的两个处理模式:批处理(Batching Processing)和流处理(Streaming Processing)。在我看来,大规模的视频流系统、大规模物联网(IoT)数据监控系统等各种现代大规模数据系统的出现,已经成为了一种必然的历史潮流。无论你是在从事哪一种开发方向,都不可避免地要与这些海量数据打交道。如何能既满足实际应用场景的需求,又高效地处理好大规模数据,在整个项目开发架构中都是非常重要的一个环节。
2025-12-09 11:02:12
642
原创 分布式系统(上):学会用服务等级协议SLA来评估你的系统
你好,我是程序员贵哥。从今天开始,我们进入专栏的第二模块。通过这一模块的学习,带你一起夯实大规模数据处理的基础。首先,我将结合硅谷顶尖科技公司的(Best Practice) ,和你一起分享在设计分布式系统架构时,我们有可能会碰到哪些雷区?又有哪些必备的基础知识?在硅谷一线大厂所维护的系统服务中,我们经常可以看见SLA这样的承诺。例如,在谷歌的云计算服务平台Google Cloud Platform中,他们会写着“99.9% Availability”这样的承诺。
2025-12-09 10:44:01
836
原创 大规模数据处理初体验:怎样实现大型电商热销榜?
你好,我是程序员贵哥。今天我要与你分享的主题是“怎样实现大型电商热销榜”。我在Google面试过很多优秀的候选人,应对普通的编程问题coding能力很强,算法数据结构也应用得不错。可是当我追问数据规模变大时该怎么设计系统,他们却说不出所以然来。这说明他们缺乏必备的规模增长的技术思维(mindset of scaling)。这会限制这些候选人的职业成长。因为产品从1万用户到1亿用户,技术团队从10个人到1000个人,你的技术规模和数据规模都会完全不一样。
2025-12-09 10:35:12
680
原创 MapReduce后谁主沉浮:怎样设计下一代数据处理技术?
你好,我是程序员贵哥。在上一讲中,我们介绍了2014年之前的大数据历史,也就是MapReduce作为数据处理的默认标准的时代。重点探讨了MapReduce面对日益复杂的业务逻辑时表现出的不足之处,那就是:1. 维护成本高;2. 时间性能不足。同时,我们也提到了2008年诞生在Google西雅图研发中心的FlumeJava,它成为了Google内部的数据处理新宠。那么,为什么是它扛起了继任MapReduce的大旗呢?今天这一讲,我不展开讲任何具体技术。
2025-12-09 10:24:38
1038
原创 为什么MapReduce会被硅谷一线公司淘汰?
你好,我是程序员贵哥。今天我要与你分享的主题是“为什么MapReduce会被硅谷一线公司淘汰”。我有幸几次与来Google参观的同行进行交流,当谈起数据处理技术时,他们总是试图打探MapReduce方面的经验。这一点让我颇感惊讶,因为在硅谷,早已没有人去谈论MapReduce了。今天这一讲,我们就来聊聊为什么MapReduce会被硅谷一线公司淘汰。我们先来沿着时间线看一下超大规模数据处理的重要技术以及它们产生的年代。
2025-12-09 10:16:08
917
原创 模块答疑:软件工程师如何进入人工智能领域?
你好,我是程序员贵哥。在大数据算法模块,我们一起学习了几种最常用的大数据算法,包括KNN分类算法、贝叶斯分类算法、PageRank网页排名算法、关联分析Apriori算法、聚类分析K-means算法、神经网络算法以及几种常见的推荐算法,算是对大数据算法有了初步了解。作为软件工程师,如果想掌握一些大数据算法的背景知识,以便更好地和算法相关团队合作,那么以这个模块讨论的算法为基础,触类旁通,针对公司使用的算法再进一步了解和学习,基本上也就够用了。
2025-12-08 16:57:44
919
Linux系统技术可以学习一下
2024-01-26
播为主播提供一站式直播必备工具 包含弹幕助手、屏幕美化、语音播报、弹幕点歌等主播必备核心功能,目前已支持虎牙、斗鱼,抖音等、平台
2023-10-13
TestSyncMethods.java
2021-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅