ESPACE PUBLICITAIRE DISPONIBLE · PARLONS-EN

Comment utiliser Kimi pour l'analyse de documents longs et l'extraction multi-fichiers

365Finds Editorial
11 430 articles Wiki répertoriés

Utilisez 365 Wiki avec votre IA

Copiez le prompt ci-dessous, collez-le dans l’IA que vous utilisez déjà, puis posez directement votre question.

Télécharger le Skill complet

Commencez par essayer le prompt. Si vous utilisez souvent 365 Wiki, installez le Skill 365Wiki complet pour ne plus avoir à le coller. Sans IA habituelle, les versions web de Gemini ou Microsoft Copilot conviennent aussi.

L'analyse de documentations techniques denses, de rapports financiers de plusieurs centaines de pages et de contrats commerciaux multipartites dépasse régulièrement les capacités des outils d'IA conventionnels limités par des fenêtres de contexte réduites. Développé par Moonshot AI, Kimi résout ce goulot d'étranglement grâce à un raisonnement natif sur contextes ultra-longs, prenant en charge jusqu'à un million de tokens sur ses modèles phares, associé à un traitement multi-documents robuste. Ce guide explique comment utiliser Kimi pour analyser des documents volumineux individuels, réaliser des extractions d'informations comparatives entre plusieurs fichiers, tirer parti de la mise en cache de contexte (Context Caching) dans des pipelines automatisés et appliquer des contrôles rigoureux de vérification au sein de flux de travail critiques en recherche et en entreprise.

Comprendre l'architecture à contexte long et les spécifications de fichiers de Kimi

Kimi élimine le besoin de découper manuellement les documents en fragments avant d'interroger un modèle d'IA. Ses modèles sous-jacents — notamment Kimi K3, qui repose sur une architecture hybride associant Kimi Delta Attention (KDA) et Gated Multi-Head Latent Attention (MLA) — permettent une compréhension globale portant sur des centaines de milliers de mots, sans perte de cohérence ni omission de détails enfouis.

Formats de fichiers pris en charge et spécifications techniques

Kimi accepte un large éventail de formats de documents et de données sur son interface web, son application de bureau et son API pour développeurs :

Dans les applications destinées aux développeurs, les fichiers téléversés pour l'extraction textuelle reçoivent la mention purpose="file-extract". La taille maximale d'un fichier unique est de 100 MiB. Bien que les organisations disposent par défaut d'un plafond de stockage de 10 GiB, il n'existe aucune limite stricte quant au nombre total de fichiers téléversés. Les utilisateurs de Kimi Web et de Kimi Work peuvent importer jusqu'à 50 documents distincts dans une même session d'analyse.

Extraction de texte versus analyse visuelle native

Kimi distingue nettement le mécanisme d'extraction textuelle du traitement visuel natif :

Guide pas à pas pour l'analyse d'un document long individuel

Qu'il s'agisse d'examiner une thèse universitaire, un rapport financier annuel 10-K ou les conclusions d'un essai clinique, l'analyse d'un document exhaustif avec Kimi s'organise selon un cheminement rigoureux, depuis l'importation jusqu'à la vérification ciblée.

Option A : Exploration interactive de documents via Kimi Web

Cette méthode convient aux analystes, équipes juridiques et professionnels utilisant un navigateur ou l'application de bureau :

  1. Accéder à l'interface : Rendez-vous sur kimi.ai (ou kimi.com) et ouvrez une nouvelle conversation.
  2. Joindre le document : Cliquez sur l'icône de pièce jointe ou glissez-déposez directement le fichier dans la zone de saisie.
  3. Attendre le traitement : Le système analyse le document et affiche une étiquette confirmant l'achèvement de l'extraction intégrale du texte.
  4. Générer un aperçu préliminaire : Demandez une synthèse structurée afin de cerner l'étendue générale du document avant d'aborder des détails précis.
  5. Approfondir de manière interactive : Posez des questions ciblées en référençant des sections spécifiques, des périodes comptables ou des définitions techniques.

Option B : Analyse programmatique de documents via l'API Kimi

