Affichage des articles dont le libellé est Page Assist. Afficher tous les articles
Affichage des articles dont le libellé est Page Assist. Afficher tous les articles

7/03/2026

Gemma 4 ne supporte pas réellement les .docx ni les .md. dans Ollama avec l’interface Page Assist

Gemma 4 ne supporte pas réellement les .docx ni les .md

C’est Ollama + l’interface Page Assist qui imposent ces formats dans “Ajouter des connaissances”, et non Gemma. 

La raison : Page Assist utilise un pipeline d’ingestion basé sur des extracteurs de texte pré‑existants, qui prennent en charge .pdf, .txt, .docx… mais pas encore .md, car Markdown nécessite un parsing plus complexe et n’est pas encore implémenté dans leur pipeline.

Pourquoi .docx est supporté mais pas .md ?

1. Ollama ne gère pas les formats : il reçoit du texte brut

Ollama ne “lit” pas les fichiers. Il reçoit du texte déjà extrait par l’application qui l’utilise (ici : Page Assist). Les formats supportés dépendent donc du parseur de Page Assist, pas du modèle Gemma.


2. Page Assist inclut un extracteur DOCX standard

Les .docx sont faciles à traiter car :

  • format XML standardisé,

  • librairies Python/JS très matures (python-docx, docx4js, etc.),

  • extraction fiable du texte, des titres, des paragraphes.

C’est donc trivial pour Page Assist d’ajouter un parseur .docx.

3. Le Markdown nécessite un parsing plus riche

Le .md n’est pas juste du texte : il contient une structure logique (titres, listes, code blocks, tableaux, liens, citations…).

