smart_ide/docs/features/langextract-api.md
Nicolas Cantu ac96434351 docs: centralize README content under docs/repo/
**Motivations:**
- Single canonical documentation tree under docs/; reduce drift between README copies.

**Evolutions:**
- Add docs/repo/ with operational guides (cron, systemd, projects, logs, docv, ia_dev, services, scripts, extension).
- Replace scattered README.md files with pointers to docs/repo/*.md.
- Refresh docs/README.md index and cross-links across docs/, .cursor rules/agents.
- Bump ia_dev submodule to matching doc pointer commits.
2026-04-03 18:20:31 +02:00

2.2 KiB
Raw Permalink Blame History

LangExtract — API locale (services/langextract-api)

Objectif

Exposer LangExtract (Google, Apache-2.0) comme service HTTP local : à partir dun texte, dune consigne et dexemples few-shot, produire des extractions structurées (classes, attributs, texte extrait) avec ancrage dans le texte lorsque le modèle et la librairie le fournissent (char_interval).

Périmètre

  • Pas de logique métier supplémentaire : lAPI se limite à valider le JSON, appeler langextract.extract, sérialiser le résultat.
  • Les modèles cloud (Gemini, etc.) suivent la configuration amont (clés API, quotas).
  • Les modèles locaux passent typiquement par Ollama (model_url, options fence_output / use_schema_constraints selon la doc amont).

Exploitation

Élément Détail
Code repo/service-langextract.md
Hôte / port 127.0.0.1 et port par défaut 37141 (voir README)
Auth Si LANGEXTRACT_SERVICE_TOKEN est défini : en-tête Authorization: Bearer … obligatoire sur POST /extract
Santé GET /health

Schéma de requête (POST /extract)

Champs principaux : text, prompt_description, examples[] (text, extractions[] avec extraction_class, extraction_text, attributes), model_id, et options optionnelles alignées sur lAPI Python (model_url, extraction_passes, max_workers, max_char_buffer, api_key, fence_output, use_schema_constraints).

Réponse : { "documents": [ { "extractions": [ … ] } ] } avec, par extraction, extraction_class, extraction_text, attributes, et char_interval { "start", "end" } si présent.

Intégration architecture

Ce service complète le socle décrit dans system-architecture.md : un client (éditeur type Lapce, gateway, script) peut appeler lextraction structurée sans embarquer Python dans lUI, tant que le réseau local et le token le permettent.

Références