30 秒看懂
Matthew Berman 演示一个 Streamlit 应用,通过 Groq 协调多次语言模型调用并合并输出。他安装项目,配置智能体和汇总模型,然后测试句尾提示。该演示是基于 Groq API 构建的应用实例;原始研究的基准结果和视频中的单一例子都不能保证每项任务的表现更好。
- 1分层模型协作智能体在各层生成中间输出,主模型使用这些结果生成最终回答。
- 2配置项目Berman 克隆项目、创建 Python 环境、安装依赖并配置 Groq API 密钥。
- 3配置智能体界面允许选择汇总模型、层数、智能体模型和温度。
- 4检查中间回答一个要求写十个以 apple 结尾的句子的提示,展示了各智能体输出和最终汇总答案。
要点建议
- Mixture-of-Agents 将多个模型的回答经过连续的层传递,再由汇总模型生成最终答案。
- 演示项目通过 API 使用 Groq 托管的模型,并提供本地 Streamlit 界面。
- 2024 年的演示使用三层和可配置的智能体模型;三层并非普遍确立的最优值。
- 多次调用可能增加延迟和成本,应针对具体任务与单模型基线比较。
- 应保护 API 密钥,如果泄露则进行轮换。
- 一个成功的句尾例子不能证明整体质量或与 GPT-4o 等效。
按章节阅读整理后的全文
演示的工作方式
Berman 介绍 Groq 驱动的 Mixture-of-Agents 项目及其分层设计。他引用的研究结果只适用于相应评估。
我正在尝试一个使用 Groq 的 Mixture-of-Agents 应用。其思路是分层组合多个语言模型的回答,再由主模型综合出答案。[原始研究](https://arxiv.org/abs/2406.04692)报告了特定评估中的提升,包括 AlpacaEval 2.0,但这不意味着每种多智能体配置都能达到 GPT-4o 的质量,或改善每一项任务。
[groq-moa 项目](https://github.com/skapadia3214/groq-moa)利用 Groq 推理 API,为这一工作流提供 Streamlit 界面。在图中,提示被发给多个智能体,后续层接收前面的输出,最终模型汇总结果。我预计分层推理会增加延迟,因此想看看快速模型服务能否让它变得实用。这是一个使用 Groq 的应用,并不证明该服务会自动对每个请求使用 MoA。

安装与启动
他克隆仓库、创建 Python 环境、安装依赖并配置 API 密钥。Streamlit 提供本地界面。
在 2024 年的配置中,我在 VS Code 里克隆仓库、进入项目目录并打开文件夹。我创建并激活一个使用 Python 3.11 的 Conda 环境,再用 `pip install -r requirements.txt` 安装依赖。仓库还包含 Dockerfile。录制之后,软件依赖和可用模型可能已经变化,因此应查看项目当前说明。
我创建包含 `GROQ_API_KEY` 的 `.env` 文件,并从 Groq 控制台获取密钥。我表示会在视频发布前撤销画面中显示的密钥。请保护自己的密钥,不要将环境文件纳入版本控制;密钥泄露后应撤销或轮换。然后我运行 `streamlit run app.py`,在本地打开界面;模型请求仍会发送到远程 API。
选择智能体并测试
他选择主模型、三层结构及各智能体,然后运行一个句尾提示。界面展示中间回答与最终回答。

侧边栏让我选择主模型、层数、主模型温度和智能体设置。在这个例子中,我选择 Llama 3 70B 作为汇总模型,保留默认的三层,并使用 Llama 3 8B、Gemma 7B 和 Llama 3 8B 作为智能体。论文和这个演示考察的是特定配置;三层应视为一个可测试的选择,而非普遍最优值。
我要求写十个以“apple”结尾的句子。界面展示每一层各智能体的回答,因此我能检查它们哪里遵循了指令、哪里没有。在这个例子中,第一层的一个智能体看起来满足要求,另一个表现较差,第三个接近满足。画面中最终汇总的列表符合要求的结尾。

在我的演示中,结果很快出现,但我没有测量延迟,也没有与单模型基线比较。多次调用可能增加成本和延迟,汇总模型也可能出错。要知道这种方法是否有助于某个应用,应在有代表性的任务上比较质量、速度和成本。
界面选项
Berman 介绍 Streamlit 的部署和界面控件。他希望这类多模型工作流更容易使用。
Streamlit 界面还提供部署、重新运行、外观设置、打印、录屏和清除缓存等选项。我希望推理界面能让智能体混合、模型路由和推理工作流等技术更容易使用。这个项目是实验这些想法的起点,并不能保证答案一定更好。
同频道的其他文章
34:21EN → 简体中文
0:36EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文
1:03:37EN → 简体中文
0:53EN → 简体中文