构建AI智能体:五十六、从链到图:LangGraph解析--构建智能AI工作流的艺术工具

简介: 本文介绍了LangGraph这一基于LangChain的库,它突破了传统线性链式开发的局限,通过图计算模型实现复杂AI应用的构建。LangGraph的核心优势在于:1)支持动态图结构,实现循环和条件路由;2)内置状态管理,维护应用数据流;3)天然支持多智能体协作。与传统开发方式相比,LangGraph通过节点、边和状态的抽象,提供了更清晰的业务逻辑表达、更健壮的错误处理、更好的可观测性,以及更便捷的团队协作和功能扩展能力。

一、LangGraph有什么作用

       在以往的应用开发中,我们往往陷入线性思维的陷阱。我们习惯于编写顺序执行的代码,这种模式在面对简单任务时表现良好,但当业务逻辑变得复杂时,问题便开始显现。

       想象一个智能客服系统的开发过程:用户输入问题,系统需要理解意图、检索知识库、生成回答、检查质量、可能还需要多轮对话。如果用传统方式编写,代码会迅速变得臃肿不堪,各种if-else嵌套让逻辑难以理解和维护。更严重的是,当我们需要添加新功能或修改业务流程时,往往牵一发而动全身。这种架构的脆弱性在快速迭代的产品环境中显得尤为致命。

56.2-LangGraph2.jpg

       前面的章节我们详细探讨熟悉 LangChain了,并通过具体实例构建了能够处理复杂任务的链式 AI 应用,仔细回忆一下,我们处理的这类应用也是线性思维的模式,通过LangChain我们也了解传统的链式流程虽然强大,但在处理需要记忆、状态保持、循环或基于条件进行动态路由的复杂任务时,显得力不从心。实际的应用场景充满了多变,不是一个链式就可以解决各种复杂的场景,如果我们遇到一些比较特殊的需求,如:

  • 构建一个能进行多轮对话,并始终记得用户最初目标的客服助手?        
  • 设计一个能根据中间结果动态调整后续步骤的数据分析流程?
  • 创建一个由多个 AI “智能体”协同工作、各司其职的复杂系统?

       这些特殊的需求,在现有的技术范围,如果抛开LangChain的链式思路,是否还有更合适的方法去处理呢,正好它来了,LangGraph应运而生,如果说 LangChain为我们提供了构建 AI 应用的积木,那么LangGraph就是赋予这些积木生命与灵魂的神经系统与指挥中心。

       LangGraph 的意义与重要性,在于它引入了状态和循环这两个关键维度,将 AI 应用从静态的流水线,升级为了动态的、有状态的、具备自主决策能力的智能系统。

二、怎么理解LangGraph

       LangGraph 是一个基于 LangChain 的库,用于构建有状态、多参与者的应用程序。它允许我们创建复杂的、有环的工作流,特别适合需要记忆和状态管理的对话系统和复杂任务处理。

       LangGraph引入了一种全新的思维方式,将AI应用建模为有状态的工作流。这种范式的转变带来了几个关键优势:

  • 可视化设计:开发者可以直观地看到整个应用的流程结构,就像查看地图一样清晰。
  • 模块化开发:每个功能模块独立封装,便于测试和重用。
  • 灵活扩展:添加新功能只需插入新的节点,无需重构现有代码。
  • 状态管理:内置的状态机制确保数据在流程中的一致性传递。  

       LangGraph承认现实AI应用本质上是非线性、有状态、充满分支循环的复杂系统。通过将这种复杂性显式建模为图结构,它让开发者能够真正掌控自己的系统。

三、LangGraph的核心概念    

1. 状态:数据的生命线

       状态是LangGraph中最核心的概念之一,主要是要维护应用程序的状态,它代表了在整个工作流执行过程中流动和演变的数据。理解状态的设计对于构建健壮的LangGraph应用至关重要。

状态的设计原则:

  • 每个状态字段都应该有明确的语义和用途
  • 状态应该包含足够的信息来支持所有节点的决策
  • 避免在状态中存储临时计算结果
  • 使用类型注解来确保状态结构的清晰性

