当前位置: 首页 > news >正文

用 100 行代码实现一个混合智能体——让 DeepSeek、豆包等多个模型协作回答问题

用 100 行代码实现一个混合智能体——让多个模型协作回答问题

Hermes MoA 证明了混合智能体的效果可以超过单个顶级模型。这篇文章教你实现一个简化版的混合智能体——让 DeepSeek 做分析、豆包做编码、GPT 做总结,模型之间协作完成任务。

核心思路

用户问题 ↓ 路由器 Agent(分析问题类型) ↓ ┌────────┬────────┬────────┐ │ 分析师 │ 编码师 │ 总结师 │ ← 不同模型负责不同任务 │DeepSeek│ 豆包 │ DeepSeek│ └────────┴────────┴────────┘ ↓ 合成 Agent(整合结果) ↓ 最终回答

核心代码

# moa_agent.pyfromopenaiimportOpenAIimportos,jsonfromdotenvimportload_dotenv load_dotenv()clients={"deepseek":OpenAI(api_key=os.getenv("DEEPSEEK_KEY"),base_url="https://api.deepseek.com/v1"),"doubao":OpenAI(api_key=os.getenv("DOUBAO_KEY"),base_url="https://ark.cn-beijing.volces.com/api/v3"),}MODEL_MAP={"deepseek":"deepseek-chat","doubao":"doubao-2.1-pro"}defcall_llm(provider,system_prompt,user_prompt,temperature=0.3):client=clients[provider]resp=client.chat.completions.create(model=MODEL_MAP[provider],messages=[{"role":"system","content":system_prompt},{"role":"user","content":user_prompt}],temperature=temperature,)returnresp.choices[0].message.contentclassMoAgent:"""混合智能体:分析问题 → 分派任务 → 多模型协作 → 整合结果。"""defanswer(self,question):# 1. 路由器:分析问题类型并分派plan=self._route(question)# 2. 并行调用各专家模型results={}forexpertinplan["experts"]:role=expert["role"]prompt=expert["prompt"]provider=expert.get("provider","deepseek")results[role]=call_llm(provider,prompt,question)# 3. 合成最终答案returnself._synthesize(question,results)def_route(self,question):route_prompt=f"""分析以下问题,确定需要哪些专家角色。 返回 JSON: {{"experts":[{{"role":"角色名","prompt":"系统提示","provider":"deepseek或doubao"}}]}} 分析以下问题:{question}"""result=call_llm("deepseek","",route_prompt)try:returnjson.loads(result)except:return{"experts":[{"role":"通用助手","prompt":"回答以下问题","provider":"deepseek"}]}def_synthesize(self,question,results):findings="\n\n".join(f"###{role}\n{content}"forrole,contentinresults.items())returncall_llm("deepseek","你是一个综合分析师。整合多位专家的观点,给出一个完整、准确的最终答案。",f"问题:{question}\n\n专家意见:\n{findings}")agent=MoAgent()# 使用answer=agent.answer("Python 中如何处理大文件读取而不导致内存溢出?")print(answer)

运行效果

问题:Python 中如何处理大文件读取而不导致内存溢出? 🤖 路由器分析: - 分析师(DeepSeek):分析问题,提供理论方案 - 编码师(豆包):提供代码实现 📊 分析师(DeepSeek): 大文件读取的核心策略是流式处理,主要有三种方式: 1. 逐行读取(readline) 2. 分块读取(read(chunk_size)) 3. 内存映射(mmap) 💻 编码师(豆包): ```python # 首选方案:分块读取 with open("large.csv", "r") as f: while chunk := f.read(8192): process(chunk)

🎯 综合答案:
对于大文件读取,推荐使用流式分块读取,每次读取 8KB…

### 总结 混合智能体不需要复杂的框架,核心就三步: 1. 分析问题,确定需要哪些专家角色 2. 并行调用不同的模型(各司其职) 3. 一个模型整合所有人的输出 100 行代码实现,效果可以超过单独使用任何一个模型。 > 本文由 Zyentor(智元界)原创发布 --- > 本文发布于 [Zyentor(智元界)](https://www.zyentor.com) —— AI 开发者社区 > 原文链接:[https://www.zyentor.com/news/4284](https://www.zyentor.com/news/4284)
http://www.cnnetsun.cn/news/3087343.html

相关文章:

  • PHP支付SDK终极指南:优雅集成支付宝、微信支付、抖音支付等主流平台
  • 2026中国制造业精益白皮书哪家好
  • 放下成人固有评判,认真倾听孩童藏在表达里真实想法
  • 文献综述写作效率翻倍!paperxie 分段式 AI 文献综述生成功能,适配本硕博全学段学术需求
  • 软考高级系统规划与管理师认证信息整理
  • 收藏 | AI Agent 学习路线:从小白到能交付的大模型实践指南
  • 3PEAK思瑞浦 TPA148A3-S5TR-S SOT23-5 电流信号检测放大器
  • 2026年最新靠谱苦荞粉企业排名,选对品牌健康无忧
  • MC6470与PIC24FV16KA304在运动控制中的优化应用
  • 物联网设备安全连接:A5000加密芯片与PIC18微控制器的TLS实现
  • IMU与MCU组合实现6DoF运动追踪技术解析
  • T-SQL代码格式化终极指南:使用Poor Man‘s T-SQL Formatter提升开发效率
  • 2026护网必看!日薪一千!怎么才能搞定(附零基础学习资料)
  • 三步构建智能PDF归档系统:OCRmyPDF实战指南
  • 低成本DIY智能灯光系统:PIC18F87J50控制RGB灯带方案
  • 存储业“大地震“:美光财报狂飙,这7家A股公司迎来爆发前夜?
  • LTC6904与PIC18F26J11构建高精度方波信号发生器
  • 右以云:中小企业 0 门槛数字化落地实战指南
  • 【AI大模型选型终极指南】:ChatGPT与文心一言在中文理解、推理、API稳定性等7项核心指标的2024实测对比(附压测数据与企业落地 checklist)
  • LV3296与STM32F412RE高精度信号采集系统设计
  • SLO2016与TM4C1294KCPDT在工业通信中的高效应用
  • Mate Engine:开源虚拟桌面伴侣的完整配置指南
  • Claude 3 vs ChatGPT-4o:谁更懂中文长文档理解?谁更适合金融/法律/科研场景?——基于137项任务的权威盲测报告
  • 三种主要的重载方法
  • PIC18F46K22与25CSM04 EEPROM高速数据存储方案
  • 基于KMR221与PIC18F4458的高精度电压监测系统设计
  • 【JAVA毕设源码分享】基于springboot毕业生就业系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • ITK-SNAP医学图像分割工具完整教程:从入门到精通
  • nginx 基础核心
  • 大模型落地避坑手册(Claude与ChatGPT实战差异全拆解):从API稳定性、token计费陷阱到隐私审计红线