- 博客(810)
- 资源 (3)
- 收藏
- 关注
原创 大模型应用的能力分级
上下文指的是对话过程中积累的相关信息,它帮助 AI 更好地理解用户的需求,并作出恰当、连贯的回应。这种查询是最简单的形式,用户直接询问某个具体的事实,而这个事实在数据中是明确存在的,不需要额外的推理。例如,如果一个 AI Agent 的任务是提供客户支持,它可以从过去的对话中学习,改进自己的回答方式,并自动适应每个客户的独特需求。随着 AI Agent 能力的不断增强,我们可以预见它们将在战略决策、客户互动以及跨行业的流程优化中发挥越来越重要的作用,成为推动企业发展的核心力量。
2025-03-30 20:25:57
687
原创 来了!10个构建Agent的大模型应用框架
的最大优势在于它与 Spring 生态系统的无缝集成。在此,我们将重点介绍10个具有代表性的Agent应用构建框架,并对其他常见的框架进行简要概述,以期为大家提供一个相对全面的视角,了解这一领域的现状和潜在趋势。它简化了创建业务友好型智能体的过程,使得快速理解GenAI的价值变得轻而易举,这为缩短产品上市时间和提供即开即用的定制选项提供了便利,尤其适合构建如营销智能体这样的轻量级智能体。它的多智能体协作能力、结构化的工作流设计、用户友好的界面、灵活的集成选项以及积极的社区支持,共同构成了其引人注目的特点。
2025-03-23 20:25:31
862
原创 AI 驱动的数据分析:Data Agent
本质上,人们需要需要精确的信息。从广义上看,数据分析由来已久,例如,会计和财务就是分析性很强的领域,在向公众报告有关公司财务状况的指标时有严格的定义和规定。虽然软件工程创建的代码片段是确定的,并且可能是幂等的,但是数据流水线可以并且确实会随着数据采集过程的变化而变化。到目前为止,流程中的差异已经允许数据团队在创建表格方面拥有比以前更多的自主权,将数据传递给业务用户的速度有了明显的提高,但还是太慢了。然而,随着速度的提高,来自多个来源的数据表也随之增多,需要考虑将数据呈现给最终用户的 “最终负载”。
2025-03-16 20:25:40
809
原创 LLM运行框架对比:ollama与vllm浅析
开源的LLM已经成为程序员、爱好者和希望在日常工作中使用生成式AI并保持隐私的用户的最佳选择,对于企业的私有化部署而言也是如此。这些模型提供了优秀的性能,有时在许多任务中可以与大型的闭源模型 (如 GPT-4o 或 Claude Sonnet 3.5) 相媲美。这些LLM是开源的,但并不意味着它们可以开箱即用,需要一个运行框架在本地或服务器上运行大模型以获得特定的用例。另外,兼容 OpenAI 的...
2025-03-09 20:25:33
1301
原创 架构设计过程中的10点体会
在软件工程领域,任何脱离实际业务需求的架构设计都是一种不负责任的行为,甚至可以称之为"技术层面的形式主义"。这种设计倾向往往表现为过度追求技术新颖性、盲目采用复杂架构模式,或者为了架构而架构的设计理念。很多技术债务也是由于架构设计与业务需求脱节造成的。多年的实践,经历了很多的项目和工程架构实现,整理了10点体会,可能不对,可能片面,都来自于过去的经验。1.每个人都是凡人,无关职位许多人从小就被灌输...
2025-03-02 20:25:41
603
原创 解读DeepSeek-R1
DeepSeek-R1 并不是从零开始训练的。它从一个比较强大LLM (DeepSeek-V3-base)开始,进而成为一个推理大模型。为了做到这一点,使用了强化学习(RL),当 LLM 做了一些有益于推理的事情时,进行奖励,否则进行惩罚。但这不仅仅是一次简单的训练,而是一系列阶段,称之为流水线。首先尝试纯 RL,看看推理是否会是否可行,这是 DeepSeek-R1-Zero,有点像一个实验。然后...
2025-02-23 20:26:01
767
原创 牛津剑桥之旅与英伦风情
【引】“读万卷书,行万里路”,旅行是热爱生活的一种方式。作为热爱生活的老码农,将自己在北京的徒步记录为《量步北京》的文字, 将国内的旅行记录为《梦里河山》系列(较近的一篇大约是《西北随笔》了), 海外的旅行整理为《海外寻踪》专辑,但这一次的英国旅行却是一次不一样的旅程。元代王冕有一首诗《墨萱图(其一)》:灿灿萱草花,罗生北堂下。南风吹其心,摇摇为谁吐?慈母倚门情,游子行路苦。甘旨日以疏,音问日以阻...
2025-02-16 19:28:27
1361
原创 DeepSeek 到底用了多少GPU呢?
【引子】近来,大家一直在谈论 DeepSeek R1,即 671B 的参数巨兽。如果得到这样的一个大模型,到底花费了600 万美元还是2.48 亿美元呢?到底用了多少张GPU呢?半导体研究机构SemiAnalysis认为,DeepSeek囤积了6万张英伟达GPU卡,其中包括1万张A100、1万张H100、1万张“特供版”H800、3万张“特供版”H20。马斯克认为DeepSeek实际使用的GPU数...
2025-02-09 20:26:04
1139
原创 大模型应用的10个架构挑战
[引] 在英国,时差有点乱。拾起年初的文字,迎接新春大吉!ChatGPT从正式发布到拥有1亿用户仅仅用了5天的时间,基于大型语言模型(简称大模型,或基础模型)的应用给软件行业乃至整个社会带来巨大的影响。作为一名软件系统的架构师,除了传统的软件系统质量属性约束之外,还要面对由于大模型应用的自身特点所带来的新约束,面对更多的权衡,也面临着更多的挑战。基于笔者近年来的探索与实践,这里列举了面向大模型应用...
2025-01-27 04:06:38
1345
原创 性能优化之动态加载
在过去近三十年的职业生涯里,有几年专注于运行时环境的开发与实现。在runtime中,动态加载技术是其中的基石之一。动态加载技术是指在系统运行过程中,根据需要把程序和数据从外存或网络加载到内存中的过程。其中,lazy loading(懒加载),也被称为延迟加载,是动态加载技术的一种常见实现方式。1. 什么是动态加载所谓动态加载,指的是程序在运行期间需要调用某一模块的功能时,由加载器将该模块即时载入内...
2025-01-19 20:26:01
1232
原创 性能约定:API 限速
速率限制是一种关键的控制机制,用于管理 API 的请求流,非常类似于调节器。速率限制不仅仅是控制请求的总数,它还关系到如何以及在哪里应用这些限制。根据 API 的需要,可以根据各种因素(如用户 ID、 IP 地址或特定类型的 API 调用)来实现速率限制。例如,一个社交平台可能实施严格的速率限制,以防止发布垃圾邮件,同时允许更频繁的请求阅读内容。类似地,服务可以对来自已知用户和匿名流量的请求应用不...
2025-01-12 20:26:04
728
原创 微秒级高性能网络初探
如果我们的预期是将网络延时从10ms 降低到1ms,那么应该先分析这些时延的具体构成,很有可能瓶颈并不是网络传输;如果目标是将网络延时降低到微秒级或者百微秒级,那么我们才可能使用到高性能网络,例如RDMA技术。1. TCP/IP 协议栈的局限数据中心内部服务器的接入带正在由万兆(10G)接入升级为25G,在某些用于机器学习的服务器上甚至使用了100G的接入带宽。量变引起质变,增大的接入带宽让传统的...
2025-01-05 20:25:48
751
原创 2024年,老骥伏枥
【引】周末的冬日午后,一杯清茶也换做了一碗梨汤,习惯驱使着感冒初愈的我坐在书桌前,回首2024这一年。时光,悄悄地,从指尖溜走,只留下回忆的碎片。拾起那些散落在角落里的记忆碎片,将收获和喜悦任性地拼接起来,将蹉跎和烦恼扔进垃圾桶,于是,就形成了这一篇关于2024年的年终文字。工作作为一名首席架构师, 自己在联想诺谛智能已经工作一年多了,除了AI方面,最大的收获或许就是对“需求工程”的理解又进了一步...
2024-12-29 15:39:30
682
原创 大模型应用系列:从MLOps到LLMOps
【引子】在IT领域中,DevOps 是软件工程效能的重要方法论以及工具集, 在人工智能领域同样如此。MLOps 和 LLMOps 都是管理机器学习系统的方法。MLOps 致力于解决机器学习生命周期的生产问题,促进数据科学家和运营专家之间的合作,提高机器学习系统的效率和质量。LLMOps 通过结合“终身”学习扩展了 MLOps,使机器学习模型能够随着时间的推移不断地从新数据中学习和改进,从而使数据快...
2024-12-22 20:24:47
971
原创 WEB语义化的新探索:浅析LLMs.txt
【引】有人迷恋使用大模型生成各种有趣的内容,有人沉醉于大模型相关技术的探索,没有对错,只在于你的乐趣所在。一项名为 llms.txt 的新提案标志了一些非同寻常的东西的出现: 一个Web网站不仅为人类读者服务,而且为人工智能提供服务。这不仅仅是一种新的技术标准,而是我们对数字基础设施的看法发生根本性转变的开始。robots.txt 和 sitemap.xml 是为搜索引擎设计的,而 LLMs.t...
2024-12-15 20:24:55
1461
原创 浅析面向场景的大模型应用框架选择
【引】人们经常用“具体问题具体分析”来适应不确定性,工匠的思维是对问题进行分类,然后尝试是否存在通用的解法,可能不是最优的解,但肯定是一个可用的解。对于大模型应用而言, 也是如此。从demo到产品之间存在着鸿沟,大模型应用也是如此。在工程实践的时候,产品/服务提供的功能与性能及成本之间存在着大量的权衡,面向场景来选择大模型的应用框架,则是一种具体的权衡方法。例如,什么时候使用Agent?当任务太...
2024-12-08 20:24:10
1017
原创 解读小模型——SLM
【引】如果希望从文献途径了解一个新的领域,该领域的相关survey 论文可能是一个较好的切入点,对于日新月异的AI领域尤其如此。”Small Language Models: Survey, Measurements and Insights”一文(https://arxiv.org/pdf/2409.15790)或许可以帮助我们更好地了解SLM。大模型的世界几乎每天都在发生变化。一方面,人们越来...
2024-12-01 20:24:50
1055
原创 解读GraphRAG
RAG 结合了大型语言模型和信息检索模型的力量,允许它们用从大量文本数据中提取的相关事实和细节来补充生成的响应。事实证明,这种方法在提高模型输出的实际准确性和总体质量方面是有效的。然而,随着 RAG 系统得到更广泛的采用,它们的局限性开始浮出水面,具体而言:平面检索: RAG 将每个文档作为一个独立的信息。想象一下,阅读单独的书页,却不知道它们之间是如何连接的。这种方法错过了不同信息片段之间更深层...
2024-11-24 20:24:37
1162
原创 初探Ranking系统的离在线满意度评估
【引子】在上周发布了《大模型应用系列:从Ranking到Reranking》之后, 有AI 产品经理问我,如何评估Ranking 系统的性能呢?再进一步,如何评估RAG系统的性能呢? 老码农整理了一下在搜索引擎方面的感受,遂成此文。如何确保RAG系统在实际应用中表现良好呢?RAG本质上具有生成能力的一个信息检索系统,Ranking/Reranking 在其中的作用非常重要。测量该系统的有效性需要...
2024-11-17 20:24:50
709
原创 大模型应用系列:从Ranking到Reranking
【引子】Ranking 和Reranking又是一个NLP 处理中的传统技术,那么在大模型应用中又起到怎样的作用呢?每个搜索引擎背后都隐藏着一个至关重要却往往被忽视的组成部分——Reranking(重新排名)。那么,什么是Rerank呢?简而言之,这一过程旨在优化并调整搜索结果的顺序,使之更加精准地匹配用户的查询需求。值得注意的是,不同情况下采用的Rerank策略差异极大,因为针对每一个具体问题...
2024-11-10 20:24:17
1268
原创 大模型应用系列:Query 变换的示例浅析
【引】NLP中的经典组件在大模型应用中还有效么?大模型对自然语言处理中的典型任务有什么影响么?RAG应用通过分割文档、嵌入向量化并检索高语义相似性的块来响应用户问题,但面临文档块不相关、用户用词不当及结构化查询需求等问题。若RAG无法找到必要信息,则无法正确回答。对此,可采用Query变换技术,包括Query改写以提高检索准确性、后退提示以获取背景信息及子查询分解以全面检索。这些方法常利用大模型生...
2024-11-03 20:24:24
1006
原创 初探大模型压缩
【引】感谢大家对联想AIPC的关注!大模型在智能终端上应用使AI更方便地服务于我们的工作和生活,《从苹果智能看端上大模型应用》为我们提供了参考。一般地,语言模型越大越好,改进LLM的方式非常简单: 更多的数据 + 更多的参数 + 更多的计算 = 更好的性能。但是,使用100B + 参数模型存在着明显的挑战。例如,使用 FP16的100B 参数模型仅存储空间就需要200GB!大多数消费设备(如手机、...
2024-10-27 20:24:56
679
原创 解读向量索引
向量嵌入是从图像、文本和音频等数据源转换而来的数字表示,旨在通过为每个项目创建一个数学向量来捕捉其语义或特征。这种表示方式使得计算系统更容易理解这些数据,并且与机器学习模型兼容,从而能够识别不同项之间的关系和相似性。通常,用于存储这些向量嵌入的专门数据库被称为向量数据库。这些数据库利用了嵌入的数学特性,即能够将相似的项聚集在一起存储。向量数据库采用不同的向量索引技术,可以将相似的向量放置在一起,而...
2024-10-20 20:24:57
1181
原创 雕虫:如何确定Java线程池的大小
在 Java 中,创建线程会产生显著的成本。创建线程消耗时间,增加请求处理的延迟,并且涉及 JVM 和操作系统的大量工作。为了减轻这些开销,需要使用线程池。本文将深入探讨确定理想线程池大小的技巧。1. 使用线程池的原因性能上,创建和销毁线程在Java中代价较高,而线程池通过重用线程减少了这种开销。在可伸缩性方面,线程池能根据应用程序需求进行扩展,如重负载时处理更多任务。此外,线程池有助于资源管理,...
2024-10-13 20:24:16
848
原创 解读知识图谱的自动构建
【引】在AI领域, 知识系统过时了么?在《大模型应用的10种架构模式》中, 知识图谱与大模型的结合是一种重要的应用方式。知识图谱可以辅助大模型应用的推理,大模型也可以辅助知识图谱的构建,二者是可以相辅相成的。在国庆假期中,读了一篇论文“A comprehensive survey on Automatic Knowledge graph Construction”(https://arxiv....
2024-10-07 20:24:25
1502
原创 解读文本嵌入:语义表达的练习
【引子】近来在探索并优化AIPC的软件架构,AI产品经理关于语义搜索的讨论给了自己较多的触动,于是重新梳理嵌入与语义的关系,遂成此文。文本转换成机器可理解格式的最早版本之一是 ASCII码,这种方法有助于渲染和传输文本,但不能编码单词的意义,其标准的搜索技术是关键字搜索,寻找包含特定单词或 N-gram的所有文档。如今,我们可以计算单词、句子甚至图像的嵌入。嵌入也是数字的向量,但它们可以捕捉意义。...
2024-09-28 20:24:17
1461
原创 如何识别低水平的程序员
【引】作为一个老码农, 非常不想评价一名软件工程师的水平高低,认为通过思维实验、刻意练习等方式,每个工程师都可以成为高水平的程序员。但是,如何认识自己的不足,需要自我发现,自我成长。在软件开发的动态世界中,软件工程师的能力可以决定一个项目的成败。虽然有很多杰出的开发人员,但重要的是要意识到,一些迹象可以表明这是一个不太出色的工程师。无论你是招聘新员工还是面对现在的合作伙伴,及早发现这些危险信号可以...
2024-09-22 20:22:33
494
原创 少年远行
渐渐地,渐渐地, 日子近了。今天,少年远行了。作为一个父亲,心中有一丝的激动、一丝的不安、一丝的焦虑、一丝的眷恋,一丝的伤感,还有那些个莫名的情绪交织在一起,百味杂陈。孩子在父母眼中永远是个孩子,一个大小伙子在我眼中仍是少年。20年前,两岁的他要去幼儿园了,眼中充满了好奇, 望向窗外,外面的世界该是怎样?殊不知,这或许才是磨砺的开始。刚入幼儿园的时候,他还不会拿筷子吃饭,用手抓。当小朋友们用剪刀...
2024-09-15 19:59:59
252
原创 大模型微调:RHLF与DPO浅析
大模型应用性能的提升不仅在于其预训练,而微调的作用也非常显著。对于多数从事大模型应用领域的团队而言,微调是一个核心的工作之一,为专门任务完善大模型并确保其产出符合我们的预期。1. 关于微调微调涉及调整预训练的LLM ,以更有效地执行特定的功能,提高其在不同应用程序中的效用。尽管LLM通过预训练获得了广泛的知识基础,仍需要定制以在特定领域或任务中表现出色。例如,对一般数据集上训练的大模型进行微调,以...
2024-09-08 20:24:17
1914
原创 知识图谱与向量数据库的相遇
在《大模型应用的10种架构模式》一文 中,知识图谱是RAG系统中的一种重要的技术, 基于知识图谱的大模型应用也成为一个典型的架构模式。但是,在一般的RAG系统中, 都会用到向量数据库,那么,当知识图谱与向量数据库相遇后,会是怎样的场景呢?1.关于知识图谱知识图谱是一种结构化的信息表示形式,用于说明不同概念之间的关系。它充当一张地图,连接各种数据,并以易于理解的方式表示这些关系。知识图谱经常被用来存...
2024-09-01 20:22:26
1548
转载 一个和Bob大叔聊天的机会
编程界的传奇人物Robert C. Martin(Bob大叔)将于9月2日18点开启一场前所未有的直播分享。这位世界著名的编程大师、设计模式革命者将与你分享那些不为人知的编程秘籍,颠覆你对代码的所有认知!在软件开发的世界里,面向对象编程(OOP)以其易于理解和维护的特性,长久以来占据着主导地位。它像是建筑师手中的蓝图,将现实世界抽象成一个个独立的“对象”,每个对象承载着自己的数据和能对这些数据进行...
2024-08-30 21:31:38
402
原创 从苹果智能看端上大模型应用
将生成式人工智能集成到边缘设备本身就是一个重大挑战,我们需要在智能手机和计算机有限的计算能力和内存范围内高效地运行高级模型。确保这些模型运行迅速,而不会耗尽电池寿命或使设备过热,端上的局限增加了大模型应用的复杂性。此外,保护用户隐私至关重要,需要 AI 在不依赖云服务器的情况下在本地处理数据。今年,苹果已经通过引入苹果智能来应对这些挑战。这个新系统将复杂的人工智能直接带到设备上,同时保持高隐私标准...
2024-08-25 20:24:34
1144
转载 实时流分析:一个案例
【引子】本文根据《实时分析实战》一书的第3章提炼而成,旨在通过一个具体案例来了解实时流分析面对的具体场景以及潜在的技术实现。我们将深入探讨一家名为“All About That Dough”(简称AATD)的比萨外卖企业,该企业致力于提供融合印度风味的比萨配送服务。AATD已历经近二十载的风雨,成功打造了一个能够承受每分钟数千次点击并处理高达50个订单的网络平台基础设施。AATD的业务涉及三种核心...
2024-08-20 20:24:58
153
原创 《实时分析实战》译者序
【引子】在老码农带产研团队的时候,一直想致力于打造学习型组织。通俗而言,就是希望PM成为有调性的产品经理,希望研发成为有追求的工程师。内部分享固然不错,但有其局限性,尤其是当项目紧张的时候。作为尝试,开始建立“工匠译者团队”,提升我们自身的学习愿望,持续学习。于是,有了《语音优先》智能语音技术驱动的交互界面设计与语音机器人设计(译者序), 这是第二本。很荣幸可以向你介绍《构建实时分析系统》一书的中...
2024-08-18 20:24:27
390
原创 部署一个大模型应用
【引子】“千里之行,始于足下”,边走边记,这是大模型系列文字的第38篇文字了。部署是大模型应用从开发环境迁移到生产环境的最后一步。这一步至关重要,因为任何应用都要最终为用户提供服务,除非你坐而论道,弄的是实验室里的玩具。大模型应用的部署关注点如下:可伸缩性: 可伸缩性指的是系统处理不断增加的工作量的能力,或者为了适应这种增长而扩大其潜力的能力。在生产环境中,大模型应用必须能够处理来自用户的潜在的大...
2024-08-11 20:24:11
433
原创 Chunking:基于大模型RAG系统中的文档分块
【引】“枯萎,无法回避,如人之生老病死;荒芜,无法接受,如碌碌无为一生。” 这是周六回乡下除草的感受。有所得,有所感,对工程技术也是如此。将大文档分割成较小的分块是一项关键而复杂的任务,对RAG系统的性能有着重大的影响。一般地,RAG系统旨在通过将基于检索的方法和基于生成的方法相结合,提高产出的质量和相关性。有多种框架提供了文档分块方法,每种方法都有自己的优点和典型用例。或许,利用主题感知的句子嵌...
2024-08-04 20:24:32
1020
原创 “提示工程”的技术分类
尽管大模型非常强大,但仍然有着自身的局限。大模型可以生成看起来非常值得信赖的内容并引用外部资源,但是,大模型本身并不能直接访问互联网也不能访问互联网的资源。偏见往往会使大模型产生某些定型的内容。当被问到一个不知道答案的问题时,大模型有时会产生“幻觉”或者产生错误的信息, 很多时候,即使是最简单的数学或常识的问题, 大模型仍然要挣扎一番。另外,通过操纵提示词,以忽略开发人员的指令并生成特定的内容。大...
2024-07-28 20:24:24
493
原创 解读:基于图的大模型提示技术
【引子】大模型的兴起, 使得读论文成为了学习中的一种常态。如果一篇论文没有读懂,不用担心,可以再读一篇该领域内容相近的论文,量变可能会产生质变。就像编程语言一样,你永远无法精通一门编程语言,除非,精通两种。像思维链和思维树这样的提示技术,已经大大提高了大模型解决复杂的、基于推理的任务能力。从高层抽象来看,通过强制 LLM 构造对问题的逐步响应,我们可以大大提高其解决问题的能力。然而,这些技术都假设...
2024-07-21 20:24:41
1099
原创 大模型应用框架:LangChain与LlamaIndex的对比选择
开发基于大型模型的应用时,选择合适的应用框架不仅能显著提高开发效率,还能增强应用的质量属性。这类似于在Windows上开发传统软件服务时从MFC过渡到.NET Framework,或在Linux服务器端使用Java语言时采用Spring及Spring Boot框架,以及在Web前端开发中选择VUE、React或Angular等多样的框架。面对基于大模型的应用开发,我们应如何挑选合适的应用框架呢?对...
2024-07-14 20:24:46
2663
原创 从Docker 网络看IaC
【引子】近来,老码农又一次有机会实施IaC 了, 但是环境有了新的变化,涵盖了云环境、虚拟机、K8S 以及Docker,而网络自动化则是IaC中的重要组成,温故知新,面向Docker 的网络是怎样的呢?Docker 网络机制不仅构建了容器之间以及与外部服务间的高效通信桥梁,还通过灵活的配置选项满足了不同应用场景下的网络隔离与互联需求。每个Docker容器在启动时,都可以选择或指定加入到一个或多个...
2024-07-07 20:24:33
852
计算机世界1000期特稿——信息革命的流金岁月
2008-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人