企业级本地智能体架构:LangChain + MCP + vLLM + Qwen3-32B私有化部署方案

使用VLLM部署Qwen3大模型的完整指南 使用VLLM部署Qwen3-32B大模型的完整指南 阅读详情
AI摘要

本文介绍企业级本地智能体架构私有化部署方案,采用LangChain + MCP + vLLM + Qwen3 - 32B技术栈,涵盖vLLM部署Qwen3 - 32B、构建DB MCP Server、用Langchain构建智能体及问答测试等内容,还提及大模型学习资料和适学人群。

一、私有化智能体应用

在本专栏的前面文章基于Spring AI MCP实现了本地 ChatBI 问答应用,本文还是依据该场景,采用 LangChain + vLLM + Qwen3-32B + MCP 技术栈构建该流程,整体过程如下图所示:

在这里插入图片描述

实现效果如下所示:

图片

关于 MySQL 表结构的创建,可以参考下面这篇文章:

Spring AI MCP Server + Cline 快速搭建一个数据库 ChatBi 助手

实验所使用依赖的版本如下:

torch==2.6.0
transformers==4.51.3
modelscope==1.23.1
vllm==0.8.4
mcp==1.9.2
openai==1.75.0
langchain==0.3.25
langchain-openai==0.3.18
langgraph==0.4.7
pymysql==1.0.3

二、vLLM 部署 Qwen3-32B

使用 modelscope 下载 Qwen3-32B 模型到本地:

modelscope download --model="Qwen/Qwen3-32B" --local_dir Qwen3-32B

vLLM 读取模型启动API服务。

export CUDA_VISIBLE_DEVICES=0,1

vllm serve "Qwen3-32B" \
  --host 0.0.0.0 \
  --port 8060 \
  --dtype bfloat16 \
  --tensor-parallel-size 2 \
  --cpu-offload-gb 0 \
  --gpu-memory-utilization 0.8 \
  --max-model-len 8126 \
  --api-key token-abc123 \
  --enable-prefix-caching \
  --enable-reasoning \
  --reasoning-parser deepseek_r1\
  --enable-auto-tool-choice \
  --tool-call-parser hermes \
  --trust-remote-code

关键参数说明:

  • • export CUDA_VISIBLE_DEVICES=0,1 :指定所使用的GPU。
  • • dtype: 数据类型,其中 bfloat16,16位浮点数,适合 NVIDIA A100 等设备。
  • • tensor-parallel-size:Tensor 并行的数量,当多 GPU 分布式推理时使用,建议和GPU的数量一致。
  • • cpu-offload-gb:允许将部分模型权重或中间结果卸载到 CPU 的内存中,单位为 GB。,模拟 GPU 内存扩展,如果部署的模型大于了显存大小可以设置该参数,但是推理速度会大大下降。
  • • gpu-memory-utilization:设置 GPU 内存利用率的上限。
  • • max-model-len:允许模型最大处理的Token数,该参数越大占用显存越大。
  • • enable-prefix-caching:启用前缀缓存减少重复计算。
  • • enable-reasoning:启用思考推理能力。
  • • reasoning-parser deepseek_r1:指定推理解析器。
  • • enable-auto-tool-choice:启用 function call 模式。
  • • tool-call-parser hermes:设置 function call 的解析器。

图片

显存占用情况:

图片

如果启动显存不足,可适当调整 gpu-memory-utilization 和 max-model-len 参数,或通过 cpu-offload-gb 将部分模型权重卸载到内存中。

启动成功后,可通过 /v1/models 接口可查看模型列表:

curl http://127.0.0.1:8060/v1/models -H "Authorization: Bearer token-abc123"

图片

测试API交互,思考模式:

curl http://127.0.0.1:8060/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer token-abc123" \
    -d '{
        "model": "Qwen3-32B",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "你是谁"}
        ]
    }'

在这里插入图片描述

非思考模式测试:

curl http://127.0.0.1:8060/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer token-abc123" \
    -d '{
        "model": "Qwen3-32B",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "你是谁/no_think"}
        ]
    }'

图片

三、构建DB MCP Server