Pour les développeurs qui intègrent l'analyse de documents à des pipelines backend automatisés, Kimi propose un point de terminaison d'API compatible OpenAI hébergé à l'adresse https://api.moonshot.cn/v1. La procédure s'exécute en quatre étapes simples :

import os
from pathlib import Path
from openai import OpenAI

# Initialisation du client pointant vers l'API Moonshot
client = OpenAI(
    api_key=os.environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.cn/v1",
)

# Étape 1 : Téléversement du document pour extraction de texte
uploaded_file = client.files.create(
    file=Path("annual_report_2025.pdf"),
    purpose="file-extract",
)

# Étape 2 : Récupération du contenu textuel extrait
extracted_text = client.files.content(file_id=uploaded_file.id).text

# Étape 3 : Injection du texte extrait dans les messages système
system_persona = (
    "You are Kimi, an AI assistant developed by Moonshot AI. Provide accurate, "
    "well-structured, and verified answers based strictly on provided documentation."
)

messages = [
    {"role": "system", "content": system_persona},
    {"role": "system", "content": extracted_text},
    {
        "role": "user",
        "content": "Fournis un résumé exécutif des principaux facteurs de revenus et identifie les trois risques opérationnels majeurs mentionnés dans ce document.",
    },
]

# Étape 4 : Exécution de l'inférence avec Kimi K3
response = client.chat.completions.create(
    model="kimi-k3",
    messages=messages,
    temperature=0.3,
)

print(response.choices[0].message.content)

[!IMPORTANT] Lors de l'interrogation de documents par l'API, récupérez systématiquement la chaîne textuelle extraite et transmettez-la directement dans le tableau messages. Ne transmettez jamais l'identifiant brut file_id comme contenu du message et n'intégrez pas de documents volumineux sous forme de chaînes base64, ce qui provoquerait une consommation superflue de tokens et contournerait les optimisations de traitement de texte.

Modèles de requêtes clés pour l'analyse approfondie d'un document unique

Pour obtenir la meilleure qualité d'extraction à partir d'un texte volumineux, privilégiez des angles d'interrogation précis :

Extraction d'informations et analyse comparative multi-fichiers

L'un des avantages opérationnels majeurs de Kimi réside dans sa faculté d'évaluer simultanément plusieurs documents denses. Au lieu d'examiner les fichiers un par un pour en regrouper manuellement les éléments, vous pouvez injecter plusieurs documents d'un coup afin d'obtenir des synthèses croisées, des comparaisons contractuelles (redlines) et des analyses de tendances chronologiques.

Schéma d'ingestion pour l'analyse multi-fichiers

Dans l'API, chaque document distinct est transmis sous la forme d'un message system individuel placé au début du tableau messages :

def prepare_multi_file_context(file_paths: list[str]) -> list[dict]:
    """Téléverse plusieurs fichiers et génère un message système pour chaque document extrait."""
    file_messages = []
    for path in file_paths:
        file_obj = client.files.create(file=Path(path), purpose="file-extract")
        file_text = client.files.content(file_id=file_obj.id).text
        file_messages.append({"role": "system", "content": file_text})
    return file_messages

# Ingestion de plusieurs rapports annuels ou études concurrentielles
docs = ["filing_2023.pdf", "filing_2024.pdf", "filing_2025.pdf"]
file_messages = prepare_multi_file_context(docs)

multi_doc_messages = [
    *file_messages,
    {"role": "system", "content": system_persona},
    {
        "role": "user",
        "content": (
            "Compare la performance financière sur 2023, 2024 et 2025. "
            "Construis un tableau Markdown comparant les Revenus Totaux, la Marge Opérationnelle "
            "et le Flux de Trésorerie Disponible, suivi d'une explication des variations majeures de marge."
        ),
    },
]

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=multi_doc_messages,
)
print(completion.choices[0].message.content)

Cas d'usage à forte valeur ajoutée en multi-documents

L'analyse conjointe de plusieurs documents au sein d'une même fenêtre de contexte rend possibles des flux de travail avancés :

