LeapfrogAI — это автономная платформа искусственного интеллекта, предназначенная для развертывания в изолированных средах. Этот проект направлен на внедрение сложных решений искусственного интеллекта в изолированные среды с ограниченными ресурсами, обеспечивая размещение всех необходимых компонентов стека искусственного интеллекта.
Наши услуги включают векторные базы данных, серверные части моделей, API и пользовательский интерфейс. К этим возможностям можно легко получить доступ и интегрировать их с существующей инфраструктурой, гарантируя возможность использования возможностей искусственного интеллекта независимо от ограничений вашей среды.
Модели больших языков (LLM) — это мощный ресурс для принятия решений на основе искусственного интеллекта, создания контента и многого другого. Как LeapfrogAI может использовать ИИ в вашей миссии?
Независимость данных . Отправка конфиденциальной информации в стороннюю службу может быть неподходящей или допустимой для всех типов данных или организаций. Размещая собственный LLM, вы сохраняете полный контроль над своими данными.
Масштабируемость . Услуги искусственного интеллекта с оплатой по мере использования могут стать дорогими, особенно когда задействованы большие объемы данных и требуется постоянное подключение. Создание собственного LLM часто может быть более экономичным решением для миссий любого размера.
Интеграция миссии : разместив свой собственный LLM, вы получаете возможность настраивать параметры модели, данные обучения и многое другое, адаптируя ИИ к вашим конкретным потребностям.
LeapfrogAI построен на базе Unicorn Delivery Service (UDS), безопасной среды выполнения Defense Unicorns, и включает в себя несколько функций, таких как:
Репозиторий LeapfrogAI имеет структуру монорепозитория, основанную на API, при этом каждый из компонентов включен в отдельный каталог packages
. Пакеты UDS, которые отвечают за разработку и последние развертывания LeapfrogAI, находятся в каталоге bundles
. Структура выглядит следующим образом:
leapfrogai/
├── src/
│ ├── leapfrogai_api/ # source code for the API
│ ├── leapfrogai_evals/ # source code for the LeapfrogAI evaluation framework
│ ├── leapfrogai_sdk/ # source code for the SDK
│ └── leapfrogai_ui/ # source code for the UI
├── packages/
│ ├── api/ # deployment infrastructure for the API
│ ├── llama-cpp-python/ # source code & deployment infrastructure for the llama-cpp-python backend
│ ├── repeater/ # source code & deployment infrastructure for the repeater model backend
│ ├── supabase/ # deployment infrastructure for the Supabase backend and postgres database
│ ├── text-embeddings/ # source code & deployment infrastructure for the text-embeddings backend
│ ├── ui/ # deployment infrastructure for the UI
│ ├── vllm/ # source code & deployment infrastructure for the vllm backend
│ └── whisper/ # source code & deployment infrastructure for the whisper backend
├── bundles/
│ ├── dev/ # uds bundles for local uds dev deployments
│ └── latest/ # uds bundles for the most current uds deployments
├── Makefile
├── pyproject.toml
├── README.md
└── ...
Предпочтительным методом запуска LeapfrogAI является локальное развертывание Kubernetes с использованием UDS.
Системные требования и инструкции можно найти в разделе «Быстрый старт» на веб-сайте документации LeapfrogAI.
LeapfrogAI предоставляет API, который очень похож на API OpenAI. Эта функция позволяет инструментам, созданным с использованием OpenAI/ChatGPT, беспрепятственно работать с серверной частью LeapfrogAI.
LeapfrogAI SDK предоставляет стандартный набор protobufs и утилит Python для реализации серверных частей с помощью gRPC.
LeapfrogAI предоставляет пользовательский интерфейс с поддержкой общих сценариев использования, таких как общий чат и «Вопросы и ответы с вашими документами».
LeapfrogAI предоставляет несколько бэкэндов для различных вариантов использования. Ниже приведена матрица поддержки и совместимости бэкэндов:
Бэкэнд | AMD64 | ARM64 | КУДА | Докер | Кубернетес | УДС |
---|---|---|---|---|---|---|
лама-cpp-питон | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
шепот | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
встраивание текста | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
вллм | ✅ | ❌ 1 | ✅ | ✅ | ✅ | ✅ |
«Модель» ретранслятора — это базовый «бэкэнд», который повторяет все входные данные, которые он получает, обратно пользователю. Он построен так же, как и все реальные серверные части, и в основном используется для тестирования API.
LeapfrogAI поставляется с платформой оценки, интегрированной с DeepEval. Дополнительную информацию о запуске и использовании оценок в LeapfrogAI см. в README Evals.
Каждый компонент имеет разные образы и значения, которые относятся к определенному реестру образов и/или источнику усиления защиты. Эти изображения упакованы с использованием Zarf Flavors:
upstream
: использует образы вышестоящих поставщиков из реестров и репозиториев контейнеров с открытым исходным кодом.registry1
: использует защищенные образы IronBank из реестра порта Repo1.Ниже приведен текущий список разновидностей компонентов:
Компонент | upstream | registry1 |
---|---|---|
API | ✅ | ✅ |
пользовательский интерфейс | ✅ | ? |
супабаза | ✅ | ? |
миграции | ✅ | ? |
лама-cpp-питон | ✅ | ? |
шепот | ✅ | ? |
встраивание текста | ✅ | ? |
вллм | ✅ | ? |
вллм | ✅ | ? |
Ароматизаторы с любыми компонентами, помеченными как? пока недоступны в качестве пакета быстрого запуска. Пожалуйста, обратитесь к DEVELOPMENT.md за инструкциями о том, как собрать пакет Zarf компонента для локального тестирования.
Чтобы создать пакет LeapfrogAI UDS и развернуть его, посетите веб-сайт документации LeapfrogAI. На веб-сайте документации вы найдете системные требования и инструкции для всех компонентов LeapfrogAI, которые не связаны с локальной разработкой и вкладом.
Для участия в локальном развертывании и разработке каждого компонента в локальной среде Python или Node.js перейдите к следующему разделу.
Примечание
Прежде чем приступать к локальной разработке, начните с веб-сайта документации LeapfrogAI.
Каждый из компонентов LeapfrogAI также можно запускать индивидуально вне Kubernetes или контейнерной среды. Это полезно при тестировании изменений конкретного компонента, но не поможет в полном развертывании LeapfrogAI. Инструкции по развертыванию см. в разделе выше. Пожалуйста, обратитесь к следующему разделу, чтобы узнать правила внесения вклада в LeapfrogAI.
Сначала обратитесь к документу DEVELOPMENT.md для получения общих сведений о разработке.
Затем обратитесь к связанным файлам README для получения локальных инструкций по разработке для каждого отдельного подкаталога.
Все потенциальные и текущие участники должны убедиться, что они прочитали документацию для участников, политику безопасности и кодекс поведения, прежде чем открывать задачу или запрос на включение в этот репозиторий.
Отправляя проблему или открывая запрос на запрос, сначала убедитесь, что вы выполнили поиск потенциальной проблемы или запроса на поиск среди существующих или закрытых проблем и запросов на запрос. Замеченные дубликаты будут закрыты, поэтому, пожалуйста, ссылайтесь на свой вклад и отличайте его от второстепенных или аналогичных проблем и PR.
LeapfrogAI поддерживается сообществом пользователей и участников, в том числе:
Хотите добавить свою организацию или логотип в этот список? Откройте пиар!
Для vLLM требуется PyTorch с поддержкой CUDA, созданный для ARM64, который недоступен через pip или conda ↩
SDK не является функционально независимой единицей и становится функциональной единицей только при объединении и упаковке с API и серверными модулями в качестве зависимости. ↩
Имейте в виду, что API и пользовательский интерфейс содержат артефакты в двух подкаталогах. Подкаталоги, относящиеся к packages/
сосредоточены на пакетах Zarf и диаграммах Helm, тогда как подкаталоги, относящиеся к src/
содержат фактический исходный код и инструкции по разработке. ↩ ↩ 2