Minions 项目使用教程

Minions 项目使用教程

minions Big & Small LLMs working together minions 项目地址: https://gitcode.com/gh_mirrors/minions/minions

1. 项目介绍

Minions 是一个通信协议,它使得小型设备上的模型能够与云端的前沿模型协作。通过仅在本地读取长上下文,我们可以在不降低或几乎不影响质量的情况下减少云端成本。本教程将指导您如何使用这个协议,并展示如何配置和运行项目。

2. 项目快速启动

环境准备

  • 操作系统:Mac 或 Ubuntu
  • Python 版本:3.10-3.11(Python 3.13 不受支持)

首先,创建一个虚拟环境(可选,使用您喜欢的包管理器,例如 conda 或 venv):

conda create -n minions python=3.11

克隆仓库并安装 Python 包

git clone https://github.com/HazyResearch/minions.git
cd minions
pip install -e .

如果需要安装可选的 MLX-LM,使用以下命令:

pip install -e ".[mlx]"

安装本地模型服务器

Minions 支持两种本地模型服务器:ollama 和 tokasaurus。至少安装其中一个。

  • 对于没有 NVIDIA GPU 的用户,建议使用 ollama。按照这里的说明安装 ollama。如果启用了 Flash Attention,运行 launchctl setenv OLLAMA_FLASH_ATTENTION 1 并在 Mac 上重启 ollama 应用。
  • 对于有 NVIDIA GPU 的用户,如果正在运行 Minions 协议,推荐使用 tokasaurus。使用以下命令安装 tokasaurus:
uv pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ tokasaurus==0.0.1.post1

设置 API 密钥

设置至少一个云端 LLM 提供商的 API 密钥。如果需要,创建一个 OpenAI API Key 或 TogetherAI API key 或 DeepSeek API key。

# OpenAI
export OPENAI_API_KEY=<your-openai-api-key>
export OPENAI_BASE_URL=<your-openai-base-url>

# Together AI
export TOGETHER_API_KEY=<your-together-api-key>

# OpenRouter
export OPENROUTER_API_KEY=<your-openrouter-api-key>
export OPENROUTER_BASE_URL=<your-openrouter-base-url>

# Perplexity
export PERPLEXITY_API_KEY=<your-perplexity-api-key>
export PERPLEXITY_BASE_URL=<your-perplexity-base-url>

# Tokasaurus
export TOKASAURUS_BASE_URL=<your-tokasaurus-base-url>

# DeepSeek
export DEEPSEEK_API_KEY=<your-deepseek-api-key>

运行演示应用

运行以下命令尝试 Minion 或 Minions 协议:

streamlit run app.py

如果遇到关于 ollama 客户端的错误,尝试运行以下命令:

OLLAMA_FLASH_ATTENTION=1 ollama serve

3. 应用案例和最佳实践

以下是一个使用 ollama 本地客户端和 openai 远程客户端的 Minion 协议示例:

from minions.clients.ollama import OllamaClient
from minions.clients.openai import OpenAIClient
from minions.minion import Minion

local_client = OllamaClient(model_name="llama3.2")
remote_client = OpenAIClient(model_name="gpt-4o")

# 实例化 Minion 对象
minion = Minion(local_client, remote_client)

context = """
Patient John Doe is a 60-year-old male with a history of hypertension. In his latest checkup, his blood pressure was recorded at 160/100 mmHg, and he reported occasional chest discomfort during physical activity.
Recent laboratory results show that his LDL cholesterol level is elevated at 170 mg/dL, while his HDL remains within the normal range at 45 mg/dL. Other metabolic indicators, including fasting glucose and renal function, are unremarkable.
"""

task = "Based on the patient's blood pressure and LDL cholesterol readings in the context, evaluate whether these factors together suggest an increased risk for cardiovascular complications."

# 执行 Minion 协议,最多两轮通信
output = minion(task=task, context=[context], max_rounds=2)

4. 典型生态项目

Minions 项目的生态系统中包括了多个相关项目,例如:

  • ollama: 一个本地模型服务器,适用于没有 NVIDIA GPU 的用户。
  • tokasaurus: 一个本地模型服务器,适用于有 NVIDIA GPU 的用户。
  • Cartesia-MLX: 一个针对 Apple Silicon 优化的机器学习框架。

通过这些项目和工具的配合使用,可以更有效地利用 Minions 协议来提高模型协作的效率和性能。

minions Big & Small LLMs working together minions 项目地址: https://gitcode.com/gh_mirrors/minions/minions

内容概要:本文详细探讨了制造业工厂中两条交叉轨道(红色和紫色)上的自动导引车(AGV)调度问题。系统包含2辆红色轨道AGV和1辆紫色轨道AGV,它们需完成100个运输任务。文章首先介绍了AGV系统的背景和目标,即最小化所有任务的完成时间,同时考虑轨道方向性、冲突避免、安全间隔等约束条件。随后,文章展示了Python代码实现,涵盖了轨道网络建模、AGV初始化、任务调度核心逻辑、电池管理和模拟运行等多个方面。为了优化调度效果,文中还提出了冲突避免机制增强、精确轨道建模、充电策略优化以及综合调度算法等改进措施。最后,文章通过可视化与结果分析,进一步验证了调度系统的有效性和可行性。 适合人群:具备一定编程基础和对自动化物流系统感兴趣的工程师、研究人员及学生。 使用场景及目标:①适用于制造业工厂中多AGV调度系统的开发与优化;②帮助理解和实现复杂的AGV调度算法,提高任务完成效率和系统可靠性;③通过代码实例学习如何构建和优化AGV调度模型,掌握冲突避免、路径规划和电池管理等关键技术。 其他说明:此资源不仅提供了详细的代码实现和理论分析,还包括了可视化工具和性能评估方法,使读者能够在实践中更好地理解和应用AGV调度技术。此外,文章还强调了任务特征分析的重要性,并提出了基于任务特征的动态调度策略,以应对高峰时段和卸载站拥堵等情况。
内容概要:本文介绍了一个使用MATLAB编写的基于FDTD(时域有限差分)方法的电磁波在自由空间中传播的仿真系统。该系统采用了ABC(吸收边界条件)和正弦脉冲激励源,并附有详细的代码注释。文中首先介绍了关键参数的选择依据及其重要性,如空间步长(dx)和时间步长(dt),并解释了它们对算法稳定性和精度的影响。接着阐述了电场和磁场的初始化以及Yee网格的布局方式,强调了电场和磁场分量在网格中的交错排列。然后详细讲解了吸收边界的实现方法,指出其简单而有效的特性,并提醒了调整衰减系数时需要注意的问题。最后,描述了正弦脉冲激励源的设计思路,包括脉冲中心时间和宽度的选择,以及如何将高斯包络与正弦振荡相结合以确保频带集中。此外,还展示了时间步进循环的具体步骤,说明了磁场和电场分量的更新顺序及其背后的物理意义。 适合人群:对电磁波传播模拟感兴趣的科研人员、高校学生及工程技术人员,尤其是那些希望深入了解FDTD方法及其具体实现的人群。 使用场景及目标:适用于教学演示、学术研究和技术开发等领域,旨在帮助使用者掌握FDTD方法的基本原理和实际应用,为后续深入研究打下坚实基础。 阅读建议:由于本文涉及较多的专业术语和技术细节,建议读者提前熟悉相关背景知识,如电磁理论、MATLAB编程等。同时,可以通过动手实践代码来加深理解和记忆。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惠蔚英Raymond

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值