À propos du projet
LangExtract est une bibliothèque Python qui utilise des modèles de langage de grande taille pour extraire des informations structurées à partir de documents textuels non structurés selon des instructions définies par l'utilisateur. Elle est conçue pour des matériaux tels que les notes ou rapports cliniques, identifiant et organisant les détails clés tout en garantissant que les données extraites correspondent au texte source.
Capacités clés décrites dans le README :
- Ancrage source précis : chaque extraction est cartographiée à sa plage de caractères exacte dans le texte source, permettant un surlignage visuel pour la traçabilité et la vérification. Les extractions qui ne peuvent pas être localisées dans le source reçoivent char_interval = None et peuvent être filtrées.
- Sorties structurées fiables : le schéma de sortie est piloté par des exemples few-shot, avec génération contrôlée sur des modèles tels que Gemini.
- Gestion de longs documents : le fractionnement du texte, le traitement parallèle et plusieurs passes d'extraction visent à améliorer le rappel sur les documents volumineux.
- Visualisation interactive : génère un fichier HTML interactif autonome pour examiner les entités extraites dans leur contexte original.
- Support flexible des modèles : modèles cloud tels que la famille Google Gemini, modèles OpenAI via une dépendance optionnelle, et modèles open-source locaux via une interface Ollama intégrée. Un système de plugins permet d'enregistrer et de distribuer des fournisseurs de modèles personnalisés en tant que packages séparés.
- Adaptabilité au domaine : les tâches d'extraction sont définies avec une invite et quelques exemples, sans affinement du modèle.
L'utilisation typique consiste à définir une invite et des exemples d'extraction, à appeler lx.extract avec du texte ou des URLs de document, à sauvegarder les résultats en JSONL, et à générer une visualisation HTML. Des options incluent extraction_passes, max_workers et max_char_buffer pour l'adaptation aux documents plus longs, ainsi que les configurations de traitement par lots Vertex AI et OpenAI pour les charges importantes.
L'installation est disponible depuis PyPI (pip install langextract), depuis les sources avec pyproject.toml, ou via Docker. Les modèles cloud nécessitent une clé API, configurable via des variables d'environnement, un fichier .env, des paramètres directs ou des comptes de service Vertex AI. Le projet comprend des outils de test et de développement tels que pytest, tox, pylint et des hooks pre-commit.
Le README indique qu'il ne s'agit pas d'un produit officiellement pris en charge par Google et que l'utilisation est soumise à la licence Apache 2.0, avec des conditions supplémentaires pour les applications liées à la santé.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.