Un marco Pythonic para simplificar la creación de servicios de IA
Página de inicio • API Playground • Ejemplos • Documentación • Referencias CLI • Twitter • Blog
La biblioteca LeptonAI Python le permite crear un servicio de IA a partir de código Python con facilidad. Las características clave incluyen:
Photon
de abstracción pitónica, que le permite convertir código de investigación y modelado en un servicio con unas pocas líneas de código.Instale la biblioteca con:
pip install -U leptonai
Esto instala la biblioteca Python leptonai
, así como la interfaz de línea de comandos lep
. Luego puedes iniciar un modelo HuggingFace, digamos gpt2
, en una línea de código:
lep photon runlocal - - name gpt2 - - model hf : gpt2
Si tienes acceso al modelo Llama2 (solicita acceso aquí) y tienes una GPU de tamaño razonable, puedes iniciarlo con:
# 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
(Asegúrese de utilizar la versión -hf
para Llama2, que es compatible con las canalizaciones de huggingface).
Luego podrá acceder al servicio con:
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" ))
Los modelos Llama2 y CodeLlama totalmente gestionados se pueden encontrar en el patio de juegos.
Se admiten muchas canalizaciones estándar de HuggingFace; obtenga más detalles en la documentación. Sin embargo, no todos los modelos de HuggingFace son compatibles, ya que muchos de ellos contienen código personalizado y no son canales estándar. Si encuentra un modelo popular que le gustaría apoyar, abra un problema o un PR.
Puede encontrar más ejemplos en el repositorio de ejemplos. Por ejemplo, lance el modelo Stable Diffusion XL con:
git clone [email protected]:leptonai/examples.git
cd examples
lep photon runlocal - n sdxl - m advanced / sdxl / sdxl . py
Una vez que el servicio se esté ejecutando, podrás acceder a él con:
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 )
o acceda a la interfaz de usuario de Gradio montada en http://localhost:8080/ui. Consulte el archivo README para obtener más detalles.
Un SDXL completamente administrado está alojado en https://dashboard.lepton.ai/playground/sdxl con acceso API.
Escribir tu propio fotón es simple: escribe una clase Python Photon y decora funciones con @Photon.handler
. Siempre que su entrada y salida sean serializables en JSON, estará listo. Por ejemplo, el siguiente código inicia un servicio de eco simple:
# 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
Luego puede iniciar el servicio con:
lep photon runlocal -n echo -m my_photon.py
Luego, puede utilizar su servicio de la siguiente manera:
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" )
Para obtener más detalles, consulte la documentación y los ejemplos.
Las contribuciones y colaboraciones son bienvenidas y muy apreciadas. Consulte la guía para contribuyentes para saber cómo participar.
La biblioteca Lepton AI Python se publica bajo la licencia Apache 2.0.
Nota del desarrollador: el desarrollo inicial de LeptonAI se realizó en un monorepositorio separado, por lo que es posible que veas confirmaciones del repositorio leptonai/lepton
. Tenemos la intención de utilizar este repositorio de código abierto como fuente de verdad en el futuro.