Cas d'usageDocuments en entréeObjectif d'extraction et de synthèseFormat de restitution
Tendances financières pluriannuellesRapports annuels consécutifs (10-K, états financiers audités)Identifier les trajectoires de croissance du chiffre d'affaires, l'évolution de la dette et des facteurs de risqueTableau comparatif d'indicateurs et analyse des écarts
Comparaison de contrats et alignement des fournisseursContrat-cadre de prestations (MSA) type versus version de la contrepartieRepérer les écarts de plafonds de responsabilité, de droits de propriété intellectuelle, d'indemnisation et de modalités de paiementMatrice de divergence clause par clause
Analyse comparative de la concurrenceLivres blancs techniques, spécifications d'architecture ou fiches produitsComparer le débit d'architecture, la latence, la conformité sécuritaire et les restrictions de licenceListe d'équivalence des fonctionnalités avec analyse d'arbitrage
Synthèse bibliographique interdisciplinaireMultiples articles scientifiques étudiant des hypothèses communesDégager les méthodologies faisant consensus, isoler les résultats expérimentaux contradictoires et cerner les lacunesRevue systématique et thématique de la littérature

Formuler des requêtes comparatives performantes

Lors de la comparaison de plusieurs documents, des questions trop ouvertes comme « dis-moi ce qui change » débouchent souvent sur des généralités. Privilégiez des consignes imposant des axes de comparaison rigoureux :

Optimiser la latence et les coûts grâce au Context Caching

Transmettre des dizaines de pages lors d'échanges conversationnels itératifs peut s'avérer très onéreux en puissance de calcul si le document entier doit être réanalysé à chaque requête. Kimi neutralise ce problème grâce à son moteur automatisé de Context Caching (mise en cache de contexte).

Fonctionnement du Context Caching de Kimi

Le Context Caching stocke l'état calculé d'un long préfixe d'entrée sur les clusters de serveurs. Dès lors que les requêtes successives partagent un contexte initial rigoureusement identique, Kimi ignore le recalcul de ce préfixe et facture une fraction minime du tarif d'entrée standard.

Règle d'architecture essentielle : Garantir la stabilité du préfixe

Pour porter au plus haut le taux de succès du cache, la disposition du tableau messages doit demeurer parfaitement stable. Conservez les composantes statiques de l'invite (contenu des documents, consignes système et règles de mise en page) au début de la liste, et n'ajoutez les nouvelles répliques de dialogue qu'exclusivement à la suite :

# Préfixe fixe des documents (mis en cache entre les tours de parole)
base_context = [
    *file_messages,
    {"role": "system", "content": system_persona},
    {"role": "system", "content": "Format all tabular data in GitHub Flavored Markdown."},
]

# Tour 1
conversation = list(base_context)
conversation.append({"role": "user", "content": "Quel est le montant total des actifs mentionnés ?"})
turn1_reply = client.chat.completions.create(model="kimi-k3", messages=conversation)

# Tour 2 : Préserve le préfixe d'origine, bénéficie du cache de contexte
conversation.append({"role": "assistant", "content": turn1_reply.choices[0].message.content})
conversation.append({"role": "user", "content": "Comment ce montant se compare-t-il aux réserves de trésorerie ?"})
turn2_reply = client.chat.completions.create(model="kimi-k3", messages=conversation)

# Vérification de l'utilisation du cache dans les métadonnées de consommation de tokens
usage = turn2_reply.usage
cached_tokens = getattr(usage.prompt_tokens_details, "cached_tokens", 0)
print(f"Total des Tokens d'Entrée : {usage.prompt_tokens}")
print(f"Tokens Réutilisés depuis le Cache : {cached_tokens}")

Context Caching versus Génération augmentée de récupération (RAG)

Savoir quand intégrer des documents complets dans la fenêtre de contexte de Kimi et quand déployer une architecture externe de RAG vectoriel est essentiel pour équilibrer complexité technique et budget :

