Changelog | Documentation | Playground | Status | Swagger
Albert API, initiative d'Etalab dans le cadre du programme ALLiaNCE, est un framework open source d'IA générative comprenant :
- une API gateway vers des clients API d'IA générative
- des fonctionnalités avancées comme du RAG (Retrieval Augmented Generation)
Ce framework, destiné à un environnement de production soumis à des contraintes de performance, a pour objectif d'être simple, léger et rapide tout en couvrant les fonctionnalités essentielles de l'état de l'art en la matière.
En se basant sur les conventions définies par OpenAI, Albert API expose des endpoints qui peuvent être appelés avec le client officiel python d'OpenAI. Ce formalisme permet une intégration aisée avec des bibliothèques tierces comme Langchain ou LlamaIndex.
Si vous êtes un organisme public, vous pouvez demander une clé d'accès à Albert API en remplissant le formulaire sur le site ALLiaNCE.
L'API Albert permet d'être un proxy entre des clients API d'IA générative et d'assurer du load balancing entre les différents clients :
Client | Supported version | Supported model types |
---|---|---|
OpenAI | latest | • language • embeddings • reranking • transcription |
vLLM | v0.6.6.post1 | • language |
HuggingFace Text Embeddings Inference (TEI) | v1.5 | • embeddings • reranking |
- accès à un vector store avec Elasticsearch pour la recherche de similarité (lexicale, sémantique ou hybride) ou Qdrant pour la recherche sémantique uniquement.
- authentification par clé API
L'API Albert expose une interface utilisateur permettant de tester les différentes fonctionnalités, consultable ici.
L'API Albert permet de converser avec différents modèles de langage.
L'API Albert permet d'accéder à un ensemble de modèles de langage et d'embeddings grâce à une API unique.
L'API Albert permet d'interroger des documents dans une base vectorielle. Ces documents sont classés dans des collections. Vous pouvez créer vos collections privées et utiliser les collections publiques déjà existantes. Enfin, une collection "internet" permet d'effectuer une recherche sur internet pour compléter la réponse du modèle.
L'API Albert permet d'importer sa base de connaissances dans une base vectorielle. Cette base vectorielle peut ensuite être utilisée pour faire de la RAG (Retrieval Augmented Generation).
L'API Albert permet de transcrire un fichier audio à l'aide d'un modèle Whisper.
Vous trouverez ici des ressources de documentation :
- Documentation de l'API
- Documentation swagger de l'API
- Documentation technique de l'API
- Repository HuggingFace
Albert API est un projet open source, vous pouvez contribuer au projet en lisant notre guide de contribution.
Pour déployer l'API Albert sur votre propre infrastructure, suivez la documentation.
-
Complétez le fichier config.example.yml à la racine du dépot la configuration de vos API de modèles (voir la documentation déploiement pour plus d'informations).
-
Complétez le fichier compose.yml à la racine du dépot avec les variables d'environnement nécessaires.
-
Déployez l'API avec Docker à l'aide du fichier compose.yml à la racine du dépot.
docker compose up --detach