NeMo Agent AI应用扩展避坑:百人并发→生产部署成功率翻倍

2025-08-28AI工具

Image

各位跨境实战的同仁们,大家好!

当你辛辛苦苦搭建起一个强大的AI代理应用,准备信心满满地推广给团队内部甚至更广阔的用户时,是不是总会有些忐忑?这个代理在10个、100个,甚至1000个同事同时使用时,还能稳如泰山吗?能不能扛得住海量的并发请求?这些问题,可是咱们AI应用从“小作坊”走向“大工厂”生产环境,必须啃下的硬骨头。

新媒网跨境获悉,我们团队近期就遇到了这个挑战。为了内部署一个基于NVIDIA AI-Q蓝图(一个用LangGraph构建的智能体应用)的深度研究代理,如何确保其稳定、高效地运行,成了摆在面前的头等大事。今天,我就来跟大家掰扯掰扯,咱们是如何利用NVIDIA NeMo Agent Toolkit里的一系列工具和技巧,成功将这个AI智能体应用部署并扩展到生产环境的。
A diagram of an agentic system showing a user prompt going to an agent, which coordinates reasoning, report generation, web search, and enterprise file retrieval using NVIDIA Llama Nemotron reasoning, NeMo Retriever, and LLM NIM microservices.

图1:AI-Q研究代理蓝图架构示意图

打造一个安全、可扩展的深度研究助手,我们是怎么做的?

深度研究工具在日常工作中早已司空见惯,很多人都在用一些国外流行的AI工具,比如Perplexity、ChatGPT或Gemini。然而,对于我们这类拥有内部敏感信息的机构来说,直接使用这些公开工具进行深度研究,合规性和数据安全都是大问题。正是基于此,NVIDIA年初开源了一个深度研究应用的蓝图,可以在企业内部署,这正好成了我们内部生产环境中部署深度研究助手的起点。

这个AI-Q研究代理厉害在哪里?它能让用户上传文档、提取元数据,还能访问内部数据源,并进行网络搜索,最终生成一份详尽的报告。它的核心是基于NeMo Agent Toolkit实现的,里面用到了NVIDIA NeMo Retriever的多种模型,覆盖了文档摄入、检索以及大语言模型(LLM)调用等环节。

在咱们的生产环境中,我们选择了一个内部的OpenShift集群,这符合我们AI工厂的参考架构,并且可以访问本地部署的NVIDIA NIM微服务和第三方可观测性工具。摆在我们面前的挑战是:要支持数百名来自不同团队的用户同时使用,系统哪些部分需要优先扩展?

为了解决这个难题,我们遵循了一个“三步走”的策略,并在每个阶段都充分利用了NeMo Agent Toolkit提供的利器:

  1. 单用户应用画像与优化:先搞清楚一个用户使用时的瓶颈在哪里。
  2. 负载测试,数据先行:模拟高并发场景,收集数据,预估大规模用户所需的架构。
  3. 分阶段推广,实时监测:小范围试点,逐步放开,同时严密监控应用表现。

第一步:如何给AI智能体应用“画像”并优化?

将AI智能体应用推向生产环境,一个棘手的挑战就是每个智能体应用都是独一无二的。很难简单地说“一个AI应用每100个用户需要一块GPU”。所以,扩展应用的第一步,一定是深入了解一个用户使用时,应用到底是怎么跑的。NeMo Agent Toolkit提供了一个评估和画像系统,可以轻松地收集数据,量化地理解应用的实际行为。

巧用NeMo Agent Toolkit画像工具

使用这个评估和画像工具非常简单,你只需要在应用的配置文件中添加一个评估(eval)部分。这个评估配置里会包含一个数据集,里面放着一些示例用户输入。智能体应用毕竟不是完全确定的,所以多跑几个不同的输入,看看它在各种场景下的表现,对我们理解应用非常关键。

eval:
  general:
    output_dir: single_run_result
  dataset:
    _type: json
    file_path: example_inputs.json
  profiler:
    # Compute inter query token uniqueness
    token_uniqueness_forecast: true
    # Compute expected workflow runtime
    workflow_runtime_forecast: true
    # Compute inference optimization metrics
    compute_llm_metrics: true
    # Compute bottleneck metrics
    bottleneck_analysis:
      enable_nested_stack: true
    concurrency_spike_analysis:
      enable: true
      spike_threshold: 7