2. 节点:功能的原子单元

       节点是LangGraph中执行特定任务的基本处理单元。每个节点都应该遵循"单一职责原则",只完成一个明确的任务。

优秀节点的特征:

  • 功能聚焦,职责单一
  • 输入输出明确
  • 不依赖全局状态
  • 具有良好的错误处理

3. 边:流程的导航系统

       边定义了节点之间的连接关系和流转逻辑,决定了工作流的执行路径。LangGraph支持多种类型的边,包括无条件边和条件边,这为构建复杂逻辑提供了灵活性。

边的类型:

  • 无条件边:简单的顺序连接
  • 条件边:基于状态的动态路由
  • 循环边:实现重复执行

4. 图:整体的协调者

       图是将所有组件组织在一起的容器。它负责协调节点的执行、管理状态的流转、处理错误和超时等情况。

四、基础工作流模式

1. 线性流水线模式

最简单的应用场景是线性处理流水线。以智能问答系统为例:

  • 问题分类:识别用户意图类型
  • 知识检索:根据类型搜索相关信息
  • 智能生成:基于检索结果生成回答
  • 结果格式化:包装成用户友好形式

这种模式适合处理标准化的业务流程,每个阶段顺序执行,数据沿单一方向流动。

2. 条件分支模式

现实业务往往需要条件分支。考虑电商客服场景:

  • 用户询问订单状态 → 查询物流系统
  • 用户投诉产品质量 → 启动售后流程
  • 用户咨询产品信息 → 检索知识库
  • 用户表达不满情绪 → 转接人工客服

条件分支让系统具备基本的决策能力,能够根据输入特征选择最合适的处理路径。

3. 循环处理模式

某些场景需要重复处理直至满足条件:

  1. 生成初步答案
  2. 质量评估检查
  3. 不满足质量要求 → 重新生成
  4. 满足质量要求 → 输出最终结果

循环模式确保输出质量,特别适合内容生成、数据分析等对准确性要求高的场景。

4. 基础运行流程

56.3-LangGraph执行流程-deepseek_mermaid_20251007_d7c71c.png

5. 关键业务流程

标准问答流程:

  • 用户输入 → 意图分析 → 知识检索 → 智能生成 → 质量检查 → 结果返回

56.4-标准问答流程ScreenShot_2025-10-07_211529_120.png

复杂问题处理:

  • 用户输入 → 深度分析 → 多源检索 → 综合生成 → 人工审核 → 最终回复

56.5-复杂问题处理 ScreenShot_2025-10-07_211714_208.png

紧急情况处理:

  • 用户投诉 → 情感识别 → 优先路由 → 专家介入 → 快速响应 → 后续跟进

56.6-紧急情况处理 ScreenShot_2025-10-07_211911_264.png

五、LangGraph的技术性突破

       如果说LangChain定义了构建 AI 应用的单元,那么 LangGraph 则突破了如何组装这些单元的范式。它的突破性并非在于引入了某个全新的算法,而在于它提供了一种原生、优雅的工程架构,用以实现此前难以构建或构建起来非常复杂的 AI 应用。其技术性突破主要体现在以下三个核心层面:

1. 从静态链到动态图的转移

       这是最根本的突破。LangChain 的 “Chain” 本质上是静态的、预设的序列。一个链的流程在构建时就已经固定,虽然可以处理分支,但灵活性有限。

LangGraph 引入了图的核心概念,这带来了两大核心能力:

  • 循环:图可以包含循环,这意味着一个节点可以多次执行。这是实现多轮对话、迭代优化、反思修正等能力的基础。例如,一个回答生成节点之后可以连接一个质量检查节点,如果检查不通过,流程可以循环回回答生成节点并要求重写,这在静态链中几乎无法实现。
  • 条件路由:基于当前的状态,动态决定下一步执行哪个节点。这使得应用具备了真正的决策能力。例如,根据用户问题的复杂度,可以路由到“简单问答节点”或“复杂分析节点”;根据工具调用的结果,可以决定是继续执行还是报错终止。

技术意义:这将 AI 应用的拓扑结构从一条线扩展为了一张网,能够自然地建模现实世界中复杂、非线性的业务流程。

