Ein Pythonic-Framework zur Vereinfachung der Erstellung von KI-Diensten
Homepage • API Playground • Beispiele • Dokumentation • CLI-Referenzen • Twitter • Blog
Mit der LeptonAI-Python-Bibliothek können Sie ganz einfach einen KI-Dienst aus Python-Code erstellen. Zu den Hauptmerkmalen gehören:
Photon
, mit dem Sie Forschungs- und Modellierungscode mit wenigen Codezeilen in einen Dienst umwandeln können.Installieren Sie die Bibliothek mit:
pip install -U leptonai
Dadurch werden die leptonai
-Python-Bibliothek sowie die Befehlszeilenschnittstelle lep
installiert. Anschließend können Sie ein HuggingFace-Modell, beispielsweise gpt2
, in einer Codezeile starten:
lep photon runlocal - - name gpt2 - - model hf : gpt2
Wenn Sie Zugriff auf das Llama2-Modell haben (hier Zugriff beantragen) und über eine einigermaßen große GPU verfügen, können Sie es starten mit:
# 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
(Achten Sie darauf, die -hf
Version für Llama2 zu verwenden, die mit Huggingface-Pipelines kompatibel ist.)
Sie können dann auf den Dienst zugreifen mit:
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" ))
Vollständig verwaltete Llama2-Modelle und CodeLlama-Modelle finden Sie auf dem Spielplatz.
Viele standardmäßige HuggingFace-Pipelines werden unterstützt – weitere Einzelheiten finden Sie in der Dokumentation. Allerdings werden nicht alle HuggingFace-Modelle unterstützt, da viele von ihnen benutzerdefinierten Code enthalten und keine Standard-Pipelines sind. Wenn Sie ein beliebtes Modell finden, das Sie unterstützen möchten, eröffnen Sie bitte ein Problem oder eine PR.
Weitere Beispiele finden Sie im Beispiel-Repository. Starten Sie beispielsweise das Stable Diffusion XL-Modell mit:
git clone [email protected]:leptonai/examples.git
cd examples
lep photon runlocal - n sdxl - m advanced / sdxl / sdxl . py
Sobald der Dienst ausgeführt wird, können Sie wie folgt darauf zugreifen:
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 )
oder greifen Sie auf die bereitgestellte Gradio-Benutzeroberfläche unter http://localhost:8080/ui zu. Weitere Informationen finden Sie in der README-Datei.
Ein vollständig verwaltetes SDXL wird unter https://dashboard.lepton.ai/playground/sdxl mit API-Zugriff gehostet.
Das Schreiben eines eigenen Photons ist einfach: Schreiben Sie eine Python-Photon-Klasse und dekorieren Sie Funktionen mit @Photon.handler
. Solange Ihre Eingabe und Ausgabe JSON-serialisierbar sind, können Sie loslegen. Der folgende Code startet beispielsweise einen einfachen Echo-Dienst:
# 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
Anschließend können Sie den Dienst starten mit:
lep photon runlocal -n echo -m my_photon.py
Dann können Sie Ihren Service wie folgt nutzen:
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" )
Weitere Informationen finden Sie in der Dokumentation und in den Beispielen.
Beiträge und Kooperationen sind willkommen und werden sehr geschätzt. Bitte schauen Sie sich den Leitfaden für Mitwirkende an, um zu erfahren, wie Sie sich beteiligen können.
Die Lepton AI Python-Bibliothek wird unter der Apache 2.0-Lizenz veröffentlicht.
Hinweis des Entwicklers: Die frühe Entwicklung von LeptonAI fand in einem separaten Mono-Repo statt, weshalb Sie möglicherweise Commits aus dem leptonai/lepton
-Repo sehen. Wir beabsichtigen, dieses Open-Source-Repo künftig als Quelle der Wahrheit zu nutzen.