基于开源GPT构建智能体工作流实战指南

本文详细介绍如何在云端平台部署OpenAI开源GPT模型,结合LangGraph框架构建多智能体股票分析系统,并通过统一编排层实现规模化部署。涵盖模型优化、架构设计和实战案例。

构建基于OpenAI GPT开源模型的智能体工作流

OpenAI发布了两个开源权重模型:gpt-oss-120b(1170亿参数)和gpt-oss-20b(210亿参数),均采用混合专家(MoE)设计和128K上下文窗口。根据Artificial Analysis基准测试,这些模型在推理和智能体工作流方面表现卓越。

解决方案概述

本解决方案构建了一个智能股票分析器,包含以下核心组件:

  • 使用vLLM开源服务框架将GPT OSS 20B模型部署到托管端点
  • 使用LangGraph构建多智能体编排框架
  • 通过统一编排层部署智能体

架构示意图

该架构展示了在云端运行时上托管的多智能体工作流。用户提交查询后,由专业化智能体管道处理:数据收集智能体、股票性能分析智能体和股票报告生成智能体。这些智能体在运行时内协作,当需要语言理解或生成时,调用托管在AI平台上的GPT OSS模型。

部署GPT-OSS模型到推理服务

客户可以使用服务器化部署自定义模型和框架,但这需要访问GPU、服务框架、负载均衡器和基础设施设置。AI平台提供完全托管的托管平台,负责配置具有必要驱动程序的基础设施、下载模型并部署它们。

部署配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
inference_image = "账户ID.dkr.ecr.区域.amazonaws.com/vllm:v0.10.0-gpt-oss"
instance_type = "ml.g6e.4xlarge"
num_gpu = 1
model_name = "model-byoc"
endpoint_name = model_name

config = {
    "OPTION_MODEL": "openai/gpt-oss-20b",
    "OPTION_SERVED_MODEL_NAME": "model",
    "OPTION_TENSOR_PARALLEL_SIZE": 1,
    "OPTION_ASYNC_SCHEDULING": "true"
}

使用LangGraph构建股票分析智能体

对于股票分析多智能体系统,使用LangGraph编排工作流。系统包含三个专业化工具:

  1. 数据收集工具:收集给定股票代码的综合数据
  2. 股票性能分析工具:执行详细的技术和基本面分析
  3. 股票报告生成工具:创建专业PDF报告

本地测试示例

1
2
3
4
5
6
from langgraph_stock_local import langgraph_stock_sagemaker

result = langgraph_stock_sagemaker({
    "prompt": "分析SIM_STOCK股票用于投资目的"
})
print(result)

部署到统一编排层

开发和本地测试LangGraph框架后,可以将其部署到统一编排层运行时。该运行时处理容器编排、会话管理、可扩展性和基础设施管理的抽象工作。

权限配置

部署前需要创建具有适当权限的IAM角色,允许运行时调用推理端点、管理容器镜像仓库、写入监控日志等。

部署代码示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from bedrock_agentcore_starter_toolkit import Runtime

agentcore_runtime = Runtime()
response = agentcore_runtime.configure(
    entrypoint="langgraph_stock_sagemaker_gpt_oss.py",
    execution_role=role_arn,
    requirements_file="requirements.txt",
    agent_name="stock_analyzer_agent"
)

launch_result = agentcore_runtime.launch(local=False)

调用智能体

部署完成后,可以通过SDK调用智能体:

1
2
3
4
5
6
7
8
9
import boto3
import json

response = agentcore_client.invoke_agent_runtime(
    agentRuntimeArn=launch_result.agent_arn,
    payload=json.dumps({
        "prompt": "分析SIM_STOCK用于投资目的"
    })
)

响应处理

调用股票分析智能体后,需要解析和格式化响应以清晰呈现。响应处理包括:

  • 将字节流解码为可读文本
  • 解析包含完整股票分析的JSON响应
  • 使用正则表达式提取三个主要部分

输出示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
股票数据收集报告:
================================
股票代码:SIM_STOCK
公司名称:Simulated Stock Inc.
行业:SIM_SECTOR

当前市场数据:
- 当前价格:$29.31
- 市值:$3,958
- 52周高点:$29.18

资源清理

测试完成后可以删除推理端点以避免产生费用:

1
2
sess.delete_inference_component(inference_component_name)
sess.delete_endpoint(endpoint_name)

同时可以删除运行时资源:

1
2
3
runtime_delete_response = agentcore_control_client.delete_agent_runtime(
    agentRuntimeId=launch_result.agent_id
)

结论

本文构建了端到端解决方案,在单个GPU上部署OpenAI开源权重模型,使用LangGraph创建多智能体股票分析系统,并通过统一编排层无缝部署。该实施方案展示了组织如何通过vLLM等高效服务框架经济有效地使用强大的开源大语言模型。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计