咱们这个AI-Q研究代理,它是一个LangGraph应用,并且使用了NeMo Agent Toolkit的函数封装器。这些封装器能够让画像工具自动捕捉应用不同部分的运行时间(timing)和Token使用情况。如果咱们想追踪应用内部的更细致的步骤,只需要在关注的函数上加个简单的装饰器就行了。

from aiq.profiler.decorators.function_tracking import track_function

@track_function(metadata={"source": "custom_function"})
def my_custom_function(a, b):
    return a + b

运行eval命令,工具就会根据输入数据集执行工作流,然后收集并计算一系列有用的指标。

aiq eval --config_file configs/eval_config.yml

其中一个非常直观的输出就是甘特图(或者叫瀑布图)。这张图能清晰地展示在用户会话的各个阶段,哪些函数正在执行,以及它们的执行顺序和重叠情况。通过这张图,我们很快就找到了应用中最可能成为瓶颈的地方。对于AI-Q研究代理来说,主要瓶颈在于调用NVIDIA Llama Nemotron Super 49B这样的大语言模型推理服务。找到了瓶颈,我们就能集中精力去复制和扩展这个LLM的NVIDIA NIM部署,对症下药。
Gantt chart showing the sequence and overlap of steps in a report writing process, including planning, parallel search, section writing, reflections, and final summary. Tasks are color coded and labeled with brief descriptions.

图2:NeMo Agent Toolkit生成的甘特图,展示了时间线和瓶颈

评估精准度,光快还不行!

除了捕捉时间消耗和Token使用情况,这个评估和画像工具还能计算出很多评估指标。在我们的案例中,不仅要保证应用在多用户并发下响应迅速,更要确保它能生成高质量、有用的报告。为此,我们针对深度研究的实际需求,设计了定制化的评估指标,并利用画像工具对不同版本的应用代码进行基准测试。这样做,就是为了确保我们所做的任何优化,都不会牺牲报告的质量。

这个工具能以多种格式报告指标,其中一个特别实用的选项是将其导出到专业的分析可视化平台,比如Weights and Biases,这样我们就能长期追踪和可视化实验结果。
A dashboard compares two machine learning models using bar and radar charts for metrics like accuracy, recall, and precision. Feature importances are listed below.

图3:不同功能分支之间的指标对比

第二步:您的架构能应对200个用户吗?

预估需求:未雨绸缪

在深入理解并优化了单用户应用性能之后,我们准备迈出下一步:进行多用户负载测试。这次负载测试的目标有三:一是让应用在高并发下运行,二是发现并修复潜在的问题,三是收集数据,为最终部署的资源需求提供依据。

为了弄清楚什么样的架构能支持200个并发用户,我们利用现有硬件,分别跑了10、20、30、40和50个并发用户的负载测试。测试期间收集到的数据,将用于预测全面部署所需的硬件资源。

进行负载测试,我们用的是NeMo Agent Toolkit提供的“容量计算器”。

捕捉并发数据,摸清底细

这个工具的容量计算器,其实就是利用前面提到的画像和评估工具,只不过它是以并行的方式,在不同的并发级别下运行模拟的工作流。

aiq sizing calc --calc_output_dir $CALC_OUTPUT_DIR --concurrencies 1,2,4,8,16,32 --num_passes 2

在负载测试期间,计算器会捕捉一系列关键指标,包括每次LLM调用的p95(第95百分位)时间,以及整个工作流的p95时间。

*请注意,下方展示的输出是工具的示例数据,并非我们内部深度研究代理实际负载测试的数据。
Line graph showing the relationship between concurrency and p95 LLM latency and workflow runtime; as concurrency increases, both latency and runtime increase, with workflow runtime rising more steeply.

图4:NeMo Agent Toolkit容量计算器捕捉到的时延数据

扩展预测,心中有数

在不同并发量下收集到数据后,我们就能清晰地了解现有架构和硬件能支持多少用户了。举个例子,假设我们用一块GPU进行了负载测试,如果结果显示一块GPU能在我们的延迟阈值内支持10个并发用户,那么我们就可以推断,要支持100个并发用户,就需要10块GPU。这种预测能力,让咱们在资源规划时能做到心中有数。
Two scatter plots comparing

图5:NeMo Agent Toolkit容量计算器对硬件需求的预测

其他意外收获:负载测试不仅仅是测压力