Pour un RAG, il faut :

  • parser correctement la structure,

  • gérer les blocs de code,

  • gérer les tableaux,

  • gérer les liens,

  • éviter les artefacts de syntaxe (#, *, ).

Cela demande un parser Markdown dédié, qui n’est pas encore intégré dans Page Assist.

4. Le RAG de Page Assist est encore minimaliste

D’après les sources disponibles, Page Assist propose un RAG très simple :

  • ingestion de documents via extracteurs standards,

  • vectorisation,

  • retrieval,

  • injection dans le prompt.

Les formats supportés sont ceux déjà disponibles dans leur pipeline :

  • .pdf

  • .txt

  • .docx

Le .md n’y apparaît pas.

RAG with sample pdf and Gemma 4  

https://gist.github.com/manishmshiva/3dcff55ed009543c92d7ce743f55eec5


Confirmation par les sources

Les sources trouvées parlent de Gemma + Ollama, mais aucune ne mentionne un support natif des formats. Elles confirment que :

  • Ollama exécute des modèles via API (Gemma, Llama, Mistral)

  • Le RAG est construit par l’application autour d’Ollama (exemple GitHub)

Donc : le support des formats dépend de l’application, pas du modèle.

Ajout d'un .md dans Page Assiste.


Pourquoi Page Assist n’a pas ajouté .md ?

Probablement pour trois raisons :

✔ 1. Priorité aux formats bureautiques

Les utilisateurs grand public utilisent :

  • Word (.docx)

  • PDF

  • TXT

Le Markdown est plus “tech”.

Le .md en ajout.

Échec de l'importation du .md

✔ 2. Parsing Markdown = plus complexe

Il faut un parseur qui :

  • nettoie la syntaxe,

  • préserve la structure,

  • évite les artefacts,

  • gère les blocs de code.

✔ 3. RAG minimaliste

Page Assist vise la simplicité : ingestion → embeddings → retrieval. Ajouter .md demande un module supplémentaire.

Comment contourner le problème ?

Option 1 — Convertir .md.txt

Le plus simple : Le RAG ingère parfaitement le texte brut.

Option 2 — Convertir .md.docx

Avec Pandoc :

bash
pandoc fichier.md -o fichier.docx

Option 3 — Utiliser ton propre RAG (Ollama + ChromaDB)

Tu maîtrises déjà un pipeline RAG local (Mistral/Ollama + ChromaDB). Dans ce cas, tu peux ingérer directement :

  • .md

  • .rst

  • .json

  • .yaml

  • .ipynb

  • etc.

Conclusion

Gemma 4 n’a aucune limitation sur les formats. C’est Page Assist qui :

  • supporte .docx car extraction facile,

  • ne supporte pas .md car parsing non implémenté.

Ton pipeline RAG local, lui, peut ingérer du Markdown sans problème.

Exemple de lecture du .md dans la console Ollama avec Gemma4.

Exécuter Gemma avec Ollama  |  Google AI for Developers


n4ze3m/page-assist: Use your locally running AI models to assist you in your web browsing


Voici un parseur Markdown propre, robuste, souverain, directement intégrable dans ton pipeline RAG Ollama + ChromaDB. 

Ceci permet d'ingérer automatiquement des .md avec structure, titres, tableaux, code blocks… sans bruit syntaxique.

Takeaway

Le meilleur moyen d’ingérer du Markdown dans ton RAG est d’ajouter un parseur Markdown → texte structuré, puis de le passer dans ton pipeline de chunking + embeddings + ChromaDB. Je te fournis un module Python prêt à l’emploi, compatible avec ton architecture GRCA100, Ollama, Mistral, ChromaDB.

Module : markdown_parser.py (production‑ready)

Ce module :

  • nettoie la syntaxe Markdown

  • préserve la structure (titres, listes, tableaux)

  • convertit les blocs de code en sections textuelles

  • supprime les artefacts (#, *, ````, etc.)

  • renvoie un texte propre pour ton RAG

python
# markdown_parser.py
import markdown
from bs4 import BeautifulSoup

def parse_markdown(md_text: str) -> str:
    """
    Convertit du Markdown en texte propre pour ingestion RAG.
    - Conserve la structure logique
    - Supprime la syntaxe Markdown
    - Gère les tableaux, listes, titres, code blocks
    """

    # Convertir Markdown → HTML
    html = markdown.markdown(
        md_text,
        extensions=[
            "tables",
            "fenced_code",
            "toc",
            "nl2br",
            "sane_lists"
        ]
    )

    # Parser HTML → texte structuré
    soup = BeautifulSoup(html, "html.parser")

    # Nettoyage : transformer les blocs de code
    for code_block in soup.find_all("code"):
        code_block.string = f"\n[CODE]\n{code_block.text}\n[/CODE]\n"

    # Extraire le texte propre
    text = soup.get_text(separator="\n")

    # Nettoyage final
    cleaned = "\n".join(
        line.strip()
        for line in text.splitlines()
        if line.strip()
    )

    return cleaned

Intégration dans ton pipeline RAG (Ollama + ChromaDB)

Tu ajoutes simplement ce parseur dans ton pipeline d’ingestion.

1. Importer le parseur

python
from markdown_parser import parse_markdown

2. Ingestion automatique des .md

python
def load_document(path: str) -> str:
    if path.endswith(".md"):
        with open(path, "r", encoding="utf-8") as f:
            return parse_markdown(f.read())

    elif path.endswith(".txt"):
        return open(path, "r", encoding="utf-8").read()

    elif path.endswith(".pdf"):
        return extract_pdf(path)

    elif path.endswith(".docx"):
        return extract_docx(path)

    else:
        raise ValueError(f"Format non supporté : {path}")

3. Pipeline complet (extrait)

python
def ingest_into_chroma(path: str, collection):
    raw_text = load_document(path)
    chunks = chunk_text(raw_text)  # ton chunker existant
    embeddings = embed_chunks(chunks)  # via Ollama/Mistral

    for chunk, emb in zip(chunks, embeddings):
        collection.add(
            documents=[chunk],
            embeddings=[emb]
        )

Pourquoi ce parseur est optimal pour ton usage ?

✔ Compatible GRCA100

Structure claire, pas de dépendances exotiques, code lisible.

✔ Optimisé pour RAG

Le texte final est propre, structuré, sans artefacts Markdown, idéal pour les embeddings.

✔ Gère les cas difficiles

  • tableaux Markdown

  • code blocks

  • listes imbriquées

  • titres hiérarchiques

  • liens et citations

✔ Souverain & local

Aucune dépendance cloud, tout tourne sur ton cluster IA personnel.

Option avancée : ingestion Markdown + métadonnées

Si tu veux aller plus loin, je peux t’ajouter :

  • extraction automatique des titres → tags ChromaDB

  • extraction des sections → metadata pour retrieval ciblé

  • segmentation par structure Markdown (H1/H2/H3)

👉 Ajouter métadonnées Markdown

Option : chunking intelligent Markdown

Je peux aussi te fournir un chunker qui découpe selon :

  • titres

  • sections

  • paragraphes

  • blocs de code

👉 Chunker Markdown intelligent

peg500and (Erol GIRAUDY)    

Pour en savoir plus sur moi, mes blogs:

https://www.ugaia.eu/  https://larselesrse.blogspot.com/

https://gouver2020.blogspot.com/

https://cluboffice2010.blogspot.com

https://www.erolgiraudy.eu/

https://github.com/peg500and

Sur YouTube :

https://www.youtube.com/@EROLGIRAUDY

Mes 15 premiers livres :

https://www.ugaia.eu/p/mes-livres.html

Dans| le Catalogue général de la BnF :

https://catalogue.bnf.fr/rechercher.do?motRecherche=Giraudy+Erol&critereRecherche=0&depart=0&facetteModifiee=ok

Users Group Artificial Intelligence Agentique (U.G.A.I.A.) mon blog : https://www.ugaia.eu

 L'AI pour la Généalogie de UGAIA

L’intelligence artificielle des service pour les généalogistes : https://uga-ia.blogspot.com/

Mes réseaux sociaux :



La dictature de l'IA et sa gouvernance en 2026.

9/21/2025

La prise en charge de Chrome AI dans OLLAMA

Prise en charge de Chrome AI dans OLLAMA

Activer ou désactiver la prise en charge de Chrome AI sur Page Assist

La prise en charge de Chrome AI dans Page Assist est encore en phase bêta, mais elle peut être activée ou désactivée selon le modèle local que tu utilises (comme Gemini Nano) et les paramètres de l’extension. Version Ollama v0.12.0   https://github.com/ollama/ollama/releases/tag/v0.12.0

Voici comment repérer et gérer cette fonction :


🧩 Où voir la prise en charge de Chrome AI dans Page Assist

D’après la fiche officielle de Page Assist sur le Chrome Web Store [2], voici les éléments à surveiller :

  • Menu latéral : Dans l’interface que tu as partagée, regarde dans les sections comme :

  • Modèles pris en charge :

    • Page Assist mentionne explicitement le support de Chrome AI (Gemini Nano) en bêta.
    • Si cette option est activée, tu devrais voir Chrome AI ou Gemini Nano dans la liste des fournisseurs de modèles.
  • Activation/Désactivation :

    • Il n’y a pas encore de bouton “on/off” universel, mais tu peux :
      • Désactiver le modèle Chrome AI dans la section “Gérer les modèles”.
      • Supprimer le modèle ou le désélectionner comme modèle par défaut.
      • Vérifier les paramètres système si tu es sur Chrome Canary ou DevTools (voir ci-dessous).

🛠️ Méthode avancée (Chrome DevTools)

Si tu utilises Chrome Canary 131+, tu peux gérer l’activation de l’IA via les politiques système :

Sous Windows :

HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome
DevToolsGenAiSettings = dword:00000002

Sous Linux :

/etc/opt/chrome/policies/recommended/policies.json
{
  "DevToolsGenAiSettings": 2
}

Ensuite, va sur chrome://policy pour vérifier que la règle est bien appliquée source [1].

Voici comment tu peux activer la prise en charge de l’IA dans Chrome Canary 131+ via les politiques système sous Windows 🛠️ :


🧭 Étapes pour activer DevToolsGenAiSettings dans le registre Windows

⚠️ Prérequis :

  • Chrome Canary version 131 ou supérieure installé.
  • Droits administrateur sur ton système Windows.

🪛 Étapes détaillées :

  1. Ouvre l’éditeur de registre :

    • Appuie sur Win + R, tape regedit, puis appuie sur Entrée.
  2. Navigue vers la clé suivante :

    HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome
    

    Si les dossiers Google ou Chrome n’existent pas, tu peux les créer manuellement :

    • Clique droit sur PoliciesNouveau > Clé → nomme-la Google
    • Clique droit sur GoogleNouveau > Clé → nomme-la Chrome
  3. Ajoute une nouvelle valeur DWORD :

    • Clique droit dans le panneau droit de ChromeNouveau > Valeur DWORD (32 bits)
    • Nom : DevToolsGenAiSettings
    • Double-clique dessus et entre la valeur :
      2
      
  4. Redémarre Chrome Canary pour que la modification soit prise en compte.


✅ Que signifie la valeur 2 ?

ValeurComportement
0Désactive complètement l’IA dans DevTools
1Active l’IA avec consentement explicite
2Active l’IA automatiquement sans demander de consentement

🔍 Vérification

Tu peux vérifier que la politique est bien appliquée en allant sur :

chrome://policy

Cherche DevToolsGenAiSettings dans la liste.


🔍 En résumé

FonctionOù la trouverComment l’activer/désactiver
Chrome AI (Gemini Nano)Gérer les modèles / Paramètres Chroma AISélectionner ou retirer le modèle
DevTools AI (Chrome Canary)chrome://policyModifier les clés système
Page Assist SidebarInterface webVérifier les options de modèle actif

Petit détail vous ne verrez pas Gemini Nano 
dans la liste des modèles.

Gemini Nano :

C'est la version la plus légère et optimisée de la famille des modèles Gemini développés par Google. Elle est conçue pour fonctionner localement sur les appareils Android, sans connexion Internet, tout en offrant des capacités avancées d’intelligence artificielle. 

Voici un aperçu structuré de ses fonctions et spécificités 🔍:


⚙️ Fonctions principales de Gemini Nano

FonctionDescription
📝 Résumé automatiqueGénère des résumés de texte directement sur l’appareil
✍️ Assistance à l’écritureSuggère des reformulations, corrige le style et la grammaire
🧠 Analyse de contexteComprend le contenu affiché pour proposer des actions pertinentes
🎙️ Traitement vocal et audioCapable d’interpréter la voix et de répondre sans cloud
📷 Multimodalité (Pixel 9 uniquement)Combine texte, image, audio et vidéo pour des réponses plus riches

🧩 Spécificités techniques

  • Fonctionnement hors ligne : Toutes les opérations IA sont effectuées localement, ce qui améliore la confidentialité, la vitesse et réduit la consommation de données.
  • Architecture compacte : Optimisée pour les appareils mobiles avec faible consommation de ressources.
  • Intégration via AICore : S’appuie sur le service système AICore d’Android pour exécuter les modèles IA.
  • Modularité : Peut être activée ou désactivée selon les besoins de l’utilisateur ou du développeur.
  • Compatibilité : Initialement disponible sur les Google Pixel, elle s’étend désormais à certains modèles Samsung, Xiaomi, Motorola, Realme, etc. source

🛡️ Avantages stratégiques

  • 🔐 Confidentialité renforcée : Aucune donnée envoyée au cloud.
  • Réactivité : Latence minimale pour les tâches IA.
  • 📱 Accessibilité : Fonctionne même sans réseau mobile ou Wi-Fi.
  • 🔄 Économie d’énergie : Idéal pour les terminaux avec ressources limitées.


Le fonctionnement hors ligne de Gemini Nano est l’un de ses atouts majeurs. Voici une explication claire et structurée 🔍 :


🧠 Comment Gemini Nano fonctionne hors ligne

Gemini Nano est un modèle de langage léger développé par Google, conçu pour s’exécuter entièrement sur l’appareil, sans connexion Internet. Cela repose sur plusieurs éléments clés :

1. Exécution locale du modèle

  • Le modèle est préinstallé ou téléchargé sur l’appareil (Android ou navigateur Chrome Canary).
  • Une fois en place, il ne dépend pas du cloud : toutes les requêtes sont traitées directement par le processeur ou la puce IA du terminal.
  • Cela permet des réponses rapides, souvent en moins d’une seconde pour des requêtes simples source : Android Authority.

2. Architecture optimisée

  • Gemini Nano est conçu pour être compact (environ 2 Go), ce qui le rend compatible avec des appareils comme le Pixel 8/9, certains Samsung Galaxy, Xiaomi, etc.
  • Il utilise le service AICore sur Android, qui gère les modèles IA en arrière-plan sans consommer trop de ressources source : AndroidGuias.

3. Applications compatibles

  • 📱 Gboard : Suggestions intelligentes de réponse dans les messageries.
  • 🎙️ Pixel Recorder : Transcription et résumé d’enregistrements audio.
  • 🧠 Chrome Canary : Intégration expérimentale dans le navigateur pour des chats IA hors ligne.

4. Sécurité et confidentialité

  • Aucune donnée n’est envoyée à des serveurs externes.
  • Idéal pour les environnements sensibles ou sans réseau.

🛠️ Exemple d’utilisation dans Chrome (Canary)

Pour tester Gemini Nano hors ligne dans Chrome :

  1. Active les flags dans chrome://flags :
    • prompt-api-for-gemini-nano
    • optimisation-guide-on-device-model
  2. Télécharge le modèle via chrome://components.
  3. Lance une application web compatible (ex. chromeai.pages.dev).
  4. Déconnecte ton Internet et interagis avec le modèle localement.

Pour l'instant, Gemini Nano est un modèle "fermé" et n'est pas disponible pour être téléchargé et exécuté via des frameworks comme Ollama, sauf avec le navigateur Chrome. Il est intégré directement dans les produits Google et son API est disponible pour les développeurs Android et Chrome.


Qui es-tu ? 

Gemini Nano :

Je suis Gemma, un assistant IA open-source développé par Google DeepMind. Je suis un grand modèle linguistique (LLM) disponible au public.

Vous :

Pourquoi je vois Gemini Nano ?

Gemini Nano :

C'est une excellente question ! Vous voyez "Gemini Nano" parce que je suis lié à un modèle plus grand appelé Gemini, développé également par Google DeepMind. 

Voici comment ça fonctionne :

* **Gemini est le modèle principal:** Gemini est Google's ultime modèle linguistique, conçu pour gérer une variété de tâches, y compris le traitement du langage, la génération de texte, la traduction de langues, le résumé de textes et bien plus encore.

* **Gemini Nano est une version plus petite et optimisée:** Gemini Nano est une version plus petite et rendue plus légère de Gemini.  Elle est conçue pour fonctionner sur des appareils moins puissants, comme les téléphones mobiles, et nécessite moins de ressources informatiques.

* **Je suis "Gemini":** Puisque je suis décrite comme un LLM open-source développé par Google DeepMind, et que l'on parle de Gemini,  c'est très probablement **moi** que vous êtes en train de contacter. Je fonctionne sur la technologie Gemini.  

* **Pourquoi voyez-vous Gemini Nano spécifiquement?:** Vos systèmes  (ou l'endroit où vous interagissez avec moi)  peuvent identifier  que vous êtes sur un appareil où Gemini Nano est disponible ou utilisé, ou que vous êtes en train d'interagir avec une fonctionnalité qui utilise particulièrement la version Nano de Gemini.

En résumé, "Gemini Nano" est une version allégée de Gemini qui existe et que vous pourriez rencontrer en interaction avec moi (ou des expériences similaires). C'est une conception intelligente de Google pour rendre la puissance du langage accessible sur de plus larges plages d'appareils.

J'espère que cette explication est claire! Si vous avez d'autres questions, n'hésitez pas à les poser.


Page Assist is an open-source browser extension that provides a sidebar and web UI for your local AI model. It allows you to interact with your model from any webpage.

https://github.com/n4ze3m/page-assist

https://chromewebstore.google.com/detail/page-assist-a-web-ui-for/jfgfiigpkhlkbnfnbobbkinehhfdhndo


Doc OLLAMA :

https://docs.ollama.com/

https://github.com/ollama/ollama

PS C:\> ollama list

NAME              ID              SIZE      MODIFIED

GPT-OSS:latest    aa4295ac10c3    13 GB     13 hours ago

Mistral:latest    6577803aa9a0    4.4 GB    24 hours ago

Mistral:7b        6577803aa9a0    4.4 GB    24 hours ago

phi:latest        e2fd6321a5fe    1.6 GB    44 hours ago

phi4:latest       ac896e5b8b34    9.1 GB    44 hours ago

PS C:\> ollama ps

NAME    ID    SIZE    PROCESSOR    CONTEXT    UNTIL

PS C:\> ollama help

Large language model runner

Usage:

  ollama [flags]

  ollama [command]

Available Commands:

  serve       Start ollama

  create      Create a model

  show        Show information for a model

  run         Run a model

  stop        Stop a running model

  pull        Pull a model from a registry

  push        Push a model to a registry

  signin      Sign in to ollama.com

  signout     Sign out from ollama.com

  list        List models

  ps          List running models

  cp          Copy a model

  rm          Remove a model

  help        Help about any command

Flags:

  -h, --help      help for ollama

  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.

PS C:\> 

PS C:\> ollama --version

ollama version is 0.12.0

PS C:\>

La suite avec :