Vue lecture

LangExtract - La nouvelle pépite de Google pour extraire des données structurées avec l'IA

Il y a des combats comme cela auxquels pas grand monde ne pense et qui pourtant sont très importants. Je parle évidemment de la lutte contre le chaos du texte non structuré. Si vous avez déjà essayé d'extraire des données propres d'un tas de PDF (après OCR), de rapports ou de notes griffonnées, vous voyez de quoi je parle : c'est l'enfer ! (oui j'aime me faire du mal en tentant des regex impossibles).

Heureusement, Google a lâché début janvier 2026 une petite pépite en open source (même si c'est pas un produit "officiel") qui s'appelle LangExtract . C'est une bibliothèque Python qui utilise la puissance des LLM pour transformer vos documents textuels en données JSON bien rangées.

Exemple d'extraction sur le texte de Roméo et Juliette ( Source )

Ce qui fait que LangExtract sort du lot par rapport à d'autres outils comme Sparrow , c'est surtout son système de Source Grounding. En gros, chaque info extraite est directement liée à sa position exacte dans le texte source. Ça facilite énormément la vérification et la traçabilité puisque vous pouvez voir visuellement d'où vient la donnée grâce à un système de surlignage automatique.

Sous le capot, l'outil est optimisé pour les documents à rallonge (le fameux problème de l'aiguille dans une botte de foin). Il utilise des stratégies de découpage de texte et de passes multiples pour améliorer le rappel et s'assurer que le maximum d'infos soit capturé.

La visualisation interactive permet de valider les données en un clin d'œil ( Source )

Et cerise sur le gâteau, il permet de générer un fichier HTML interactif pour visualiser les milliers d'entités extraites dans leur contexte original. À la cool !

Côté installation, c'est hyper fastoche :

pip install langextract

Pour faire le job, vous avez le choix des armes : les modèles cloud de Google (Gemini 2.5 Flash/Pro), ceux d'OpenAI (via pip install langextract[openai]), ou carrément du local avec Ollama . Pas besoin de passer des heures à fine-tuner un modèle, il suffit de fournir quelques exemples structurés via le paramètre examples et hop, c'est parti mon kiki.

Voici à quoi ça ressemble sous le capot pour lancer une machine à extraire :

import langextract as lx

# 1. On définit les règles du jeu
prompt = "Extraire les noms de personnages et leurs émotions."

# 2. On donne un exemple (few-shot) pour guider le modèle
examples = [
 lx.data.ExampleData(
 text="ROMEO. But soft! What light...",
 extractions=[lx.data.Extraction(extraction_class="character", extraction_text="ROMEO", attributes={"emotion": "wonder"})]
 )
]

# 3. On lance l'extraction (nécessite une clé API ou Ollama)
results = lx.extract(
 text_or_documents="votre_texte_brut_ici",
 prompt_description=prompt,
 examples=examples,
 model_id="gemini-2.5-flash"
)

# 4. On sauvegarde et on génère la visualisation HTML
lx.io.save_annotated_documents(results, output_name="results.jsonl")
html_content = lx.visualize("results.jsonl")
with open("view.html", "w") as f:
 f.write(html_content)

Honnêtement, je ne sais pas si ça va remplacer les solutions industrielles de RPA , mais pour un dev qui veut structurer du texte sans se prendre la tête, c'est vraiment impressionnant. Que vous fassiez du Grist ou de l'analyse de données pure, cet outil mérite clairement que vous y jetiez un œil !

Source

  •  

Bose libère l'API de ses enceintes SoundTouch avant leur fin de vie

Si comme moi vous avez une enceinte Bose SoundTouch qui traîne chez vous, vous avez peut-être appris que la bestiole allait bientôt perdre son cerveau "cloud". Bose a en effet annoncé la fin du support pour le 6 mai 2026, et de ce que j'ai compris, ça veut dire que votre enceinte va se transformer en brique connectée qui ne se connecte plus à grand chose.

Sauf que non !

Bose a fait un truc plutôt cool puisqu'ils ont publié la documentation complète de l'API locale de leurs enceintes . Du coup, même quand les serveurs Bose fermeront boutique, vous pourrez continuer à bidouiller votre enceinte en local.

Perso, j'ai une petite SoundTouch 10 qui fait bien le boulot depuis des années, donc cette nouvelle me fait plutôt plaisir ! L'API tourne sur deux ports : le 8090 pour les commandes REST classiques (volume, presets, now_playing...) et le 8080 en WebSocket pour les notifications en temps réel. Le protocole s'appelle "gabbo", et avec ça, y'a de quoi faire le ménage dans vos automatisations.

Un petit curl http://votre-enceinte:8090/volume et vous récupérez le niveau sonore. Un autre sur /presets et vous avez vos stations favorites. Et comme la découverte se fait en SSDP ou MDNS, ça s'intègrera nickel avec n'importe quel système domotique.

Et visiblement la communauté n'a pas attendu pour s'y mettre puisqu'il y a déjà plus d'une centaine de projets sur GitHub qui exploitent cette API. Le plus abouti c'est probablement SoundTouchPlus pour Home Assistant, qui permet de contrôler toute la famille d'enceintes depuis votre dashboard.

Après ce qui va disparaître avec le cloud, c'est surtout les presets synchronisés et le streaming direct depuis l'app Bose. Mais le Bluetooth, l'AirPlay, Spotify Connect et le multiroom resteront fonctionnels et avec l'API locale, vous pouvez recréer vos presets en dur. Ouf !

C'est un peu le même délire que ce qui s'est passé avec les thermostats Nest ... quand le fabricant lâche l'affaire, c'est la communauté qui prend le relais sauf qu'ici, Bose joue le jeu en documentant proprement leur API avant de couper les serveurs. Et ça, c'est suffisamment rare pour être souligné !

Voilà... Si vous avez des SoundTouch, allez jeter un œil à l'API avant mai, histoire de préparer votre migration vers du 100% local.

Source

  •  
❌