Schnellstart | Dokumentation | Zero-to-Hero-Leitfaden
Llama Stack definiert und standardisiert die Kernbausteine, die erforderlich sind, um generative KI-Anwendungen auf den Markt zu bringen. Diese Bausteine werden in Form interoperabler APIs präsentiert, wobei eine breite Palette von Dienstanbietern ihre Implementierungen bereitstellt.
Unser Ziel ist es, vorgefertigte Implementierungen bereitzustellen, die in einer Vielzahl von Bereitstellungsumgebungen betrieben werden können: Entwickler beginnen mit der Iteration mit Desktops oder ihren mobilen Geräten und können nahtlos zu lokalen oder öffentlichen Cloud-Bereitstellungen übergehen. An jedem Punkt dieses Übergangs stehen die gleichen APIs und die gleiche Entwicklererfahrung zur Verfügung.
⚠️ Hinweis: Die Stack-APIs verbessern sich schnell, aber es ist noch viel Arbeit in Arbeit und wir freuen uns über Feedback sowie direkte Beiträge.
Wir verfügen heute über funktionierende Implementierungen der folgenden APIs:
Schlussfolgerung
Sicherheit
Erinnerung
Agenten
Bewertung
Telemetrie
Neben diesen APIs haben wir auch verwandte APIs für den Betrieb mit zugehörigen Ressourcen entwickelt (siehe Konzepte):
Modelle
Schilde
Speicherbänke
EvalTasks
Datensätze
Bewertungsfunktionen
Wir arbeiten außerdem an den folgenden APIs, die bald veröffentlicht werden:
Nach dem Training
Synthetische Datengenerierung
Belohnungsbewertung
Jede der APIs selbst ist eine Sammlung von REST-Endpunkten.
Im Gegensatz zu anderen Frameworks basiert Llama Stack auf einem serviceorientierten REST-API-First-Ansatz. Ein solches Design ermöglicht nicht nur nahtlose Übergänge von lokalen zu Remote-Bereitstellungen, sondern zwingt das Design auch dazu, deklarativer zu sein. Wir glauben, dass diese Einschränkung zu einer viel einfacheren und robusteren Entwicklererfahrung führen kann. Dies muss zwangsläufig mit der Expressivität einhergehen. Wenn wir jedoch die APIs richtig einsetzen, kann dies zu einer sehr leistungsstarken Plattform führen.
Wir gehen davon aus, dass die von uns entworfenen APIs zusammensetzbar sind. Ein Agent hängt abstrakt von {Inferenz-, Speicher- und Sicherheits-APIs ab, kümmert sich jedoch nicht um die tatsächlichen Implementierungsdetails. Die Sicherheit selbst erfordert möglicherweise Modellinferenz und kann daher von der Inferenz-API abhängen.
Wir gehen davon aus, schlüsselfertige Lösungen für gängige Einsatzszenarien bereitzustellen. Es sollte einfach sein, einen Llama Stack-Server auf AWS oder in einem privaten Rechenzentrum bereitzustellen. Beides sollte es einem Entwickler ermöglichen, innerhalb weniger Minuten mit leistungsstarken Agenten-Apps, Modellbewertungen oder Feinabstimmungsdiensten zu beginnen. Sie sollten alle zu derselben einheitlichen Beobachtbarkeit und Entwicklererfahrung führen.
Als von Meta initiiertes Projekt haben wir uns zunächst explizit auf die Llama-Modellreihe von Meta konzentriert. Die Unterstützung der breiten Palette offener Modelle ist keine leichte Aufgabe und wir möchten mit Modellen beginnen, die wir am besten verstehen.
Es gibt ein lebendiges Ökosystem von Anbietern, die effiziente Inferenz- oder skalierbare Vektorspeicher oder leistungsstarke Observability-Lösungen bereitstellen. Wir möchten sicherstellen, dass es für Entwickler einfach ist, die besten Implementierungen für ihre Anwendungsfälle auszuwählen. Wir möchten auch sicherstellen, dass es für neue Anbieter einfach ist, in das Ökosystem einzusteigen und daran teilzunehmen.
Darüber hinaus haben wir jedes Element des Stacks so gestaltet, dass sowohl APIs als auch Ressourcen (wie Modelle) zusammengefasst werden können.
API-Provider-Builder | Umgebungen | Agenten | Schlussfolgerung | Erinnerung | Sicherheit | Telemetrie |
---|---|---|---|---|---|---|
Meta-Referenz | Einzelner Knoten | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Feuerwerk | Gehostet | ✔️ | ✔️ | ✔️ | ||
AWS-Grundgestein | Gehostet | ✔️ | ✔️ | |||
Zusammen | Gehostet | ✔️ | ✔️ | ✔️ | ||
Ollama | Einzelner Knoten | ✔️ | ||||
TGI | Gehosteter und einzelner Knoten | ✔️ | ||||
Chroma | Einzelner Knoten | ✔️ | ||||
PG-Vektor | Einzelner Knoten | ✔️ | ||||
PyTorch ExecuTorch | iOS auf dem Gerät | ✔️ | ✔️ |
Verteilung | Lama Stack Docker | Starten Sie diese Verteilung |
---|---|---|
Meta-Referenz | lamastack/distribution-meta-reference-gpu | Führung |
Meta-Referenz quantisiert | lamastack/distribution-meta-reference-quantized-gpu | Führung |
Ollama | Lamastack/Distribution-Ollama | Führung |
TGI | lamastack/distribution-tgi | Führung |
Zusammen | lamastack/distribution-together | Führung |
Feuerwerk | Lamastack/Verteilungsfeuerwerk | Führung |
Sie haben zwei Möglichkeiten, dieses Repository zu installieren:
Als Paket installieren : Sie können das Repository direkt von PyPI aus installieren, indem Sie den folgenden Befehl ausführen:
pip Lama-Stack installieren
Von der Quelle installieren : Wenn Sie lieber vom Quellcode installieren möchten, gehen Sie folgendermaßen vor:
mkdir -p ~/local cd ~/local Git-Klon [email protected]:meta-llama/llama-stack.git conda create -n stack python=3.10 Conda Activate Stack CD Lama-Stack $CONDA_PREFIX/bin/pip install -e .
Weitere Informationen finden Sie auf unserer Dokumentationsseite.
CLI-Referenz
Anleitung zur Verwendung llama
CLI für die Arbeit mit Llama-Modellen (Download, Lernaufforderungen) und zum Erstellen/Starten einer Llama-Stack-Distribution.
Erste Schritte
Kurzanleitung zum Starten eines Llama Stack-Servers.
Jupyter-Notizbuch mit Anleitung zur Verwendung einfacher Text- und Vision-Inferenz-APIs llama_stack_client
Das komplette Llama Stack-Lektions-Colab-Notizbuch des neuen Llama 3.2-Kurses auf Deeplearning.ai.
Ein Zero-to-Hero-Leitfaden, der Sie mit Codebeispielen durch alle Schlüsselkomponenten des Lama-Stacks führt.
Mitwirken
Einen neuen API-Anbieter hinzufügen, um zu erfahren, wie Sie einen neuen API-Anbieter hinzufügen.
Sprache | Client-SDK | Paket |
---|---|---|
Python | Lama-Stack-Client-Python | |
Schnell | Lama-Stack-Client-Swift | |
Knoten | Lama-Stack-Client-Knoten | |
Kotlin | Lama-Stack-Client-Kotlin |
Schauen Sie sich unsere Client-SDKs für die Verbindung zum Llama Stack-Server in Ihrer bevorzugten Sprache an. Sie können zwischen den Programmiersprachen Python, Node, Swift und Kotlin wählen, um Ihre Anwendungen schnell zu erstellen.
Weitere Beispielskripte mit Client-SDKs zur Kommunikation mit dem Llama Stack-Server finden Sie in unserem llama-stack-apps-Repository.