核心内容摘要
《ova不该瞒着妻子参加漫展》:当兴趣遇上信任,一场情感的“暴风雨”
æ–‡ç« ç›®å½•å‰�言一ã€�部署方å¼�1本地脚本部署——零é…�置快速跑
æ ¸å¿ƒå®�æ“�一行命令跑起æ�¥æ¥éª¤1准备è¿�行ç�¯å¢ƒæ¥éª¤2一键è¿�行框æ�¶
æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯åˆ’é‡�点
�点��局�性二�部署方�2Docker容器部署——打包镜�一键�行
æ ¸å¿ƒå‰�置安装Docker
æ ¸å¿ƒå®�æ“�三æ¥å®Œæˆ�Docker部署æ¥éª¤1编写Dockerfileå’Œ.dockerignoreæ¥éª¤2打包Docker镜åƒ�æ¥éª¤3一键è¿�行Docker容器
æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯åˆ’é‡�点
�点���用技巧三�部署方�3云�务部署——弹性扩容7×24�时在线
æ ¸å¿ƒå‰�置准备云æœ�务资æº�
æ ¸å¿ƒå®�æ“�å››æ¥å®Œæˆ�生产级云æœ�务部署æ¥éª¤1云æœ�务器安装Dockeræ¥éª¤2框æ�¶å°�装为FastAPIæ�¥å�£æ¥éª¤3é‡�新打包镜åƒ�å¹¶ä¸Šä¼ åˆ°äº‘æœ�务器æ¥éª¤4云æœ�务器一键è¿�行容器å�¯åЍAPIæœ�务
验��务访问API��
æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯åˆ’é‡�点
生产级优化å�‘点é�¿å�‘å››ã€�2025年最新部署方å¼�选å�‹å†³ç–æ ‘æ ¸å¿ƒé€‰å�‹ç»´åº¦å†³ç–逻辑三ç§�部署方å¼�æ ¸å¿ƒå¯¹æ¯”è¡¨é€’è¿›å¼�部署æµ�ç¨‹å·¥ä¸šç•Œæ ‡å‡†ç›®å‰�国内还是很缺AI人æ‰�的希望更多人能真æ£åŠ å…¥åˆ°AI行业共å�Œä¿ƒè¿›è¡Œä¸šè¿›æ¥ã€‚想è¦�系统å¦ä¹ AI知识的朋å�‹å�¯ä»¥çœ‹çœ‹æˆ‘的教程http://blog.csdn.net/jiangjunshow教程通俗易懂é£�趣幽默ä»�深度å¦ä¹ 基础å�Ÿç�†åˆ°å�„领域å®�战应用都有讲解。å‰�言å�„ä½�å°�伙伴咱们的多Agent框æ�¶ä¸€è·¯ä¼˜åŒ–到ç�°åœ¨å†³ç–å¿«ã€�效ç�‡é«˜ã€�çœ�资æº�ã€�容错强本地跑起æ�¥è´¼ä¸�滑 但真æ£çš„生产è�½åœ°ç¬¬ä¸€æ¥å°±æ˜¯é€‰å¯¹éƒ¨ç½²æ–¹å¼�——这æ¥é€‰ä¸�对å��é�¢è¦�么è¿�维贼麻烦è¦�么扛ä¸�ä½�æµ�é‡�甚至直æ�¥å½±å“�业务使用。其å®�市é�¢ä¸Šä¸»æµ�çš„AI框æ�¶éƒ¨ç½²æ–¹å¼�就三ç§�å�„有å�„的优劣势å�„有å�„的适用场景本地脚本部署最简å�•的方å¼�ç›´æ�¥è·‘Python脚本零é…�ç½®æˆ�本适å�ˆè‡ªå·±æµ‹è¯•ã€�本地开å�‘Docker容器部署打包æˆ�镜åƒ�一键è¿�行ç�¯å¢ƒä¸€è‡´ä¸�踩å�‘适å�ˆå°�团队内部使用ã€�线下部署云æœ�务部署部署到云æœ�务器/云函数支æŒ�高并å�‘ã€�弹性扩容7×24å°�时在线适å�ˆå¯¹å¤–æ��ä¾›æœ�务ã€�生产级è�½åœ°è¿™ç¯‡å’±ä»¬å°±ä»�å®�æ“�é…�ç½®ã€�æ ¸å¿ƒä¼˜åŠ¿ã€�å�‘点é�¿å�‘ã€�适用场景四个维度把这三ç§�部署方å¼�讲é€�全程用最新的2025å¹´å®�æ“�é…�ç½®Python代ç �ã€�Dockerfileã€�云æœ�务é…�ç½®æ–‡ä»¶å…¨ç»™ä½ å¤�制粘贴就能æ��定部署 最å��还会给最新的选å�‹å†³ç–æ ‘è®©ä½ ä¸�ç”¨çº ç»“ä¸€çœ¼é€‰å¯¹æœ€é€‚å�ˆçš„æ–¹å¼�é‡�点说一å�¥è¿™ä¸‰ç§�æ–¹å¼�ä¸�是互斥的而是递进å¼�的——本地脚本开å�‘测试→Docker容器内部交付→云æœ�务生产è�½åœ°è¿™ä¹Ÿæ˜¯å·¥ä¸šç•ŒAI框æ�¶è�½åœ°çš„æ ‡å‡†æµ�程咱们跟ç�€è¿™ä¸ªæµ�程æ�¥å‡†æ²¡é”™ä¸€ã€�部署方å¼�1本地脚本部署——零é…�置快速跑本地脚本部署是最基础ã€�最简å�•的部署方å¼�说白了就是直æ�¥åœ¨ç”µè„‘上è¿�行咱们写的Python框æ�¶è„šæœ¬ä¸�用任何é¢�外的é…�置和工具零å¦ä¹ æˆ�本零é…�ç½®æˆ�本是所有部署方å¼�的基础
æ ¸å¿ƒå®�æ“�一行命令跑起æ�¥å’±ä»¬çš„多Agent框æ�¶æœ¬èº«å°±æ˜¯Python脚本开å�‘的本地部署ä¸�用改任何代ç �å�ªéœ€ä¸¤æ¥å°±èƒ½ä¸€é”®è¿�行æ¥éª¤1准备è¿�行ç�¯å¢ƒç¡®ä¿�本地安装了Python
8然�安装框�的所有�赖直�用requirements.txt一键安装建议用虚拟�境���赖冲�#
创建并激活虚拟�境�选��python-mvenv agent_venv# Windows激活agent_venv\Scripts\activate# Mac/Linux激活sourceagent_venv/bin/activate#
安装ä¾�èµ–æ ¸å¿ƒæ¥éª¤pipinstall-rrequirements.txt这里给一份框æ�¶å®Œæ•´çš„requirements.txt2025年最新版本包å�«æ‰€æœ‰ä¼˜åŒ–所需ä¾�èµ–ç›´æ�¥å¤�制粘贴å�³å�¯# requirements.txt 多Agent框æ�¶å…¨ä¾�èµ– python
8 langchain
0.
10 langchain-chroma
0.
2 langchain-openai
0.
14 sentence-transformers
3.
1 chromadb
0.
5 tenacity
8.
0 psutil
5.
8 fastapi
0.
1
0 uvicorn
0.
3
1 python-dotenv
1.
1 numpy
1.
2
4 requests
2.
3
3 pydantic
2.
2æ¥éª¤2一键è¿�行框æ�¶åˆ›å»ºä¸€ä¸ªrun_agent.pyå�¯åŠ¨è„šæœ¬å°�装框æ�¶çš„è¿�行逻辑一行命令就能å�¯åЍ# run_agent.py 本地脚本å�¯åЍ入å�£fromframework.coreimportMultiAgentFrameworkfromagents.master_agentimportMasterAgentfromagents.slave_agentsimportSearchSlaveAgent,CodeSlaveAgent,WriteSlaveAgentimportdotenv dotenv.load_dotenv()# åˆ�始化所有Agentmaster_agentMasterAgent()slave_agents[SearchSlaveAgent(),CodeSlaveAgent(),WriteSlaveAgent()]agents{master:master_agent,slaves:slave_agents}# åˆ�始化框æ�¶é€‰æ‹©å¹¶è¡Œå��作模å¼�å�¯æ›¿æ�¢ä¸ºmaster_slave/division/competitionframeworkMultiAgentFramework(collab_modeparallel,agentsagents)# 执行用户任务if__name____main__:user_task写一篇2025年多Agent框æ�¶æŠ€æœ¯å�‘å±•è¶‹åŠ¿çš„æ–‡ç« ç»“å�ˆæœ€æ–°çš„æ£€ç´¢æ•°æ�®å’Œä»£ç �案例resultframework.run(user_task)# 打å�°ç»“æ�œprint(*
print(多Agent框�执行结�)print(*
print(result)然�直��行这个脚本框�就�动了一秒出结�python run_agent.py
æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯æ ¸å¿ƒä¼˜åŠ¿é›¶é…�ç½®æˆ�本ä¸�用å¦ä»»ä½•é¢�外工具直æ�¥è·‘Python脚本新手也能一秒上手开å�‘调试方便本地è¿�行å�¯ç›´æ�¥æ‰“æ–点调试代ç �修改å��ç«‹å�³é‡�å�¯å¼€å�‘效ç�‡æ‹‰æ»¡æ— é¢�外开销ä¸�用å� 用云æœ�务器ã€�容器资æº�完全å…�费适å�ˆä¸ªäººæµ‹è¯•ç�¯å¢ƒç�µæ´»å�¯éš�时修改代ç �ã€�调整ä¾�èµ–ã€�更改框æ�¶é…�置没有任何é™�制适用场景划é‡�点个人本地开å�‘ã€�测试ã€�调试框æ�¶éªŒè¯�框æ�¶åŠŸèƒ½ã€�测试优化效æ�œå°�范围的个人使用ä¸�对外æ��ä¾›æœ�务快速验è¯�业务需求å�Ÿå�‹å¼€å�‘
å�‘点é�¿å�‘å±€é™�性本地脚本部署虽然简å�•但局é™�性也很æ˜�显这也是为什么ä¸�能用在生产ç�¯å¢ƒçš„å�Ÿå› æ ¸å¿ƒå�‘点è¦�注æ„�ä¾�赖冲çª�本地电脑å�¯èƒ½æœ‰å¤šä¸ªPython项目ä¾�赖版本ä¸�一致会导致框æ�¶è¿�行失败一定è¦�用虚拟ç�¯å¢ƒç�¯å¢ƒä¸�兼容在Windows上开å�‘的脚本直æ�¥æ”¾åˆ°Mac/Linux上å�¯èƒ½è·‘ä¸�èµ·æ�¥æ¯”如文件路径ã€�å‘½ä»¤è¡ŒæŒ‡ä»¤æ— æ³•å¯¹å¤–æ��ä¾›æœ�务本地脚本å�ªèƒ½åœ¨è‡ªå·±çš„电脑上è¿�è¡Œå…¶ä»–äººæ— æ³•è®¿é—®ä¸�能对外æ��ä¾›æœ�务稳定性差电脑关机ã€�ä¼‘çœ ã€�æ–网框æ�¶å°±å�œæ¢è¿�è¡Œæ— æ³•7×24å°�时在线扛ä¸�ä½�高并å�‘本地电脑的算力ã€�å†…å˜æœ‰é™�å�ªèƒ½å¤„ç�†å�•个任务多任务å�Œæ—¶æ‰§è¡Œå°±ä¼šå�¡æ»æ€»ç»“本地脚本部署是开å�‘测试的首选但仅é™�个人使用完全ä¸�适å�ˆå›¢é˜Ÿå��作和生产è�½åœ°äºŒã€�部署方å¼�2Docker容器部署——打包镜åƒ�一键è¿�行Docker容器部署是å°�团队å��ä½œçš„æœ€ä¼˜è§£æ ¸å¿ƒå°±æ˜¯æŠŠæ¡†æ�¶çš„代ç �ã€�ä¾�èµ–ã€�è¿�行ç�¯å¢ƒå…¨éƒ¨æ‰“包æˆ�一个Docker镜åƒ�这个镜åƒ�å°±åƒ�一个“独立的å°�电脑â€�在任何安装了Docker的设备上都能一键è¿�行完ç¾�è§£å†³â€œåœ¨æˆ‘ç”µè„‘ä¸Šèƒ½è·‘åœ¨ä½ ç”µè„‘ä¸Šè·‘ä¸�èµ·æ�¥â€�çš„ç»�典问题2025å¹´çš„Docker部署已ç»�é��常简化了ä¸�用写å¤�æ�‚çš„é…�置一行命令打包镜åƒ�一行命令è¿�行容器就算是Docker新手也能å��分钟æ��定
æ ¸å¿ƒå‰�置安装Docker首先需è¦�在部署设备上安装DockerWindows/Mac/Linux都支æŒ�ç›´æ�¥å�»Docker官方网站下载安装包一键安装å�³å�¯å®‰è£…完æˆ�å��验è¯�一下# 验è¯�Docker是å�¦å®‰è£…æˆ�功docker--version# å�¯åЍDockeræœ�务部分系统需è¦�手动å�¯åЍsystemctl startdocker# Linux# Windows/Macç›´æ�¥åœ¨æ¡Œé�¢ç‚¹å‡»å�¯åЍ
æ ¸å¿ƒå®�æ“�三æ¥å®Œæˆ�Docker部署Dockeréƒ¨ç½²çš„æ ¸å¿ƒæ˜¯ç¼–å†™Dockerfile这是打包镜åƒ�的“说æ˜�书â€�告诉Dockerè¦�打包什么内容ã€�æ€�么è¿�行咱们直æ�¥ç»™æœ€æ–°çš„多阶段Dockerfile兼顾体积和è¿�行效ç�‡2025年主æµ�写法然å��三æ¥å®Œæˆ�部署æ¥éª¤1编写Dockerfileå’Œ.dockerignore在框æ�¶æ ¹ç›®å½•下创建Dockerfileæ ¸å¿ƒå’Œ**.dockerignore**å¿½ç•¥æ— ç”¨æ–‡ä»¶å‡�å°�镜åƒ�体积# Dockerfile 多Agent框æ�¶Docker部署多阶段æ�„建å‡�å°�镜åƒ�体积 # 阶段1æ�„建ç�¯å¢ƒå®‰è£…ä¾�èµ– FROM python:
9-slim as builder WORKDIR /app # å¤�制ä¾�赖文件 COPY requirements.txt . # 安装ä¾�赖到指定目录方便å��ç»å¤�制 RUN pip install --no-cache-dir -r requirements.txt -t /app/deps # 阶段2è¿�行ç�¯å¢ƒä»…å¤�制必è¦�文件å‡�å°�镜åƒ�体积 FROM python:
9-slim WORKDIR /app # ä»�æ�„建阶段å¤�制ä¾�èµ– COPY --frombuilder /app/deps /app/deps # æ·»åŠ ä¾�赖到Python路径 ENV PYTHONPATH/app/deps # å¤�制框æ�¶æ‰€æœ‰ä»£ç � COPY . . # 暴露端å�£å��ç»äº‘æœ�务部署需è¦�本地容器å�¯å¿½ç•¥ EXPOSE 8000 # 设置ç�¯å¢ƒå�˜é‡� ENV PYTHONUNBUFFERED1 # å�¯åЍ命令è¿�行框æ�¶å�¯åŠ¨è„šæœ¬ CMD [python, run_agent.py]创建**.dockerignore**忽略虚拟ç�¯å¢ƒã€�日志ã€�缓å˜ç‰æ— 用文件# .dockerignore agent_venv/ __pycache__/ *.pyc *.pyo *.pyd .env logs/ chroma_db/ chroma_db_optimized/ *.log .DS_Storeæ¥éª¤2打包Docker镜åƒ�在框æ�¶æ ¹ç›®å½•下执行一行命令打包镜åƒ�给镜åƒ�起个å��å—æ¯”如agent-frameworkæ‰“ä¸ªæ ‡ç¾æ¯”如v
0# 打包Docker镜�.表示当�目录�Dockerfile所在目录dockerbuild-tagent-framework:v
1.
打包完��查看本地镜�确认打包�功dockerimages# 能看到agent-framework:v
0å�³ä¸ºæˆ�功æ¥éª¤3一键è¿�行Docker容器执行一行命令è¿�行容器把框æ�¶è·‘èµ·æ�¥å®¹å™¨å°±åƒ�一个独立的进程å�¯éš�æ—¶å�¯åЍã€�å�œæ¢ã€�åˆ é™¤# è¿�行Docker容器--rm表示容器å�œæ¢å��è‡ªåŠ¨åˆ é™¤é�¿å…�å� 用资æº�dockerrun--rmagent-framework:v
0如æ�œéœ€è¦�挂载本地目录比如ä¿�å˜å�‘é‡�库数æ�®ã€�日志文件é�¿å…�å®¹å™¨åˆ é™¤å��æ•°æ�®ä¸¢å¤±åŠ ä¸Š-vå�‚æ•°å�³å�¯2025年生产级常用é…�ç½®# 挂载本地目录è¿�行数æ�®æŒ�久化dockerrun--rm-v$(pwd)/chroma_db_optimized:/app/chroma_db_optimized-v$(pwd)/logs:/app/logs agent-framework:v
0Windows用户把$(pwd)æ�¢æˆ�%cd%å�³å�¯-v %cd%/chroma_db_optimized:/app/chroma_db_optimized挂载å��容器内的å�‘é‡�库ã€�日志会å�Œæ¥åˆ°æœ¬åœ°å®¹å™¨åˆ 除å��æ•°æ�®ä¸�会丢失
æ ¸å¿ƒä¼˜åŠ¿é€‚ç”¨åœºæ™¯æ ¸å¿ƒä¼˜åŠ¿ç�¯å¢ƒä¸€è‡´ä¸€æ¬¡æ‰“包到处è¿�行完ç¾�解决“ç�¯å¢ƒä¸�一致â€�问题团队æˆ�员ä¸�用å†�折腾ä¾�赖一键部署打包æˆ�镜åƒ�å��任何设备å�ªè¦�装了Docker一行命令就能è¿�行部署效ç�‡æ‹‰æ»¡èµ„æº�隔离容器是独立的框æ�¶è¿�行ä¸�会影å“�主机的其他程åº�资æº�å� 用å�¯æ�§æ•°æ�®æŒ�久化通过挂载目录å®�ç�°æ•°æ�®æŒ�ä¹…åŒ–å®¹å™¨åˆ é™¤å��æ•°æ�®ä¸�丢失轻é‡�高效Docker容器比虚拟机轻é‡�得多å�¯åŠ¨å¿«ã€�å� 用资æº�少适å�ˆå°�团队版本管ç�†é•œåƒ�å�¯æ‰“æ ‡ç¾å®�ç�°ç‰ˆæœ¬æ�§åˆ¶éš�æ—¶å›�滚到旧版本方便è¿ä»£é€‚用场景划é‡�点å°�团队内部å��作ã€�线下部署框æ�¶ç‰ˆæœ¬è¿ä»£éœ€è¦�ç�¯å¢ƒä¸€è‡´çš„æµ‹è¯•ç�¯å¢ƒæœ¬åœ°æœ�务器ã€�线下设备的部署ä¸�需è¦�对外æ��供高并å�‘æœ�务仅内部使用的场景作为云æœ�务部署的å‰�ç½®æ¥éª¤å…ˆæ‰“包æˆ�镜åƒ�å†�部署到云æœ�务器
å�‘点é�¿å�‘å®�用技巧2025å¹´çš„Docker部署虽然简å�•但新手还是容易踩å�‘æ ¸å¿ƒå�‘点和å®�用技巧给大家整ç�†å¥½äº†ç›´æ�¥é�¿å�‘镜åƒ�体积过大一定è¦�用多阶段æ�„建咱们的Dockerfile就是å�ªå¤�制必è¦�çš„è¿�行文件别把æ�„建ç�¯å¢ƒçš„ä¾�赖全部打包数æ�®ä¸¢å¤±å®¹å™¨é»˜è®¤æ˜¯ä¸´æ—¶çš„åˆ é™¤å��æ•°æ�®ä¼šä¸¢å¤±ä¸€å®šè¦�挂载本地目录ä¿�å˜æ ¸å¿ƒæ•°æ�®å�‘é‡�库ã€�日志ã€�é…�置端å�£å†²çª�如æ�œæ¡†æ�¶è¦�æ��供网络æœ�务比如FastAPIæ�¥å�£è¿�行容器时è¦�åŠ ä¸Š-på�‚æ•°æ˜ å°„ç«¯å�£é�¿å…�端å�£å†²çª�docker run -p 8000:8000 agent-framework:v
0容器å��å�°è¿�行如æ�œéœ€è¦�框æ�¶ä¸€ç›´è¿�è¡ŒåŠ ä¸Š-då�‚数让容器å��å�°è¿�行docker run -d --rm agent-framework:v
0查看容器日志å��å�°è¿�行å��用docker logs 容器ID查看框æ�¶è¿�行日志方便æ�’查问题å�œæ¢å®¹å™¨å��å�°è¿�行的容器用docker stop 容器IDå�œæ¢é�¿å…�å� 用资æº�总结Docker容器部署是å°�团队的最优解兼顾部署效ç�‡å’Œç�¯å¢ƒä¸€è‡´æ€§æ˜¯æœ¬åœ°è„šæœ¬åˆ°äº‘æœ�务的完ç¾�过渡工业界90%çš„AI框æ�¶éƒ½ä¼šå…ˆæ‰“包æˆ�Docker镜åƒ�å†�进行å��ç»éƒ¨ç½²ä¸‰ã€�部署方å¼�3云æœ�务部署——弹性扩容7×24å°�时在线云æœ�务部署是生产级è�½åœ°çš„å”¯ä¸€é€‰æ‹©æ ¸å¿ƒå°±æ˜¯æŠŠæ¡†æ�¶éƒ¨ç½²åˆ°äº‘æœ�务器ã€�云函数ã€�容器æœ�务ç‰äº‘å¹³å�°ä¸Šåˆ©ç”¨äº‘å¹³å�°çš„高并å�‘ã€�弹性扩容ã€�7×24å°�时在线ã€�异地容ç�¾ç‰èƒ½åŠ›è®©æ¡†æ�¶èƒ½å¯¹å¤–æ��供稳定的æœ�务扛ä½�æµ·é‡�用户的请求2025年的云æœ�务部署已ç»�é��常简化了å�„大云å�‚商阿里云ã€�腾讯云ã€�å��为云ã€�AWS都æ��供了一站å¼�çš„AI框æ�¶éƒ¨ç½²æœ�务而且对Python框æ�¶çš„æ”¯æŒ�é��常å�‹å¥½å’±ä»¬ä»¥æœ€ä¸»æµ�的云æœ�务器FastAPIæ�¥å�£éƒ¨ç½²æ–¹å¼�为例生产级最常用性价比最高结å�ˆä¹‹å‰�çš„Docker镜åƒ�å®�ç�°ä¸€é”®ç”Ÿäº§çº§éƒ¨ç½²
æ ¸å¿ƒå‰�置准备云æœ�务资æº�首先需è¦�在云å�‚商上è´ä¹°åŸºç¡€çš„云æœ�务资æº�新手建议ä»�è½»é‡�应用æœ�务器开始性价比高管ç�†ç®€å�•2025å¹´å�„大云å�‚å•†éƒ½æœ‰æ–°äººä¼˜æƒ æ ¸å¿ƒå‡†å¤‡ä¸¤æ¥è´ä¹°ä¸€å�°äº‘æœ�务器æ�¨è��é…�ç½®2æ ¸4G以上系统选择CentOS7/8或Ubuntu
2
04Python
8�置�务器安全组开放需�的端�比如8000端�用�框�的API��通过SSH��到云�务器Windows用XshellMac/Linux直�用终端
æ ¸å¿ƒå®�æ“�å››æ¥å®Œæˆ�生产级云æœ�务部署咱们采用云æœ�务器DockerFastAPI的部署方案2025å¹´Python AI框æ�¶ç”Ÿäº§çº§éƒ¨ç½²çš„主æµ�方案兼顾稳定性和扩展性把框æ�¶å°�装æˆ�RESTful APIæ�¥å�£å¯¹å¤–æ��ä¾›æœ�务支æŒ�多用户高并å�‘请求四æ¥å®Œæˆ�部署æ¥éª¤1云æœ�务器安装Dockerå’Œæœ¬åœ°å®‰è£…ä¸€æ ·äº‘æœ�务器上先安装Docker一键安装命令Ubuntu为例# Ubuntu一键安装Dockeraptupdateaptinstall-ydocker.io# å�¯åЍDocker并设置开机自å�¯systemctl startdockersystemctlenabledocker# 验è¯�安装docker--versionCentOS用户用yum install -y docker-ceå�³å�¯å®‰è£…完æˆ�å��å�Œæ ·éªŒè¯�æ¥éª¤2框æ�¶å°�装为FastAPIæ�¥å�£æœ¬åœ°è„šæœ¬æ˜¯ç›´æ�¥æ‰§è¡Œä»»åŠ¡äº‘æœ�务需è¦�对外æ��ä¾›APIæ�¥å�£å’±ä»¬ç”¨FastAPI把框æ�¶å°�装æˆ�RESTful API2025年最主æµ�çš„Python Web框æ�¶è½»é‡�ã€�高效ã€�支æŒ�异æ¥ã€�自动生æˆ�æ�¥å�£æ–‡æ¡£åˆ›å»ºapi_server.py# api_server.py 框æ�¶FastAPI APIæ�¥å�£å°�装生产级fromfastapiimportFastAPI,BodyfrompydanticimportBaseModelfromframework.coreimportMultiAgentFrameworkfromagents.master_agentimportMasterAgentfromagents.slave_agentsimportSearchSlaveAgent,CodeSlaveAgent,WriteSlaveAgentimportdotenvimportuvicornimportloggingimportos# é…�置日志æŒ�久化logging.basicConfig(levellogging.INFO,format%(asctime)s - %(name)s - %(levelname)s - %(message)s,handlers[logging.FileHandler(logs/agent_api.log),logging.StreamHandler()])loggerlogging.getLogger(agent_api)# åŠ è½½ç�¯å¢ƒå�˜é‡�创建日志目录dotenv.load_dotenv()os.makedirs(logs,exist_okTrue)# åˆ�始化FastAPI应用appFastAPI(title多Agent框æ�¶APIæœ�务,description2025年优化版多Agent框æ�¶ç”Ÿäº§çº§APIæ�¥å�£æ”¯æŒ�并行/主ä»�/分工/ç«�争四ç§�å��作模å¼�,version
1.
0.
# 定义请求体模å�‹è§„范å�‚æ•°classAgentTaskRequest(BaseModel):user_task:strBody(...,description用户任务æ��述比如写一篇AIæŠ€æœ¯æ–‡ç« )collab_mode:strBody(defaultparallel,descriptionå��作模å¼�parallel/master_slave/division/competition)# 全局åˆ�始化框æ�¶å�ªåˆ�始化一次æ��å�‡æ�¥å�£å“�应速度master_agentMasterAgent()slave_agents[SearchSlaveAgent(),CodeSlaveAgent(),WriteSlaveAgent()]agents{master:master_agent,slaves:slave_agents}# å®šä¹‰æ ¸å¿ƒAPIæ�¥å�£app.post(/run_agent,summaryè¿�行多Agent框æ�¶æ‰§è¡Œç”¨æˆ·ä»»åŠ¡)asyncdefrun_agent(request:AgentTaskRequest):try:logger.info(fæ�¥æ”¶åˆ°ç”¨æˆ·ä»»åŠ¡æ¨¡å¼�{request.collab_mode}任务{request.user_task[:50]}...)# åˆ�始化框æ�¶æ ¹æ�®è¯·æ±‚模å¼�frameworkMultiAgentFramework(collab_moderequest.collab_mode,agentsagents)# 执行任务resultframework.run(request.user_task)logger.info(f用户任务执行完æˆ�模å¼�{request.collab_mode})return{code:200,msg:任务执行æˆ�功,data:{collab_mode:request.collab_mode,user_task:request.user_task,result:result}}exceptExceptionase:error_msgf任务执行失败{str(e)}logger.error(error_msg,exc_infoTrue)return{code:500,msg:error_msg,data:None}# å�¥åº·æ£€æŸ¥æ�¥å�£äº‘æœ�务必备用äº�监æ�§æœ�务状æ€�app.get(/health,summaryæœ�务å�¥åº·æ£€æŸ¥)asyncdefhealth_check():return{code:200,msg:多Agent框æ�¶APIæœ�务è¿�行æ£å¸¸,data:{status:running,version:
1.
0}}# å�¯åЍæœ�务if__name____main__:# 用uvicornå�¯åŠ¨æ”¯æŒ�异æ¥ã€�高并å�‘ç”Ÿäº§çº§æ ‡é…�uvicorn.run(appapi_server:app,host
0.
0.
0,# 监�所有地�云�务器必须设为
0.
0.