在 MCP Server 端,依据上面图片的规划,包括三个 MCP Tool ,分别是 获取所有可用的表名:get_all_tables、根据表名获取:Schema get_table_schema、执行SQL:run_sql ,交互协议选择 SSE 模式。

首先实现数据库操作,这里仅仅做了数据库的交互,实际使用你应考虑很多性能细节的优化:

utils_db.py

import pymysql

defget_conn():
    return pymysql.connect(
        host="127.0.0.1",
        port=3306,
        database="langchain",
        user="root",
        password="root",
        autocommit=True
    )

defquery(sql):
    conn = get_conn()
    cursor = conn.cursor()
    cursor.execute(sql)
    columns = [column[0] for column in cursor.description]
    res = list()
    for row in cursor.fetchall():
        res.append(dict(zip(columns, row)))
    cursor.close()
    conn.close()
    return res

db_mcp_server.py

import json

from mcp.server.fastmcp import FastMCP
import utils_db

mcp = FastMCP("DB Mcp Server")
all_tables_sql = "SELECT TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'langchain'"
schema_sql = """
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'langchain' AND TABLE_NAME = '{table}'
"""


@mcp.tool()
defget_all_tables() -> str:
    """获取所有可用的表名"""
    return json.dumps(utils_db.query(all_tables_sql), ensure_ascii=False)


@mcp.tool()
defget_table_schema(table_names: list[str]) -> str:
    """根据表名获取Schema"""
    table_schema = []
    for table in table_names:
        schemas = utils_db.query(schema_sql.format(table=table))
        schemas = ", \n".join([f"{s['COLUMN_NAME']} {s['DATA_TYPE']} COMMENT {s['COLUMN_COMMENT']}"for s in schemas])
        table_schema.append(f"{table} ({schemas})")
    return"\n\n".join(table_schema)


@mcp.tool()
defrun_sql(sql: str) -> str:
    """执行SQL查询数据,一次仅能执行一句SQL!"""
    try:
        return json.dumps(utils_db.query(sql), ensure_ascii=False)
    except Exception as e:
        returnf"执行SQL错误:{str(e)} ,请修正后重新发起。"


if __name__ == "__main__":
    mcp.settings.port = 6030
    mcp.run("sse")

启动 MCP Server 服务:

在这里插入图片描述

四、Langchain 构建 MCP Client Agent 智能体

官方关于 MCP 的集成介绍文档:

https://langchain-ai.github.io/langgraph/agents/mcp/

实现过程:

import os, config

os.environ["OPENAI_BASE_URL"] = "http://127.0.0.1:8060/v1"
os.environ["OPENAI_API_KEY"] = "token-abc123"
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langgraph.checkpoint.memory import InMemorySaver
import asyncio
from colorama import Fore, Style, init

asyncdefmain():
    client = MultiServerMCPClient(
        {
            "db": {
                "url": "http://127.0.0.1:6030/sse",
                "transport": "sse",
            }
        }
    )
    tools = await client.get_tools()
    checkpointer = InMemorySaver()
    agent = create_react_agent(
        "openai:Qwen3-32B",
        tools,
        checkpointer=checkpointer
    )
    config = {
        "configurable": {
            "thread_id": "1"
        }
    }
    whileTrue:
        question = input("请输入问题:")
        ifnot question:
            continue
        if question == "q":
            break
        asyncfor chunk in agent.astream(
                {
                    "messages": [
                        {
                            "role": "user",
                            "content": question
                        }
                    ]
                },
                config=config,
                stream_mode="updates"
        ):
            if"agent"in chunk:
                content = chunk["agent"]["messages"][0].content
                tool_calls = chunk["agent"]["messages"][0].tool_calls
                if tool_calls:
                    for tool in tool_calls:
                        print(Fore.YELLOW, Style.BRIGHT, f">>> Call MCP Server: {tool['name']} , args: {tool['args']}")
                else:
                    print(Fore.BLACK, Style.BRIGHT, f"LLM: {content}")
            elif"tools"in chunk:
                content = chunk["tools"]["messages"][0].content
                name = chunk["tools"]["messages"][0].name
                print(Fore.GREEN, Style.BRIGHT, f"<<< {name} : {content}")