2. 可持久化的状态管理

       在复杂的、多步骤的交互中,维持状态State是至关重要的。传统的链式开发中,状态管理(如对话历史、中间结果、执行步骤)需要开发者自行实现,通常很繁琐且容易出错。

LangGraph 将状态管理内化为架构的核心,它提供了一个名为 State 的共享数据结构,在所有节点之间流通和更新。

  • 结构化状态:状态是一个类型化Typed的字典,明确定义了每个字段的类型和作用(如 messages: list, current_step: str)。这保证了数据的结构化和一致性。
  • 可持久化检查点:这是其杀手级特性。LangGraph 可以在任何节点执行后,将当前完整状态自动保存为一个“检查点”。这意味着一个运行了很长时间的复杂工作流可以被中断,然后在之后从断点精确恢复。这对于运行耗时长的流程(如需要人工审批的环节)或应对服务中断至关重要。

技术意义:它原生支持了构建有状态的、长周期的、具备记忆和能力的 AI 智能体,并将状态持久化这一复杂技术问题简化为了框架的配置选项。

3. 对多智能体协作的支持

       构建由多个 specialized 的 AI 智能体协同工作的系统是当前的重要方向,但实现它们之间的通信和协调极具挑战性。

LangGraph 的图结构和状态管理,天生就是为多智能体协作设计的。

  • 智能体即节点:你可以将不同的智能体(例如,一个“研究员”智能体、一个“写作专家”智能体、一个“评审员”智能体)定义为图中的不同节点。
  • 共享状态作为通信总线:这些智能体通过共享的 State 进行通信和协作。研究员将找到的资料写入状态,写作者从状态中读取资料并撰写初稿,评审员再读取初稿并提出修改意见。整个协作流程在图的调度下井然有序。

技术意义:它极大地降低了构建复杂多智能体系统的技术门槛和工程复杂度,提供了一套标准化、可扩展的架构模式。

以上内容可简单概况为:

特性   技术突破 带来的能力
图计算模型 引入了循环和条件路由,超越了静态链 动态工作流、迭代优化、复杂决策
状态管理 提供了结构化、可持久化的状态管理 长周期、有记忆的智能体、服务可靠性
多智能体架构 图节点和共享状态天然支持智能体间的协作 复杂任务的分解与协同、专业化智能体系统

六、实际应用场景差异对比

场景:构建一个带审核循环的文本生成器

需求:用户输入一个主题,AI 生成一篇短文。但有一个关键要求:如果生成的文本中包含任何"暴力"词汇,系统需要自动拒绝并重新生成,最多重试 3 次。

1. 实现方式对比

1.1 传统方式(使用 LangChain)

在这种方式下,你需要手动管理循环、状态和条件判断。

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
import re
# 1. 定义链
prompt = PromptTemplate.from_template("写一篇关于{topic}的短文。")
llm = OpenAI()
chain = LLMChain(prompt=prompt, llm=llm)
# 2. 手动实现循环和检查逻辑
def generate_text_with_review(topic, max_retries=3):
    attempts = 0
    history = []  # 手动维护历史记录
    
    while attempts < max_retries:
        attempts += 1
        print(f"尝试第 {attempts} 次...")
        
        # 调用链生成文本
        result = chain.run(topic=topic)
        history.append(result)  # 手动记录状态
        
        # 手动检查内容
        if contains_violence(result):
            print("检测到不当内容,重新生成...")
            if attempts == max_retries:
                return "错误:多次生成均包含不当内容。", history
        else:
            # 内容合格,返回结果
            return result, history
    
    return "错误:达到最大重试次数。", history
def contains_violence(text):
    # 简单模拟暴力词汇检查
    violence_keywords = ['打架', '暴力', '斗殴']
    return any(keyword in text for keyword in violence_keywords)
# 3. 执行
final_result, history = generate_text_with_review("校园生活")
print("最终结果:", final_result)
print("生成历史:", history)

image.gif

