Uma estrutura Pythonic para simplificar a construção de serviços de IA
Página inicial • API Playground • Exemplos • Documentação • Referências CLI • Twitter • Blog
A biblioteca LeptonAI Python permite construir um serviço de IA a partir de código Python com facilidade. Os principais recursos incluem:
Photon
, que permite converter código de pesquisa e modelagem em um serviço com algumas linhas de código.Instale a biblioteca com:
pip install -U leptonai
Isso instala a biblioteca leptonai
Python, bem como a interface de linha de comando lep
. Você pode então iniciar um modelo HuggingFace, digamos gpt2
, em uma linha de código:
lep photon runlocal - - name gpt2 - - model hf : gpt2
Se você tiver acesso ao modelo Llama2 (solicite acesso aqui) e tiver uma GPU de tamanho razoável, poderá iniciá-lo com:
# 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
(Certifique-se de usar a versão -hf
para Llama2, que é compatível com pipelines huggingface.)
Você pode então acessar o serviço com:
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" ))
Modelos Llama2 totalmente gerenciados e modelos CodeLlama podem ser encontrados no playground.
Muitos pipelines HuggingFace padrão são suportados - descubra mais detalhes na documentação. Porém, nem todos os modelos HuggingFace são suportados, pois muitos deles contêm código personalizado e não são pipelines padrão. Se você encontrar um modelo popular que gostaria de apoiar, abra uma edição ou um PR.
Você pode descobrir mais exemplos no repositório de exemplos. Por exemplo, lance o modelo Stable Diffusion XL com:
git clone [email protected]:leptonai/examples.git
cd examples
lep photon runlocal - n sdxl - m advanced / sdxl / sdxl . py
Assim que o serviço estiver em execução, você poderá acessá-lo com:
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 )
ou acesse a UI Gradio montada em http://localhost:8080/ui. Verifique o arquivo README para obter mais detalhes.
Um SDXL totalmente gerenciado está hospedado em https://dashboard.lepton.ai/playground/sdxl com acesso API.
Escrever seu próprio fóton é simples: escreva uma classe Python Photon e decore funções com @Photon.handler
. Contanto que sua entrada e saída sejam serializáveis por JSON, você está pronto para prosseguir. Por exemplo, o código a seguir inicia um serviço de eco simples:
# 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
Você pode então iniciar o serviço com:
lep photon runlocal -n echo -m my_photon.py
Então, você pode usar seu serviço da seguinte maneira:
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 mais detalhes, confira a documentação e os exemplos.
Contribuições e colaborações são bem-vindas e muito apreciadas. Confira o guia do contribuidor para saber como se envolver.
A biblioteca Lepton AI Python é lançada sob a licença Apache 2.0.
Nota do desenvolvedor: o desenvolvimento inicial do LeptonAI ocorreu em um mono-repo separado, e é por isso que você pode ver commits do repositório leptonai/lepton
. Pretendemos usar este repositório de código aberto como fonte da verdade daqui para frente.