0 前言 软件架构——我们数字世界的蓝图——自20世纪中叶计算机时代诞生以来,已经发生了巨大演变。 20世纪60年代和70年代早期,以大型主机和单体软件为主导。而今天,数字领域已完全不同,运行在由云计算、API连接、AI算法、微服务和编排平台组成的分布式网络上。 软件架构是如何随着岁月演变的?回顾几十年来的技术进步,我们可以看到商业需求、市场趋势和工程实践的变化如何影响了软件架构。 1 大型主机和
随着科技的疾速前行,人工智能(AI)辅助编程工具已跃然成为软件开发领域及编程爱好者群体中不可或缺的得力助手。这些融入了尖端智能化算法的工具,不仅深刻改变了编程工作的面貌,通过自动化和优化手段显著提升了编程效率,还以其精准的分析与改进能力,确保了代码质量的飞跃。 接下来,我们将深入探讨几款备受欢迎的AI辅助编程工具,以及它们如何在细节之处彰显出对工作效率的卓越贡献。 1 包阅AI 点击直达官网:你能
0 引言 Redis 作为一种高效的内存型键值数据库,得益于其底层数据结构的精妙设计。对于 List 类型的数据,Redis 从早期的简单链表(linkedlist),到压缩列表(ziplist),再到如今的 quicklist 和 listpack,不断优化以平衡内存利用率和性能。这篇文章将深入剖析 Redis 的 quicklist 和 listpack 数据结构,帮助 Java 技术专家理解
0 关键收获 单元化架构提高了微服务的弹性和容错性。 可观察性对于开发和运营单元化架构至关重要。 单元路由器是单元基础架构的关键组件,它需要快速响应单元可用性和健康变化。 要成功采用单元化架构,需要全面和综合的方法来实现可观察性。 单元化架构利用与微服务相同的可观察性支柱,但需要以适应这种架构特有的元素。 在过去的几年中,单元化架构作为一种新兴的范式,公司如: Slack(将最关键的用户
0 前言 最近的文章中,我们详细介绍了当我们迁移到 Java 21 并将代际 ZGC 作为默认垃圾收集器时,我们的工作负载是如何受益的。虚拟线程是我们在这次迁移中兴奋采用的另一个特性。 对虚拟线程新手,它们被描述为“轻量级线程,减少编写、维护和观察高吞吐量并发应用程序的工作量。”威力来自在阻塞操作发生时,能够通过延续挂起和恢复,从而释放底层操作系统线程以供其他操作重用。在适当的上下文中利用
0 前言 Agent是一个使用大语言模型决定应用程序控制流的系统。随着这些系统的开发,它们随时间推移变得复杂,使管理和扩展更困难。如你可能会遇到: Agent拥有太多的工具可供使用,对接下来应该调用哪个工具做出糟糕决策 上下文过于复杂,以至于单个Agent无法跟踪 系统中需要多个专业领域(例如规划者、研究员、数学专家等)。 为解决这些问题,你可能考虑将应用程序拆分成多个更小、独立的,并将它
0 前言在数据分析领域快速发展的今天,通过自然语言与数据交互的能力变得越来越有价值。对话式分析旨在使复杂数据结构对没有专业技能的用户更易于访问。LangGraph 是个框架,用于构建使用语言模型的状态化、多代理应用程序。Waii 提供文本到 SQL 和文本到图表的功能,使用户能够通过自然语言与数据库和数据可视化进行交互。本文探讨 Waii 的能力如何增强 LangGraph 应用程序在对话式分析方
0 前言 在数据分析领域快速发展的今天,通过自然语言与数据交互的能力变得越来越有价值。对话式分析旨在使复杂数据结构对没有专业技能的用户更易于访问。 LangGraph 是个框架,用于构建使用语言模型的状态化、多应用程序。Waii 提供文本到 SQL 和文本到图表的功能,使用户能够通过自然语言与数据库和数据可视化进行交互。 本文探讨 Waii 的能力如何增强 LangGraph 应用程序在对话式
1 新建一个实时搜索工具@tool def web_search(query: str): """ 实时搜索工具 """ serp = SerpAPIWrapper() result = serp.run(query) print("实时搜索结果:", result) return result# 初始化工具列表 tools = [web_search]#
0 前言随LLM技术演进,AI应用开发部署越来越复杂。LangServe应运而生,旨在简化AI服务部署和运维的框架。专为LLM部署和管理而设计;本文旨在讲解LangServe的功能特点和实践运用。1 概述LangServe 提供一整套将LLM部署成产品服务的解决方案。可将LLM应用链接入常见Python Web框架(如FastAPI、Pydantic、uvloop、asyncio),进而生成一套R
0 前言 数据分析的最关键部分是数据挖掘,啥是数据挖掘? 普通人很难感知大海,更别说寻宝 但对石油开采人员,大海有坐标。他们对地质勘探,分析地质构造,发现哪些地方可能有石油。然后用开采工具,深度挖掘,直到打到石油。大海、地质信息、石油对开采人员就是数据源、地理位置及分析结果。 而数据挖掘工作,就像钻井,通过分析这些数据,从庞大的数据中发现规律来寻宝。只有对知识有全面认知,才能确保在以后工作即使
掌握数据,就是掌握规律:当你了解市场数据,对它分析,就可得到市场规律当你掌握了产品自身的数据,对它进行分析,就可以了解产品的用户来源、用户画像等1 谈论数据分析时,都在讲啥?数据分析分成三个重要部分:数据采集。原材料,也最“接地气”,因为任何分析都要有数据源数据挖掘。最“高大上”部分,也是整个商业价值所在。数据分析,就是要找到其中的规律,来指导业务。因此数据挖掘的核心是挖掘数据的商业价值,也就是我
LLM 的知识仅限于其训练数据。如希望使 LLM 了解特定领域的知识或专有数据,可:使用本节介绍的 RAG使用你的数据对 LLM 进行微调结合使用 RAG 和微调1 啥是 RAG?RAG 是一种在将提示词发送给 LLM 之前,从你的数据中找到并注入相关信息的方式。这样,LLM 希望能获得相关的信息并利用这些信息作出回应,从而减少幻觉概率。可通过各种信息检索方法找到相关信息。这些方法包括但不限于:全
一些LLM除了生成文本,还可触发操作。所有支持tools的LLMs可在此处找到(参见“Tools”栏)。有一个被称为“工具(tools)”或“函数调用(function calling)”的概念。它允许LLM在必要时调用一或多个由开发者定义的工具。工具可以是任何东西:网页搜索、外部API调用、或执行一段特定代码等。LLM本身无法实际调用这些工具;它们会在响应中表达出调用某个工具的意图(而不是直接生
本文描述了底层的大语言模型(LLM)API。高级的LLM API参见AI服务。 1 LLM API的类型 1.1 LanguageModel 非常简单—,接受一个String作为输入,并返回一个String作为输出。 该API现正逐渐被聊天API(第二种API类型)取代。 1.2 ChatLanguageModel 这种API接受一或多个ChatMessage作为输入,并返回一个AiMessage
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号