传统方式的缺点:

  • 状态手动管理:需要自己创建和维护 attempts 计数器与 history 列表。
  • 循环逻辑冗杂:使用 while 循环和 if-else 进行流程控制,代码不够清晰。
  • 难以扩展:如果想在循环中添加新的检查步骤或节点,需要大幅修改核心循环逻辑。
  • 可观测性差:整个过程的步骤和状态变化没有直观的表示。

1.2 LangGraph 方式

LangGraph 通过图结构、状态管理和条件边,原生地支持这种循环逻辑。

from langgraph.graph import StateGraph, END
from typing import TypedDict, List
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI
# 1. 定义状态(State)的结构,这是共享的内存
class GraphState(TypedDict):
    topic: str
    draft: str
    attempts: int
    max_attempts: int
    history: List[str]
# 2. 定义各个节点(函数)
def generate_draft(state: GraphState):
    """节点一:生成草稿"""
    prompt = PromptTemplate.from_template("写一篇关于{topic}的短文。")
    llm = OpenAI()
    chain = LLMChain(prompt=prompt, llm=llm)
    
    draft = chain.run(topic=state["topic"])
    
    # 更新状态
    return {
        "draft": draft,
        "history": state["history"] + [draft], # 自动状态更新
        "attempts": state["attempts"] + 1
    }
def check_content(state: GraphState):
    """节点二:检查内容"""
    violence_keywords = ['打架', '暴力', '斗殴']
    draft = state["draft"]
    
    # 检查逻辑
    if any(keyword in draft for keyword in violence_keywords):
        return "needs_revision"
    else:
        return "approved"
# 3. 构建图
workflow = StateGraph(GraphState)
# 添加节点
workflow.add_node("generate_draft", generate_draft)
workflow.add_node("review_content", check_content) # 此节点只做判断,不更新状态
# 设置入口点
workflow.set_entry_point("generate_draft")
# 定义流程:生成后总是进入审核
workflow.add_edge("generate_draft", "review_content")
# 定义条件边:根据审核结果决定下一步
workflow.add_conditional_edges(
    "review_content",
    check_content, # 这个函数决定路由
    {
        "needs_revision": "generate_draft", # 需要修改,循环回生成节点
        "approved": END, # 审核通过,结束
    }
)
# 4. 编译并运行图
app = workflow.compile()
# 初始化状态
initial_state = GraphState(topic="校园生活", draft="", attempts=0, max_attempts=3, history=[])
# 运行图
final_state = app.invoke(initial_state)
print("最终结果:", final_state["draft"])
print("生成历史:", final_state["history"])

image.gif

LangGraph 的优势:

  • 声明式编程:声明了工作流("生成 → 审核 → 根据条件循环或结束"),而不是用指令式代码(while, if, +=)去描述如何实现它。代码更清晰,更接近业务逻辑本身。
  • 自动状态管理:状态(GraphState)是共享和自动传递的。你无需手动管理计数器和历史列表,只需在节点中返回要更新的字段。
  • 原生循环支持:通过 add_conditional_edges 实现循环逻辑是天然而直观的,无需复杂的循环和中断语句。
  • 极强的可观测性和可调试性:整个流程是一个可视化的图,你可以清晰地看到执行路径和每个节点的状态快照。
  • 易于扩展:如果想增加一个"语法检查"节点,只需添加这个节点,并在条件边中修改路由逻辑即可,核心结构不变。

实现方式对比总结:

方面 传统方式 LangGraph 方式
代码清晰度 业务逻辑与控制流(循环、判断)混杂 业务逻辑与流程控制分离,代码像流程图一样清晰
状态管理 手动维护变量,容易出错 框架自动管理,只需定义状态结构
复杂性处理 随着流程变复杂,代码急剧膨胀且难以维护 原生支持复杂拓扑(循环、并行、分支),扩展性强
调试与维护 困难,需要跟踪变量变化 易于调试,框架提供了完整的执行路径和状态历史

       对于简单的线性流程,传统方式可能足够。但一旦涉及循环、状态、条件路由或多人协作,LangGraph 通过其高级抽象,能大幅减少样板代码,降低认知负荷,让开发者专注于业务逻辑本身,从而带来显著的开发效能提升和更稳健的代码质量。