Critère d'évaluationLong contexte Kimi avec Context CachingRAG traditionnel par découpage (Chunks)
Intégrité contextuelleContexte global complet ; zéro perte à la récupération ; préserve les tableaux multipages et les dépendances inter-chapitresSujet aux pertes aux frontières de découpage ; risque d'omettre des nuances dispersées entre plusieurs chapitres
Complexité d'ingénierieMinimale : charger le texte et interroger le modèle ; aucun modèle d'embedding, de découpage ni de base vectorielleÉlevée : nécessite des modèles d'embedding, des heuristiques de découpage, le paramétrage d'index vectoriels et des reclasseurs
Profil de latenceTTFT inférieur à 5 secondes une fois le préfixe en cache ; temps de réponse prévisiblesRécupération initiale rapide, mais la latence se cumule lors des phases successives de recherche et de reclassement
Modèle économiqueJusqu'à 90 % d'économie sur préfixe en cache ; très rentable pour des requêtes poussées et répétées sur un corpus fixeCoût brut par requête unitaire plus bas sur des corpus gigantesques, mais frais fixes d'infrastructure vectorielle
Champ d'application idéalAnalyse ciblée de dossiers documentaires restreints (1 à 50 fichiers, audits financiers, due diligence juridique)Recherche d'entreprise généralisée à travers des millions de tickets internes, e-mails ou pages wiki

Bonnes pratiques d'ingénierie d'invite et gouvernance des sorties

Pour obtenir des résultats d'une fiabilité irréprochable lors du dépouillement de centaines de pages, il est indispensable de structurer rigoureusement ses invites, d'encadrer strictement les réponses et de procéder à des contrôles factuels systématiques.

Encadrer les réponses au moyen de règles explicites

Laissés libres de toute consigne, les modèles tendent à produire des développements verbeux et généralistes. Vous pouvez imposer des réponses concises et vérifiables en adjoignant un ensemble de règles spécifiques au message système :

structured_rules = """
Respecte scrupuleusement les contraintes de réponse suivantes :
1. Fournis 5 points au maximum sous forme de puces.
2. Pour chaque affirmation ou donnée chiffrée, cite précisément la section, le numéro de page ou le titre du tableau d'origine.
3. Si une réponse ne peut pas être déduite formellement des fichiers fournis, indique textuellement : "Information non présente dans les documents sources."
4. Ne fais aucune extrapolation, spéculation, ni ne cite de généralités du secteur.
"""

governed_messages = [
    *file_messages,
    {"role": "system", "content": system_persona},
    {"role": "system", "content": structured_rules},
    {"role": "user", "content": "Résume le taux d'attrition des clients et les indicateurs de fidélisation."},
]

Vérification des faits financiers et juridiques à forts enjeux

Même si l'attention sur contexte long de Kimi limite grandement les hallucinations liées à la recherche documentaire, les décisions stratégiques exigent une validation méthodique :

Gestion du stockage et cycle de vie des fichiers

Les fichiers téléversés demeurent rattachés à votre compte pour accélérer les opérations d'extraction et de mise en cache ultérieures, et sont décomptés du quota de stockage alloué à votre organisation (10 GiB par défaut). Dès qu'une phase d'analyse est achevée, supprimez les fichiers temporaires pour libérer l'espace nécessaire aux traitements futurs :

# Suppression d'un fichier donné après analyse
client.files.delete(file_id=uploaded_file.id)

# Nettoyage en lot : lister et supprimer l'ensemble des fichiers temporaires d'extraction
all_files = client.files.list()
for file_record in all_files.data:
    client.files.delete(file_id=file_record.id)

Choix de plateformes, niveaux d'accès et confidentialité d'entreprise

Moonshot AI met à disposition différents canaux d'accès et garanties de confidentialité adaptés aux analystes individuels, équipes d'ingénierie et organisations soumises à de fortes contraintes réglementaires.

Arbitrage entre espaces de travail pour utilisateurs et API développeur

Protection des données d'entreprise et politique de Zéro Rétention de Données (ZDR)

Pour les structures qui manipulent de la propriété intellectuelle confidentielle, des bilans stratégiques ou des conventions contractuelles réservées, la protection des données constitue un impératif absolu :

Sources