Платформа Pythonic для упрощения создания сервисов ИИ
Домашняя страница • Площадка API • Примеры • Документация • Справочники по CLI • Twitter • Блог
Библиотека LeptonAI Python позволяет легко создавать службы искусственного интеллекта из кода Python. Ключевые особенности включают в себя:
Photon
, позволяющая конвертировать код исследования и моделирования в сервис с помощью нескольких строк кода.Установите библиотеку с помощью:
pip install -U leptonai
При этом будет установлена библиотека Python leptonai
, а также интерфейс командной строки lep
. Затем вы можете запустить модель HuggingFace, скажем, gpt2
, одной строкой кода:
lep photon runlocal - - name gpt2 - - model hf : gpt2
Если у вас есть доступ к модели Llama2 (подайте заявку здесь) и у вас есть графический процессор разумного размера, вы можете запустить ее с помощью:
# hint: you can also write `-n` and `-m` for short
lep photon runlocal - n llama2 - m hf : meta - llama / Llama - 2 - 7 b - chat - hf
(Обязательно используйте версию -hf
для Llama2, которая совместима с конвейерами Huggingface.)
Затем вы можете получить доступ к услуге с помощью:
from leptonai . client import Client , local
c = Client ( local ( port = 8080 ))
# Use the following to print the doc
print ( c . run . __doc__ )
print ( c . run ( inputs = "I enjoy walking with my cute dog" ))
Полностью управляемые модели Llama2 и модели CodeLlama можно найти на игровой площадке.
Поддерживаются многие стандартные конвейеры HuggingFace — подробности читайте в документации. Однако поддерживаются не все модели HuggingFace, поскольку многие из них содержат собственный код и не являются стандартными конвейерами. Если вы нашли популярную модель, которую хотели бы поддержать, откройте вопрос или PR.
Дополнительные примеры можно найти в репозитории примеров. Например, запустите модель Stable Diffusion XL с помощью:
git clone [email protected]:leptonai/examples.git
cd examples
lep photon runlocal - n sdxl - m advanced / sdxl / sdxl . py
После запуска службы вы можете получить к ней доступ с помощью:
from leptonai . client import Client , local
c = Client ( local ( port = 8080 ))
img_content = c . run ( prompt = "a cat launching rocket" , seed = 1234 )
with open ( "cat.png" , "wb" ) as fid :
fid . write ( img_content )
или откройте смонтированный пользовательский интерфейс Gradio по адресу http://localhost:8080/ui. Дополнительную информацию можно найти в файле README.
Полностью управляемый SDXL размещен по адресу https://dashboard.lepton.ai/playground/sdxl с доступом через API.
Написать собственный фотон просто: напишите класс Python Photon и украсьте функции @Photon.handler
. Если ваши входные и выходные данные сериализуемы в формате JSON, все готово. Например, следующий код запускает простую службу эха:
# my_photon.py
from leptonai . photon import Photon
class Echo ( Photon ):
@ Photon . handler
def echo ( self , inputs : str ) -> str :
"""
A simple example to return the original input.
"""
return inputs
Затем вы можете запустить службу с помощью:
lep photon runlocal -n echo -m my_photon.py
Далее вы можете воспользоваться вашим сервисом следующим образом:
from leptonai . client import Client , local
c = Client ( local ( port = 8080 ))
# will print available paths
print ( c . paths ())
# will print the doc for c.echo. You can also use `c.echo?` in Jupyter.
print ( c . echo . __doc__ )
# will actually call echo.
c . echo ( inputs = "hello world" )
Для получения более подробной информации ознакомьтесь с документацией и примерами.
Вклад и сотрудничество приветствуются и высоко ценятся. Пожалуйста, ознакомьтесь с руководством для участников, чтобы узнать, как принять участие.
Библиотека Lepton AI Python выпускается под лицензией Apache 2.0.
Примечание разработчика: ранняя разработка LeptonAI велась в отдельном монорепозитории, поэтому вы можете увидеть коммиты из репозитория leptonai/lepton
. Мы намерены использовать этот репозиторий с открытым исходным кодом в качестве источника истины в будущем.