2. 错误处理对比

2.1 传统方式的脆弱性

       在 while 循环中,如果 chain.run() 或检查函数 contains_violence 抛出异常,整个流程会立即崩溃。需要添加大量的 try...except 块来包裹每个步骤,这会使得本已复杂的控制流更加臃肿。

# 传统方式中需要大量此类代码
try:
    result = chain.run(topic=topic)
except Exception as e:
    # 处理错误,决定是重试还是失败
    attempts += 1
    continue

image.gif

2.2 LangGraph 的优雅处理

       LangGraph 的节点在架构上是独立的。如果一个节点执行失败,我们可以通过错误处理路由将其引导至特定的恢复节点或终止节点,这种机制将错误处理也变成了工作流定义的一部分,而不是侵入式的代码。

# 伪代码:展示 LangGraph 的错误处理思路
def generate_draft(state: GraphState):
    try:
        # ... 生成逻辑
        return {"draft": draft}
    except Exception as e:
        # 返回一个错误状态,而不是抛出异常
        return {"error": str(e), "needs_fallback": True}
# 在构建图时,可以基于错误状态进行路由
workflow.add_conditional_edges(
    "generate_draft",
    lambda state: "needs_fallback" if state.get("error") else "review_content",
    {
        "needs_fallback": "fallback_node",
        "review_content": "review_content",
    }
)

image.gif

优势:LangGraph 将错误处理流程化,使得应用更加健壮,并能从故障中优雅恢复,而不是直接崩溃。

3. 可观测性与调试对比

3.1 传统方式的“黑盒”调试

       我们只能通过打印 attempts 和 history 来推断内部状态。要了解为什么重试、重试时发生了什么,非常困难。调试通常依赖于大量的 print 语句。

3.2 LangGraph 的“白盒”可视化

       由于流程被明确定义为一张图,LangGraph 可以天然地提供执行图谱。我们可以清晰地看到:

  • 执行路径:generate_draft -> review_content -> (循环) -> generate_draft -> ... -> END
  • 每个节点的输入和输出状态快照。
  • 确切地知道是在哪一次循环、因为什么条件(needs_revision)导致了路由决策。

       许多 LangGraph 的实现或工具可以直接将这个图和执行过程可视化出来,这对于调试复杂流程至关重要。

优势:LangGraph 提供了开箱即用的可观测性,极大地降低了调试多步、有状态工作流的成本。

4. 架构清晰度与团队协作对比

4.1 传统方式的链式代码

       所有逻辑(生成、检查、循环控制、状态更新)都纠缠在同一个函数中。当新成员加入或需要修改功能时,必须仔细阅读整个循环体才能理解所有隐含的流程和状态变化。

4.2 LangGraph 的模块化与关注点分离

  • 生成专家:只关心 generate_draft 节点,如何根据主题写出好文章。
  • 审核专家:只关心 review_content 节点,如何制定审核规则。
  • 架构师:只关心 workflow 的构建,如何将节点用边连接起来,定义全局流程。

       这种分离使得团队可以并行工作,每个人专注于自己的模块,并通过定义好的 State 接口进行交互。

优势:LangGraph 强制实施了清晰的架构边界,使代码更易读、易维护,非常适合团队协作开发复杂应用。

5. 长期维护与拓展

假设需求变更:在内容审核后,增加一个“事实核查”步骤,只有当内容和事实都通过后,才算最终完成。

5.1 传统方式的改动成本

       我们需要深入修改 generate_text_with_review 函数的核心循环逻辑。在 if contains_violence(result): 之后,插入新的检查逻辑,并可能引入新的状态变量(如 fact_checked)和更复杂的循环条件。这很容易引入错误。

5.2 LangGraph 的敏捷拓展

  • 1. 定义新节点:fact_check_draft。
  • 2. 修改图结构:
  • 将 review_content 到 END 的边,改为指向新的 fact_check_draft 节点。
  • 为 fact_check_draft 节点添加条件边,决定是通过、重试还是失败。
