用于开源 LLM 的开源 AGI 服务器
这是Anarchy致力于构建开放的广义人工智能的努力?通过 LLM-VM:一种赋予 LLM 超能力的方法?和超高速?
您可以在这里找到详细的说明并进行现场尝试:anarchy.ai
该项目处于测试阶段。期待不断的改进和发展。
Anarchy LLM-VM 是一个高度优化且固执己见的后端,用于运行 LLM,具有我们期望完成后的所有现代功能:工具使用、持久状态内存、实时数据增强、数据和任务微调、输出模板、网络游乐场、API 端点、师生蒸馏、数据合成、负载平衡和编排、大型上下文窗口模仿。
从形式上来说,它是人类语言的虚拟机/解释器,在数据、模型 (CPU)、提示(代码)和工具 (IO) 之间进行协调。
通过以一种固执己见的方式在一个地方完成所有这些事情,LLM-VM 可以正确优化批量调用,而对于分布式端点来说,批量调用的成本过高。此外,它还致力于模型和架构的不可知论,为当前架构正确优化所选模型。
根据 Anarchy 的使命,LLM-VM 致力于支持开源模型。通过利用开源模型并在本地运行它们,您可以获得以下好处:
加速您的 AGI 开发:借助 AnarchyAI,您只需一个界面即可与最新的法学硕士进行交互。
降低成本?:在本地运行模型可以降低开发和测试的即用即付成本。
灵活性 ?♀️: Anarchy 允许您在流行模型之间快速切换,以便您可以为您的项目找到正确的工具。
社区氛围?:加入我们由积极主动的开发人员和工程师组成的活跃社区,他们热情地致力于实现 AGI 的民主化
WYSIWYG ?:开源意味着没有任何隐藏;我们努力提高透明度和效率,以便您可以专注于建设。
隐式代理?: Anarchy LLM-VM 可以设置为通过我们的代理(例如REBEL)使用外部工具,只需提供工具描述即可!
推理优化?: Anarchy LLM-VM 从代理级别一直到在已知 LLM 架构上进行组装进行了优化,以获得最大的收益。凭借最先进的批处理、稀疏推理和量化、蒸馏和多级托管,我们的目标是提供最快的可用框架。
任务自动优化?: Anarchy LLM-VM 将分析重复任务的用例,其中它可以激活学生-教师蒸馏,从更大更通用的模型训练超高效的小模型,而不会损失准确性。它还可以利用数据合成技术来改进结果。
Library Callable :我们提供了一个可以直接从任何 Python 代码库使用的库。
HTTP 端点 ️:我们提供一个 HTTP 独立服务器来处理完成请求。
实时数据增强:(路线图)您将能够提供实时更新的数据集,Anarchy LLM-VM 将微调您的模型或使用矢量数据库来提供带有引用的最新信息
Web Playground ?:(路线图)您将能够运行 Anarchy LLM-VM 并从浏览器测试其输出。
负载平衡和编排 ⚖️:(路线图)如果您想要使用多个 LLM 或提供商,您将能够将它们交给 Anarchy LLM-VM,以自动确定要使用哪个以及何时优化您的正常运行时间或您的成本
输出模板?:( ROADMAP)您可以确保LLM仅以特定格式输出数据,并使用正则表达式、LMQL或OpenAI的模板语言填充模板中的变量
持久状态内存:(路线图) Anarchy LLM-VM 可以记住用户的对话历史记录并做出相应的反应
Python >=3.10 支持。旧版本的 Python 是尽力而为的。
使用bash > python3 --version
检查您使用的版本。
要升级 python,请使用bash > conda create -n myenv python=3.10
创建新的 python 环境,或访问 https://www.python.org/downloads/ 下载最新版本。
If you plan on running the setup steps below, a proper Python version will be installed for you
不同的型号有不同的系统要求。大多数系统上的限制因素可能是 RAM,但许多功能甚至可以在 16 GB RAM 上运行。
也就是说,请始终查找有关您正在使用的模型的信息,它们都有不同的大小以及内存和计算资源的要求。
最快的入门方法是在 Python 环境中运行pip install llm-vm
。
安装 LLM-VM 的另一种方法是克隆此存储库并使用 pip 安装它,如下所示:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> ./setup.sh
上面的 bash 脚本setup.sh
仅适用于 MacOS 和 Linux。
或者你可以这样做:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv < name >
> source < name > /bin/activate
> python -m pip install -e . " [dev] "
如果您使用的是 Windows。您可以采用以下两种方法之一:
在执行以下任何步骤之前,您必须首先以管理员身份打开 Powershell 并运行以下命令
> Set-ExecutionPolicy RemoteSigned
> Press Y and enter
> exit
现在您可以采用以下两种方法之一:
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> .windows_setup.ps1
或者
> winget install Python.Python.3.11
> python --version
> git clone https://github.com/anarchy-ai/LLM-VM.git
> cd LLM-VM
> python -m venv anarchyai
> anarchyaiScriptsactivate
> python -m pip install -e .
笔记:
如果您使用的是 OpenAI 模型之一,则需要使用 API 密钥设置LLM_VM_OPENAI_API_KEY
环境变量。
我们的 LLM-VM 让您只需 3 行代码即可直接与本地流行的 LLM 合作。一旦你安装了它(如上所述),只需加载你的模型并开始生成!
# import our client
from llm_vm . client import Client
# Select which LLM you want to use, here we have OpenAI
client = Client ( big_model = 'chat_gpt' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' , openai_key = 'ENTER_YOUR_API_KEY' )
print ( response )
# Anarchy is a political ideology that advocates for the absence of government...
# import our client
from llm_vm . client import Client
# Select the LlaMA 2 model
client = Client ( big_model = 'llama2' )
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
从以下型号中选择
Supported_Models = [ 'chat_gpt' , 'gpt' , 'neo' , 'llama2' , 'bloom' , 'opt' , 'pythia' ]
本地模型的 LLM-VM 默认模型大小旨在让每个人都可以进行 LLM 实验,但如果您有所需的内存,较大的参数模型会表现得更好!
例如,如果你想为你的老师和学生使用一个大和小的neo模型,并且你有足够的RAM:
# import our client
from llm_vm . client import Client
# Select the LlaMA model
client = Client ( big_model = 'neo' , big_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-20b' },
small_model = 'neo' , small_model_config = { 'model_uri' : 'EleutherAI/gpt-neox-125m' })
# Put in your prompt and go!
response = client . complete ( prompt = 'What is Anarchy?' , context = '' )
print ( response )
# Anarchy is a political philosophy that advocates no government...
以下是一些默认型号的详细信息:
姓名 | 模型_Uri | 模型参数 | 检查点文件大小 |
---|---|---|---|
尼奥 | EleutherAI/gpt-neo-1.3B | 1.3B | 5.31GB |
盛开 | bigscience/bloom-560m | 1.7B | 1.12GB |
选择 | facebook/opt-350m | 350m | 622MB |
有关每个模型系列中内存使用和参数计数的其他一些选择,请查看表 model_uri_tables。
有两种代理:FLAT 和 REBEL。
通过进入src/llm_vm/agents/<AGENT_FOLDER>
并运行标题为agent.py
的文件来单独运行代理。
或者,要运行简单的界面并选择要从 CLI 运行的代理,请运行src/llm_vm/agents/agent_interface.py
文件并按照命令提示符说明进行操作。
我们欢迎贡献者!首先要加入我们活跃的 Discord 社区。否则,这里有一些贡献和获得报酬的方式:
我们为关闭特定门票提供奖励!查看门票标签即可了解奖金金额。首先,加入不和谐并阅读指南
马修·米尔曼- 首席执行官
维克多·奥德德- Undoomer
Abhigya Sodani - 研究实习生
Carter Schonwald - 无畏的贡献者
凯尔·怀尔德- 无畏的贡献者
Aarushi Banerjee - 无畏的贡献者
安德鲁·尼尔森- 无畏贡献者
麻省理工学院许可证