if __name__ == '__main__':
    asyncio.run(main())

运行智能体,开始测试。

四、智能体问答测试

提问:当前的用户数,以及工作组清单

图片

提问:工作组 A 下的人,都有哪些角色

可以看到执行过程,当发现错误后,能够及时的纠正,进而得到正确的结果:

图片

提问:role1 下的有哪些人

图片

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

基于vLLM的高效Qwen3大模型部署指南 《高效部署Qwen3大模型的vLLM实践指南》 本文详细介绍了利用vLLM推理引擎部署Qwen3大模型的完整方案。通过技术选型分析,展现了vLLM在吞吐量(提升5-8倍)和GPU利用率(达92%)方面的显著优势。文章从环境配置、API封装到性能优化(包括显存管理和批量处理),逐步演示了部署流程。生产级方案涵盖分布式架构和监控指标设置,并提供了文档分析和对话系统等应用示例。测试数据显示,vLLM部署的吞吐量达18200 tokens/s,延迟稳定在150ms以内。建议结合AWQ量化技术,可降低40%显存占用。 阅读详情

相关推荐

大模型推理:Qwen3 32B vLLM Docker本地部署

使用Docker和vllm在本地部署Qwen3系列模型,同时给出其他模型部署框架参考,比如MindIE、Sglang等

sunny0121的博客 1万+

通过vllm部署qwen3大模型以及基于 vLLM 的 OpenAI 兼容 API 接口调用方法总结

该报错说明KV缓存所需的内存超过了可用的显存,KV缓存的计算涉及模型层数、序列长度和批次大小等因素,模型默认设置的max_seq_len是40960,这大大超过了服务器的负载上限,应该降低通过调整–max_model_len参数以减少KV缓存需求。接口必须确认实际加载的模型名称,避免因名称不匹配导致404错误。适用场景:非对话式文本生成(如问答、续写)适用场景:多轮对话(如聊天机器人)

m0_69966537的博客 1万+

从零开始使用CubeMX配置STM32使用lwip实现httpd服务器以及使用vscode编辑阅读keil代码(三)

使用stm32搭载lwip实现HTTPd服务器

qq_30623327的博客 5934

AI大模型企业应用实战:Prompt让LLM理解知识

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

2401_84204413的博客 3215

VS2022错误列表高效处理:从复制到Excel表格的完整指南

本文详细介绍了在Visual Studio 2022中高效处理错误列表的实用技巧,重点讲解了如何将错误信息一键复制并粘贴到Excel表格中。通过基础操作、自定义视图、筛选功能及常见问题解决方案,帮助开发者将杂乱的编译错误整理成清晰、可排序、可筛选的数据表,极大提升了团队协作、错误分析和项目管理的效率。

weixin_28837817的博客 361

从零到一:构建嵌入式Nginx的模块化架构与跨平台部署实战

本文详细介绍了在ARM32架构的RV1126嵌入式设备上,通过交叉编译技术构建模块化Nginx服务器的完整实战流程。涵盖环境配置、依赖库编译、Nginx核心与http_ssl_module等模块集成、性能优化及部署调试,为嵌入式开发提供高效可靠的Web服务器解决方案。

rock5的博客 203

国产大模型Qwen3-32B完全本地化实战:LangChain + vLLM构建企业级智能体全解析

《企业级AI私有化部署实战:从Qwen3-32B到智能化测试体系》摘要 在数据安全要求日益严格的背景下,本文探讨了基于Qwen3-32B大模型的本地化部署方案。通过vLLM推理引擎和LangChain框架的有机结合,构建了具备企业级安全标准的智能体系统。文章详细介绍了从模型量化测试(精度损失控制在3%内)、vLLM服务部署(吞吐量提升3-5倍)到智能体组装的全流程,重点突出了测试工程师需要关注的四大维度:数据流审计、性能优化(Q4量化显存降低50%)、安全测试(Prompt注入防护)和持续验证策略。测试环境

hogwarts_beibei的博客 1428

别再踩坑了!QT5.15.2配置Android开发环境保姆级避坑指南(含Java8、SDK Tools版本选择)