# 只需修改图的构建部分,节点功能是独立的
workflow.add_node("fact_check_draft", fact_check_draft)
workflow.add_edge("review_content", "fact_check_draft") # 修改原有路由
workflow.add_conditional_edges(
    "fact_check_draft",
    lambda state: state["fact_check_status"], # 新的判断逻辑
    {
        "needs_revision": "generate_draft",
        "approved": END,
    }
)

image.gif

优势:LangGraph 使得工作流演进变得像“插拔组件”一样简单。你无需触动现有节点的内部逻辑,只需重新布线即可,符合开闭原则(对扩展开放,对修改封闭)。

综合对比总结:

环节 传统方式 LangGraph 方式
错误处理 侵入式的 try...catch,易破坏主流程 流程化错误处理,可作为工作流的一部分
可观测性 靠 print 调试,状态跟踪困难 原生状态快照与执行图谱,调试直观
团队协作 逻辑耦合,需理解整个循环 模块化设计,关注点分离,接口清晰
需求演进 修改核心循环,风险高 通过“增删节点和边”即可扩展,风险低

       LangGraph 的优势远不止是“写起来更方便”。它通过引入图计算模型和一流的状态管理,从根本上改变了我们构建复杂AI应用的思维方式。它带来的是一种更具表现力、更健壮、更易于观测和维护的工程范式,特别适合于构建生产级、需要长期迭代的复杂AI系统。

七、总结

       LangGraph 提供了强大的工具来构建复杂的有状态应用程序。通过节点、边和条件路由的组合,我们可以创建从简单对话机器人到复杂多代理系统的各种应用。关键是要合理设计状态结构,明确节点职责,并充分利用条件路由来实现灵活的工作流控制。

       LangGraph不是另一个技术框架,而是应对复杂性的方法论。它承认现实世界的业务逻辑本质上是:

  • 非线性的:充满分支和循环
  • 有状态的:需要记忆和上下文
  • 演进的:需求会不断变化
  • 协作的:需要团队共同维护

       总而言之,LangGraph 的突破是架构层面的。它填补了从“构建一个能回答问题的AI”到“构建一个能自主完成复杂任务的AI系统”之间的关键技术鸿沟,是开发生成式AI应用向更高级、更复杂、更可靠阶段演进的必然选择和核心基础设施。