负载测试的另一个重要好处,就是能帮助我们发现应用中一些在单用户运行时并不明显的瓶颈或Bug。比如,在AI-Q研究代理的初步负载测试中,我们就揪出了两个关键问题并进行了修正:

  1. 我们在负载测试期间监控了硬件指标,发现某个NVIDIA NIM微服务占用了100%的CPU资源。这帮助我们找到了问题的根源:原来是咱们Helm Chart配置有误,给这个NIM分配的CPU比实际需求少。修正配置后,系统稳定多了。
    Line graph showing total CPU percentage utilization over time, with a sharp rise and brief fluctuations before stabilizing at around 100%.

图6:压力测试期间的CPU资源耗尽

  1. 我们还发现,应用在某些情况下,如果LLM调用超时,整个应用就会直接崩溃。针对这个问题,我们及时增加了重试机制和更完善的错误处理。这样一来,即使偶发性的LLM调用失败,也不会导致整个用户体验中断,而是能更优雅地降级处理。
try:
    async with asyncio.timeout(ASYNC_TIMEOUT):
        async for chunk in chain.astream(input, stream_usage=True):
            answer_agg += chunk.content
            if "</think>" in chunk.content:
                stop = True
        if not stop:
            writer({"generating_questions": chunk.content})
except asyncio.TimeoutError as e:
    writer({"generating_questions": "Timeout error from reasoning LLM, please try again"})
    return {"queries": []}

第三步:如何在生产环境中监控、追踪并优化研究代理的性能?

掌握了以上这些宝贵信息,我们就能为AI-Q研究代理部署相应数量的副本,确保系统各个组件都能协同作战。作为最后一步,我们采用了分阶段推广的策略——先从小团队开始试点,然后逐步增加用户。在这个推广过程中,实时观察应用的性能至关重要。我们运用了NeMo Agent Toolkit的OpenTelemetry(OTEL)收集器,配合Datadog这样的监控平台,来全面捕捉日志、性能数据和LLM追踪信息。

general:
  telemetry:
    tracing:
      otelcollector:
        _type: otelcollector
        # Your otel collector endpoint
        endpoint: http://0.0.0.0:4318/v1/traces
        project: your_project_name

OTEL收集器的集成,让我们能够查看每个用户会话的具体追踪情况,从而深入理解应用性能和LLM的行为。这简直是咱们排查问题的“火眼金睛”。
A performance trace dashboard showing a timeline of tasks, including

图7:Datadog火焰图展示了真实用户会话的时序

我们还可以对这些追踪数据进行聚合分析,从而宏观地了解应用的整体表现。下面的图表就展示了平均延迟和一些性能异常的用户会话。通过这些数据,我们可以迅速定位到性能瓶颈,并及时进行优化。
A dashboard screenshot showing high latency span analysis, with graphs and data tables breaking down unusual and typical latency by resource name, span kind, input mime type, and input value.

图8:Datadog延迟分析图,展示了p95时间与单个追踪函数的异常值

写在最后

各位兄弟们,通过结合NeMo Agent Toolkit以及各种AI工厂的生态伙伴工具,我们团队成功地部署了内部版本的NVIDIA AI-Q蓝图,打造了一个高可靠、高性能的智能研究助手。整个过程虽然充满挑战,但结果令人满意,也让我们对未来AI应用的规模化落地充满信心。

新媒网跨境认为,AI技术正在深刻改变我们的工作方式,掌握这些实战经验,对于咱们跨境从业者来说,无疑是提升效率、赢得竞争的关键。如果您对构建NeMo Agent Toolkit应用感兴趣,或者想亲自体验AI-Q NVIDIA研究代理蓝图,不妨动手试试看!


新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/20164.html

评论(0)

暂无评论,快来抢沙发~
本文介绍了如何使用NVIDIA NeMo Agent Toolkit将基于NVIDIA AI-Q蓝图的AI智能体应用部署并扩展到生产环境,解决高并发问题。通过单用户画像与优化、负载测试、分阶段推广等策略,打造了一个安全、可扩展的深度研究助手,并分享了在生产环境中监控、追踪和优化AI应用性能的经验。
发布于 2025-08-28
查看人数 1051
人民币汇率走势
CNY
亚马逊热销榜
共 0 SKU 上次更新 NaN:NaN:NaN
类目: 切换分类
暂无数据
暂无数据
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。