Démarrage rapide | Documents | Guide de zéro à héros
Llama Stack définit et standardise l'ensemble des éléments de base nécessaires pour commercialiser des applications d'IA générative. Ces éléments de base sont présentés sous la forme d'API interopérables avec un large éventail de fournisseurs de services fournissant leurs implémentations.
Notre objectif est de fournir des implémentations prédéfinies qui peuvent être exploitées dans une variété d'environnements de déploiement : les développeurs commencent à itérer avec des ordinateurs de bureau ou leurs appareils mobiles et peuvent passer en toute transparence à des déploiements sur site ou dans le cloud public. À chaque étape de cette transition, le même ensemble d’API et la même expérience de développeur sont disponibles.
⚠️ Remarque Les API Stack s'améliorent rapidement, mais il reste encore beaucoup de travail en cours et nous invitons les commentaires ainsi que les contributions directes.
Nous disposons aujourd'hui d'implémentations fonctionnelles des API suivantes :
Inférence
Sécurité
Mémoire
Agents
Évaluer
Télémétrie
Parallèlement à ces API, nous avons également associé des API permettant de fonctionner avec les ressources associées (voir Concepts) :
Modèles
Boucliers
Banques de mémoire
Tâches d'évaluation
Ensembles de données
Fonctions de notation
Nous travaillons également sur les API suivantes qui seront bientôt publiées :
Après la formation
Génération de données synthétiques
Notation des récompenses
Chacune des API elles-mêmes est une collection de points de terminaison REST.
Contrairement à d'autres frameworks, Llama Stack est construit avec une approche orientée services, axée d'abord sur l'API REST. Une telle conception permet non seulement des transitions transparentes d'un déploiement local à un déploiement distant, mais oblige également la conception à être plus déclarative. Nous pensons que cette restriction peut aboutir à une expérience de développement beaucoup plus simple et robuste. Cela sera nécessairement un compromis avec l'expressivité, mais si nous utilisons les bonnes API, cela peut conduire à une plate-forme très puissante.
Nous nous attendons à ce que l'ensemble des API que nous concevons soit composable. Un agent dépend abstraitement des API { Inférence, Mémoire, Sécurité } mais ne se soucie pas des détails d'implémentation réels. La sécurité elle-même peut nécessiter une inférence de modèle et peut donc dépendre de l'API d'inférence.
Nous prévoyons de fournir des solutions clé en main pour les scénarios de déploiement courants. Il devrait être facile de déployer un serveur Llama Stack sur AWS ou sur un centre de données privé. L'un ou l'autre devrait permettre à un développeur de démarrer avec de puissantes applications agentiques, des évaluations de modèles ou des services de réglage fin en quelques minutes. Ils devraient tous aboutir à la même observabilité et à la même expérience de développeur uniformes.
En tant que projet initié par Meta, nous avons commencé par nous concentrer explicitement sur la série de modèles Meta Llama. Prendre en charge le large éventail de modèles ouverts n’est pas une tâche facile et nous souhaitons commencer par les modèles que nous comprenons le mieux.
Il existe un écosystème dynamique de fournisseurs qui fournissent des inférences efficaces, des magasins de vecteurs évolutifs ou des solutions d'observabilité puissantes. Nous voulons nous assurer qu'il est facile pour les développeurs de choisir les meilleures implémentations pour leurs cas d'utilisation. Nous voulons également nous assurer qu'il est facile pour les nouveaux fournisseurs d'intégrer et de participer à l'écosystème.
De plus, nous avons conçu chaque élément de la Stack de manière à ce que les API ainsi que les ressources (comme les modèles) puissent être fédérées.
Générateur de fournisseur d'API | Environnements | Agents | Inférence | Mémoire | Sécurité | Télémétrie |
---|---|---|---|---|---|---|
Méta-référence | Nœud unique | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Feux d'artifice | Hébergé | ✔️ | ✔️ | ✔️ | ||
Socle AWS | Hébergé | ✔️ | ✔️ | |||
Ensemble | Hébergé | ✔️ | ✔️ | ✔️ | ||
Ollama | Nœud unique | ✔️ | ||||
TGI | Nœud hébergé et unique | ✔️ | ||||
Chroma | Nœud unique | ✔️ | ||||
Vecteur PG | Nœud unique | ✔️ | ||||
PyTorch ExecuTorch | iOS sur l'appareil | ✔️ | ✔️ |
Distribution | Docker de pile de lama | Démarrer cette distribution |
---|---|---|
Méta-référence | llamastack/distribution-meta-reference-gpu | Guide |
Méta référence quantifiée | llamastack/distribution-meta-reference-quantized-gpu | Guide |
Ollama | llamastack/distribution-ollama | Guide |
TGI | llamastack/distribution-tgi | Guide |
Ensemble | llamastack/distribution-ensemble | Guide |
Feux d'artifice | llamastack/distribution-fireworks | Guide |
Vous avez deux manières d'installer ce référentiel :
Installer en tant que package : Vous pouvez installer le référentiel directement depuis PyPI en exécutant la commande suivante :
pip installe la pile de lama
Installer à partir des sources : Si vous préférez installer à partir du code source, suivez ces étapes :
mkdir -p ~/local cd ~/local git clone [email protected]:meta-llama/llama-stack.git conda create -n pile python=3.10 conda activate stack cd lama-stack $CONDA_PREFIX/bin/pip install -e .
Veuillez consulter notre page de documentation pour plus de détails.
Référence CLI
Guide d'utilisation de llama
CLI pour travailler avec les modèles Llama (téléchargement, invites d'étude) et créer/démarrer une distribution Llama Stack.
Commencer
Guide rapide pour démarrer un serveur Llama Stack.
Carnet Jupyter expliquant comment utiliser les API simples d'inférence de texte et de vision llama_stack_client
Le cahier Colab complet de la leçon Llama Stack du nouveau cours Llama 3.2 sur Deeplearning.ai.
Un guide Zero-to-Hero qui vous guide à travers tous les composants clés de la pile de lama avec des exemples de code.
Contribuer
Ajout d'un nouveau fournisseur d'API pour découvrir comment ajouter un nouveau fournisseur d'API.
Langue | SDK client | Emballer |
---|---|---|
Python | lama-stack-client-python | |
Rapide | lama-pile-client-swift | |
Nœud | lama-stack-client-node | |
Kotlin | lama-stack-client-kotlin |
Consultez nos SDK client pour vous connecter au serveur Llama Stack dans votre langage préféré. Vous pouvez choisir parmi les langages de programmation Python, Node, Swift et Kotlin pour créer rapidement vos applications.
Vous pouvez trouver d'autres exemples de scripts avec des SDK clients pour communiquer avec le serveur Llama Stack dans notre référentiel llama-stack-apps.