Сервер AGI с открытым исходным кодом для LLM с открытым исходным кодом
Это попытка Анархии создать открытый обобщенный искусственный интеллект? через LLM-VM: способ дать вашим LLM сверхспособности? и сверхскорость?.
Подробные инструкции по тестированию вживую можно найти здесь: anarchy.ai.
Этот проект находится в стадии БЕТА. Ожидайте постоянного улучшения и развития.
Anarchy LLM-VM — это высокооптимизированная и продуманная серверная часть для запуска LLM со всеми современными функциями, которые мы привыкли ожидать от завершения: использование инструментов, постоянная память с отслеживанием состояния, увеличение данных в реальном времени, точная настройка данных и задач, создание шаблонов вывода, веб-игровая площадка, конечные точки API, фильтрация учащихся и преподавателей, синтез данных, балансировка нагрузки и оркестровка, имитация большого контекстного окна.
Формально это виртуальная машина/интерпретатор человеческого языка, координирующая данные, модели (ЦП), ваши подсказки (код) и инструменты (IO).
Делая все эти вещи в одном месте и продуманно, LLM-VM может должным образом оптимизировать пакетные вызовы, которые были бы непомерно дорогими для распределенных конечных точек. Кроме того, он стремится к агностицизму как модели, так и архитектуры, правильно оптимизируя выбранную модель для текущей архитектуры.
В соответствии с миссией Anarchy, LLM-VM стремится поддерживать модели с открытым исходным кодом. Используя модели с открытым исходным кодом и запуская их локально, вы получаете несколько преимуществ:
Ускорьте разработку AGI: с AnarchyAI вам нужен только один интерфейс для взаимодействия с новейшими доступными LLM.
Снизьте затраты?: Локальное выполнение моделей может снизить затраты на разработку и тестирование с оплатой по мере использования.
Гибкость?♀️: Anarchy позволяет быстро переключаться между популярными моделями, чтобы вы могли выбрать именно тот инструмент, который подходит для вашего проекта.
Атмосфера сообщества?: Присоединяйтесь к нашему активному сообществу высокомотивированных разработчиков и инженеров, страстно работающих над демократизацией AGI.
WYSIWYG ?: Открытый исходный код означает, что ничего не скрыто; мы стремимся к прозрачности и эффективности, чтобы вы могли сосредоточиться на строительстве.
Неявные агенты?: Anarchy LLM-VM можно настроить для использования внешних инструментов через наших агентов, таких как REBEL, просто предоставив описания инструментов!
Оптимизация вывода?: Anarchy LLM-VM оптимизирована от уровня агента до сборки на известных архитектурах LLM, чтобы получить максимальную отдачу от затраченных средств. Благодаря современной пакетной обработке, разреженному выводу и квантованию, дистилляции и многоуровневому колокейшену мы стремимся предоставить самую быструю доступную среду.
Автоматическая оптимизация задач?: Anarchy LLM-VM проанализирует ваши варианты использования для повторяющихся задач, где она может активировать дистилляцию учеников и преподавателей для обучения сверхэффективной небольшой модели на основе более крупной и более общей модели без потери точности. Кроме того, он может использовать преимущества методов синтеза данных для улучшения результатов.
Вызываемая библиотека: мы предоставляем библиотеку, которую можно использовать напрямую из любой базы кода Python.
Конечные точки HTTP? ️: Мы предоставляем автономный HTTP-сервер для обработки запросов на завершение.
Увеличение данных в реальном времени: (ROADMAP). Вы сможете предоставлять обновляемый набор данных в реальном времени, а Anarchy LLM-VM будет точно настраивать ваши модели или работать с векторной базой данных для предоставления актуальной информации с цитатами.
Веб-площадка ?: (ДОРОЖНАЯ КАРТА) Вы сможете запустить Anarchy LLM-VM и протестировать ее результаты из браузера.
Балансировка нагрузки и оркестрация ⚖️: (СХЕМА) Если у вас есть несколько LLM или провайдеров, которых вы хотели бы использовать, вы сможете передать их Anarchy LLM-VM, чтобы автоматически определить, с кем работать и когда оптимизировать вашу работу. время безотказной работы или ваши затраты
Шаблонирование вывода ?: (ROADMAP). Вы можете гарантировать, что LLM выводит данные только в определенных форматах и заполняет переменные из шаблона с помощью регулярных выражений, LMQL или языка шаблонов OpenAI.
Постоянная память с отслеживанием состояния: (ROADMAP). Anarchy LLM-VM может запоминать историю разговоров пользователя и реагировать соответствующим образом.
Python >=3.10 Поддерживается. Старые версии Python работают по принципу «максимально возможно».
Используйте bash > python3 --version
, чтобы проверить, какую версию вы используете.
Чтобы обновить ваш Python, либо создайте новую среду Python, используя bash > conda create -n myenv python=3.10
, либо перейдите по адресу https://www.python.org/downloads/, чтобы загрузить последнюю версию.
If you plan on running the setup steps below, a proper Python version will be installed for you
Разные модели имеют разные системные требования. Ограничивающим фактором в большинстве систем, скорее всего, будет оперативная память, но многие функции будут работать даже с 16 ГБ ОЗУ.
Тем не менее, всегда ищите информацию об используемых вами моделях: все они имеют разные размеры и требования к памяти и вычислительным ресурсам.
Самый быстрый способ начать — запустить pip install llm-vm
в вашей среде Python.
Другой способ установить 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, вам нужно будет установить переменную среды LLM_VM_OPENAI_API_KEY
с вашим ключом API.
Наша LLM-VM позволяет вам напрямую работать с популярными LLM на местном уровне всего за 3 строки. После того, как вы его установили (как указано выше), просто загрузите свою модель и начните генерировать!
# 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 были доступны каждому, но если у вас есть необходимая память, модели с большими параметрами будут работать намного лучше!
например, если вы хотите использовать большую и маленькую нео-модель для своего учителя и ученика и у вас достаточно оперативной памяти:
# 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...
Вот некоторые сведения о модели по умолчанию:
Имя | Model_Uri | Параметры модели | Размер файла контрольной точки |
---|---|---|---|
Нео | EleutherAI/gpt-neo-1.3B | 1,3Б | 5,31 ГБ |
Цвести | bigscience/bloom-560m | 1,7Б | 1,12 ГБ |
ОПТ | facebook/opt-350m | 350 м | 622 МБ |
Другие варианты использования памяти и количества параметров в каждом семействе моделей можно найти в таблицах model_uri_tables.
Есть два агента: FLAT и REBEL.
Запустите агенты по отдельности, зайдя в src/llm_vm/agents/<AGENT_FOLDER>
и запустив файл с названием agent.py
.
Альтернативно, чтобы запустить простой интерфейс и выбрать агент для запуска из CLI, запустите файл src/llm_vm/agents/agent_interface.py
и следуйте инструкциям командной строки.
Мы приветствуем участников! Для начала нужно присоединиться к нашему активному сообществу Discord. В противном случае вот несколько способов внести свой вклад и получить оплату:
Мы предлагаем вознаграждения за закрытие конкретных билетов! Посмотрите на этикетки билетов, чтобы узнать размер награды. Для начала присоединяйтесь к дискорду и прочитайте руководство
Мэтью Мирман - генеральный директор
Виктор Одеде - Undoomer
Абхигья Содани - стажер-исследователь
Картер Шонвальд - Бесстрашный участник
Кайл Уайлд - Бесстрашный участник
Ааруши Банерджи - Бесстрашный участник
Эндрю Нельсон - Бесстрашный участник
Лицензия MIT