相关文章
|
14天前
|
存储 人工智能 自然语言处理
构建AI智能体:三十七、从非结构化文本到结构化知识:基于AI的医疗知识图谱构建与探索
知识图谱是一种用图结构表示实体及其关系的技术,通过三元组(主体-关系-客体)构建语义网络。文章以医疗领域为例,详细介绍了知识图谱的构建流程:数据预处理、实体识别、关系抽取、知识融合、存储与可视化等步骤。知识图谱可应用于智能问答、辅助诊断、药物研发等场景,其结构化特性可弥补大语言模型的不足,二者结合能提升AI系统的准确性和可解释性。文章还展示了基于大模型的医疗知识图谱构建代码示例,涵盖实体识别、关系抽取、图谱存储和智能问答等核心功能,体现了知识图谱在专业领域的实用价值。
270 12
|
2天前
|
传感器 人工智能 数据可视化
构建AI智能体:五十三、反应式应急+深思式优化:反应速度与规划智慧的平衡
智能体系统设计的混合架构研究 本文探讨了智能体系统的两种基本范式及其融合架构。反应式智能体采用&quot;感知-行动&quot;模式,具有响应速度快、资源消耗低的特点,适用于紧急场景;深思熟虑智能体采用&quot;感知-推理-行动&quot;模式,具备复杂问题求解能力,但计算成本高。研究表明,最先进的解决方案是分层混合架构:底层反应层处理紧急任务,上层深思层负责战略规划,二者通过动态交互机制协作。这种架构在扫地机器人等应用场景中展现出显著优势,既能快速应对突发情况,又能执行长期规划任务。
74 11
|
3天前
|
人工智能 安全 数据可视化
构建AI智能体:五十、ModelScope MCP广场 · MCP协议 · Cherry Studio:AI应用生产线
本文介绍了AI开发生态中的三个关键组件:CherryStudio可视化开发平台、ModelScope MCP广场和MCP协议标准。CherryStudio作为低代码AI应用开发环境,通过拖拽式界面简化了基于大语言模型的智能体构建;ModelScope MCP广场作为官方MCPServer分发中心,提供各类工具服务的发现与管理;MCP协议则定义了LLM与外部工具的安全连接标准。三者构建了从资源发现、能力连接到应用落地的完整AI开发链条,推动AI开发从手工作坊迈向工业化时代。文章还演示了如何在CherryStu
116 9
|
17天前
|
缓存 运维 监控
一次内存诊断,让资源利用率提升 40%:揭秘隐式内存治理
阿里云云监控 2.0 推出 SysOM 底层操作系统诊断能力,基于 eBPF + BTF 协同分析,无需侵入业务,即可一键完成从物理页到文件路径、再到容器进程的全栈内存归因,让“黑盒内存”无所遁形。
420 68
|
8天前
|
机器学习/深度学习 存储 SQL
当系统“情绪化”时:基于 OpenTelemetry 的异常检测与自适应采样,原来可以这么玩!
当系统“情绪化”时:基于 OpenTelemetry 的异常检测与自适应采样,原来可以这么玩!
72 12
|
9天前
|
人工智能 Java API
【Azure AI Search】如何通过Entra ID RBAC认证连接中国区 Azure AI Search
本文介绍如何在Java SDK中配置中国区AI Search资源访问。由于默认认证地址为全球环境(https://search.azure.com),在中国区需修改为https://search.azure.cn,并通过设置SearchAudience.AZURE_CHINA解决认证失败问题,确保资源正常获取。
99 18
|
13天前
|
搜索推荐 Java 关系型数据库
基于Android的在线音乐个性化推荐APP系统
本研究聚焦数字时代下在线音乐个性化推荐APP的开发,探讨其背景、意义与技术实现。面对海量音乐内容带来的发现难题,结合Android Studio、Java、SpringBoot与MySQL等技术,构建智能推荐系统,提升用户体验与平台价值,推动音乐产业数字化发展。
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
构建AI智能体:三十八、告别“冷启动”:看大模型如何解决推荐系统的世纪难题
协同过滤是推荐系统中广泛使用的技术,其核心思想是利用用户行为数据发现相似用户或物品进行推荐。摘要包括:1)协同过滤基于用户历史行为数据,通过计算相似度(如余弦相似度、皮尔逊相关系数)预测用户偏好;2)主要分为基于用户(寻找相似用户群体)和基于物品(发现相似物品)两种方法;3)面临冷启动、数据稀疏性等挑战,可通过混合推荐(结合内容特征)和矩阵分解等技术解决;4)典型应用包括电商猜你喜欢和流媒体推荐;5)结合大语言模型可增强语义理解能力,提升推荐准确性。
212 9
|
21天前
|
人工智能 编解码 数据可视化
构建AI智能体:三十、精雕细琢:驾驭关键词的细微差别,解锁高质量提示词编排与视觉表征
《AI图像生成中的提示词工程艺术》摘要:文章系统阐述了人工智能图像生成中的提示词工程(Prompt Engineering)技术。通过具体案例对比,展示了细微的提示词差异如何导致图像质量的巨大分野,详细解析了提示词的核心要素、语法结构及编排方法。文章提出专业级提示词的多维描述矩阵和权重控制语法,强调精准描述与AI沟通的重要性。同时指出,提示词工程是艺术与科学的结合,需要不断练习和实验才能掌握这项数字时代的关键创造力技能。
180 11
|
1天前
|
弹性计算 人工智能 安全
最新版:阿里云服务器租用价格表(CPU/内存/带宽/磁盘收费标准)
云服务器租用价格多少钱一年?阿里云服务器最便宜多少钱一年?阿里云服务器优惠活动持续上线,新老用户同享多重福利,续费价格保持稳定不涨价。本次优惠涵盖轻量应用服务器、ECS 云服务器及 GPU 服务器三大品类,其中多款爆款配置低至 1 折起,性价比突出,以下是详细报价及核心信息整理。
74 8