Description
magentic est une bibliothèque Python conçue pour simplifier l'intégration des grands modèles de langage (LLM) dans vos projets Python. Elle permet aux développeurs de traiter les interactions LLM comme des fonctions Python standard, en utilisant des décorateurs tels que `@prompt` et `@chatprompt` pour définir des invites et recevoir des sorties structurées. Cette approche facilite la création de systèmes agentiques sophistiqués en combinant de manière transparente les capacités des LLM avec le code Python existant et les outils externes.
Lire la suite
La fonctionnalité principale de magentic tourne autour de ses décorateurs, qui transforment les fonctions Python en opérations alimentées par des LLM. Le décorateur `@prompt` permet la création de fonctions qui acceptent des arguments, les insèrent dans un modèle d'invite prédéfini, puis l'envoient à un LLM pour traitement. La sortie du LLM peut être une simple chaîne de caractères ou un objet structuré, tel qu'un modèle Pydantic, grâce aux annotations de type. Le décorateur `@chatprompt` étend cela en permettant l'utilisation de modèles de messages de chat, y compris des messages système, des messages utilisateur et des messages assistant, ce qui est particulièrement utile pour le few-shot prompting et la fourniture de contexte.
magentic prend en charge des fonctionnalités avancées telles que l'appel de fonctions, où le LLM peut décider d'invoquer des fonctions Python spécifiques avec des arguments fournis. Le décorateur `@prompt_chain` améliore encore cela en permettant aux LLM de chaîner les appels de fonctions, en utilisant la sortie d'un appel comme entrée pour le suivant, jusqu'à ce qu'une réponse finale soit atteinte. Pour les applications en temps réel, magentic offre des capacités de streaming pour les sorties textuelles et structurées, permettant aux développeurs de traiter les données au fur et à mesure de leur génération. La programmation asynchrone est également bien prise en charge, permettant des requêtes LLM concurrentes pour accélérer considérablement les temps de génération.
La bibliothèque bénéficie d'un large support de fournisseurs de LLM, y compris OpenAI, Anthropic et Ollama, avec des configurations pour diverses API compatibles avec OpenAI. Cette flexibilité permet aux développeurs de choisir le LLM qui correspond le mieux à leurs besoins et à leur budget. magentic met également l'accent sur l'expérience développeur avec des fonctionnalités telles que les annotations de type pour une meilleure intégration IDE et l'observabilité grâce à l'intégration OpenTelemetry et Logfire. Il est conçu pour les développeurs cherchant à construire des applications intelligentes, des agents IA et des flux de travail complexes qui exploitent la puissance des LLM dans un environnement Python familier.
- CatégorieCréateurs d'agents IA
- Modèle tarifaireOpen source
- DéploiementCloud
- PlateformesWeb
Fonctionnalités principales de magentic
Intégrer les LLM en tant que fonctions Python à l'aide de décorateurs.
Définir des invites avec @prompt et des messages de chat avec @chatprompt.
Générer des sorties structurées à l'aide de modèles Pydantic et de types Python.
Prise en charge des tentatives assistées par LLM pour améliorer l'adhérence au schéma de sortie.
Observabilité avec intégration OpenTelemetry et Pydantic Logfire.
Options de configuration pour plusieurs fournisseurs de LLM (OpenAI, Anthropic, Ollama).
Appel de fonctions et chaînage pour des flux de travail LLM complexes.
Streaming de sorties textuelles et structurées pour le traitement en temps réel.
Support des fonctions asynchrones pour les requêtes LLM concurrentes.
Annotations de type pour un support IDE et un linting améliorés.
Prise en charge des capacités de vision dans les interactions LLM.
Premiers pas avec magentic
Cloner le dépôt : git clone https://github.com/jackmpcollins/magentic.git
Installer les dépendances : pip install magentic
Configurer la clé API LLM : Définir les variables d'environnement comme OPENAI_API_KEY.
Définir les fonctions LLM : Utiliser les décorateurs @prompt ou @chatprompt.
Exécuter les fonctions LLM : Appeler les fonctions Python décorées.
Intégrer les sorties : Utiliser les sorties structurées ou les données streamées dans votre application.
Cas d'utilisation de magentic
- Développement d'agents IA
- Extraction de données structurées
- Génération de contenu
- Flux de travail automatisés
- Développement de chatbots
- Intégration d'outils
- Assistance à l'analyse de données