本文提供QT5.15.2配置Android开发环境的详细避坑指南,重点解决版本锁定、SDK工具选择和QtCreator配置等常见问题。通过实测推荐的Java8、Android SDK Tools版本及NDK配置,帮助开发者高效完成环境搭建,避免隐性冲突和配置失败。

weixin_42537919的博客 240

LangChain + MCP + vLLM + Qwen3-32B 构建本地私有化智能体应用

问答应用,本文还是依据该场景,采用。端,依据上面图片的规划,包括三个。如果启动显存不足,可适当调整。将部分模型权重卸载到内存中。在本专栏的前面文章基于。运行智能体,开始测试。

python12345_的博客 1300

【半桥LLC】半桥LLC谐振开环闭环软启动DCDC变换器的设计与仿真

本文详细分析了半桥LLC谐振DC-DC变换器的开环与闭环控制设计原理,重点探讨了软启动功能的实现。通过仿真验证,展示了开环与闭环情况下的电压输出差异以及系统效率的提升。该研究为提高DC-DC变换器性能提供了参考。

2401_84610415的博客 2598

RS-485调试踩坑实录:MAX13487数据回环问题排查与修复(附电路图)

本文深入解析了RS-485通信中MAX13487芯片的数据回环问题,提供了详细的排查过程和解决方案。通过分析芯片特性和自动换向机制,揭示了RO引脚配置不当是导致问题的关键原因,并给出硬件(添加上拉电阻)和软件(调整MCU配置)两种修复方案,附有优化设计建议和实际调试技巧。

play7的博客 1301

Qwen3-32B国产大模型本地应用实战:LangChain + vLLM 打造企业级智能体核心引擎

企业AI部署面临数据安全挑战,本地私有化成为刚需。本文基于LangChain+vLLM+Qwen3-32B,教你构建内网智能体应用,确保数据不出域、低延迟响应、自主可控,平衡智能化与隐私保护。

1275

【YOLOv12多模态融合改进】(可见光+红外)涉及像素级融合、特征级融合(中期、中后期、后期)、决策级融合的完整配置步骤以及二次改进方案

在网络输入阶段将多模态数据直接合并,形成统一的特征表示。

Limiiiing的博客 1213

国产大模型Qwen3-32B完全本地化实战:LangChain + vLLM 构建企业级智能体核心引擎

本文将手把手带你用 LangChain(智能体框架) + vLLM(高性能推理引擎) + Qwen3-32B(国产最强开源大模型之一),构建一套完全运行在内网环境的企业级智能体应用,实现数据不出域、响应低延迟、部署自主可控。

2301_81888214的博客 2041

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计(含有完整工程资料获取链接)

软件无线电(Software Defined Radio, SDR)是一种无线通信系统,它通过软件来定义和实现无线电的功能,而不是依赖于传统的硬件电路。SDR平台的核心思想是将传统无线电系统中的大部分硬件功能,如调制解调、信号处理、频率选择等,通过软件来实现。这种设计理念使得SDR具有高度的灵活性和可重配置性,能够适应不同的通信标准和频段,快速适应新的通信技术。

嵌入式技术开发 3286

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LangChain + MCP + vLLM + Qwen3-32B 构建本地私有化智能体应用,大模型入门到精通,收藏这篇就足够了!

在本专栏的前面文章基于Spring AI MCP实现了本地 ChatBI 问答应用,本文还是依据该场景,采用 LangChain + vLLM + Qwen3-32B + MCP 技术栈构建该流程

2401_82469710的博客 1289

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

国产模型Qwen3-32B本地化实战:LangChain + vLLM 构建企业智能引擎

企业AI部署面临数据安全挑战,本地私有化成为刚需。本文基于LangChain+vLLM+Qwen3-32B,教你构建内网智能体应用,确保数据不出域、低延迟响应、自主可控,平衡智能化与隐私保护。

ceshiren_com的博客 1620

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 大模型架构设计全景解析:DeepSeek R1、Kimi K2等8种架构技术剖析
下一篇: 大语言模型冲击下,Java开发是危机还是转机?技术人必读
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值