Loading...
  • Construire
  • Admin
  • Modèles & tarification
  • SDKs clients
  • Référence API
Search...
⌘K
Log in
Résumé juridique
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Construire/Cas d'utilisation

Résumé de documents juridiques

Ce guide explique comment exploiter les capacités avancées de traitement du langage naturel de Claude pour résumer efficacement les documents juridiques, extraire les informations clés et accélérer la recherche juridique. Avec Claude, vous pouvez rationaliser l'examen des contrats, la préparation des litiges et les travaux réglementaires, en économisant du temps et en garantissant la précision de vos processus juridiques.

Visitez le guide de résumé pour voir un exemple d'implémentation de résumé de documents juridiques utilisant Claude.

Avant de construire avec Claude

Décidez si vous devez utiliser Claude pour le résumé de documents juridiques

Voici quelques indicateurs clés montrant que vous devriez utiliser un LLM comme Claude pour résumer des documents juridiques :

Déterminez les détails que vous souhaitez que le résumé extraie

Il n'existe pas de résumé unique et correct pour un document donné. Sans direction claire, il peut être difficile pour Claude de déterminer quels détails inclure. Pour obtenir des résultats optimaux, identifiez les informations spécifiques que vous souhaitez inclure dans le résumé.

Par exemple, lors de la résumé d'un accord de sous-location, vous pourriez souhaiter extraire les points clés suivants :

details_to_extract = [
    "Parties involved (sublessor, sublessee, and original lessor)",
    "Property details (address, description, and permitted use)",
    "Term and rent (start date, end date, monthly rent, and security deposit)",
    "Responsibilities (utilities, maintenance, and repairs)",
    "Consent and notices (landlord's consent, and notice requirements)",
    "Special provisions (furniture, parking, and subletting restrictions)",
]

Établissez des critères de succès

L'évaluation de la qualité des résumés est une tâche notoirement difficile. Contrairement à de nombreuses autres tâches de traitement du langage naturel, l'évaluation des résumés manque souvent de métriques claires et objectives. Le processus peut être très subjectif, les différents lecteurs valorisant différents aspects d'un résumé. Voici les critères que vous pourriez souhaiter considérer lors de l'évaluation de la performance de Claude en matière de résumé de documents juridiques.

Consultez le guide sur l'établissement de critères de succès pour plus d'informations.


Comment résumer des documents juridiques à l'aide de Claude

Sélectionnez le bon modèle Claude

La précision du modèle est extrêmement importante lors de la résumé de documents juridiques. Claude Opus 4.7 est un excellent choix pour les cas d'usage comme celui-ci où une haute précision est requise. Si la taille et la quantité de vos documents sont importantes au point que les coûts deviennent une préoccupation, vous pouvez également essayer d'utiliser un modèle plus petit comme Claude Haiku 4.5.

Pour aider à estimer ces coûts, voici une comparaison du coût de résumé de 1 000 accords de sous-location en utilisant à la fois Sonnet et Haiku :

  • Taille du contenu

    • Nombre d'accords : 1 000
    • Caractères par accord : 300 000
    • Total des caractères : 300 M
  • Jetons estimés

    • Jetons d'entrée : 86 M (en supposant 1 jeton pour 3,5 caractères)
    • Jetons de sortie par résumé : 350
    • Total des jetons de sortie : 350 000
  • Coût estimé de Claude Opus 4.7

    • Coût des jetons d'entrée : 86 MTok * $5,00/MTok = $430
    • Coût des jetons de sortie : 0,35 MTok * $25,00/MTok = $8,75
    • Coût total : $430,00 + $8,75 = $438,75
  • Coût estimé de Claude Haiku 3

    • Coût des jetons d'entrée : 86 MTok * $0,25/MTok = $21,50
    • Coût des jetons de sortie : 0,35 MTok * $1,25/MTok = $0,44
    • Coût total : $21,50 + $0,44 = $21,96
Les coûts réels peuvent différer de ces estimations. Ces estimations sont basées sur l'exemple mis en évidence dans la section sur l'invite.

Transformez les documents en un format que Claude peut traiter

Avant de commencer à résumer des documents, vous devez préparer vos données. Cela implique d'extraire le texte des PDF, de nettoyer le texte et de vous assurer qu'il est prêt à être traité par Claude.

Voici une démonstration de ce processus sur un exemple de pdf :

from io import BytesIO
import re

import pypdf
import requests


def get_llm_text(pdf_file):
    reader = pypdf.PdfReader(pdf_file)
    text = "\n".join([page.extract_text() for page in reader.pages])

    # Remove extra whitespace
    text = re.sub(r"\s+", " ", text)

    # Remove page numbers
    text = re.sub(r"\n\s*\d+\s*\n", "\n", text)

    return text


# Create the full URL from the GitHub repository
url = "https://raw.githubusercontent.com/anthropics/anthropic-cookbook/main/skills/summarization/data/Sample Sublease Agreement.pdf"
url = url.replace(" ", "%20")

# Download the PDF file into memory
response = requests.get(url)

# Load the PDF from memory
pdf_file = BytesIO(response.content)

document_text = get_llm_text(pdf_file)
print(document_text[:50000])

Dans cet exemple, vous téléchargez d'abord un pdf d'un exemple d'accord de sous-location utilisé dans le guide de résumé. Cet accord provient d'un accord de sous-location disponible publiquement du site web sec.gov.

L'exemple utilise la bibliothèque pypdf pour extraire le contenu du pdf et le convertir en texte. Les données textuelles sont ensuite nettoyées en supprimant les espaces blancs supplémentaires et les numéros de page.

Construisez une invite forte

Claude peut s'adapter à différents styles de résumé. Vous pouvez modifier les détails de l'invite pour guider Claude à être plus ou moins verbeux, inclure plus ou moins de terminologie technique, ou fournir un résumé de niveau supérieur ou inférieur du contexte en question.

Voici un exemple de comment créer une invite qui garantit que les résumés générés suivent une structure cohérente lors de l'analyse des accords de sous-location :

Python
# Initialize the Anthropic client
client = anthropic.Anthropic()


def summarize_document(
    text, details_to_extract, model="claude-opus-4-7", max_tokens=1000
):
    # Format the details to extract to be placed within the prompt's context
    details_to_extract_str = "\n".join(details_to_extract)

    # Prompt the model to summarize the sublease agreement
    prompt = f"""Summarize the following sublease agreement. Focus on these key aspects:

    {details_to_extract_str}

    Provide the summary in bullet points nested within the XML header for each section. For example:

    <parties involved>
    - Sublessor: [Name]
    // Add more details as needed
    </parties involved>

    If any information is not explicitly stated in the document, note it as "Not specified". Do not preamble.

    Sublease agreement text:
    {text}
    """

    response = client.messages.create(
        model=model,
        max_tokens=max_tokens,
        system="You are a legal analyst specializing in real estate law, known for highly accurate and detailed summaries of sublease agreements.",
        messages=[
            {"role": "user", "content": prompt},
        ],
    )

    return response.content[0].text


sublease_summary = summarize_document(document_text, details_to_extract)
print(sublease_summary)

Ce code implémente une fonction summarize_document qui utilise Claude pour résumer le contenu d'un accord de sous-location. La fonction accepte une chaîne de texte et une liste de détails à extraire comme entrées. Dans cet exemple, le code appelle la fonction avec les variables document_text et details_to_extract qui ont été définies dans les extraits de code précédents.

Dans la fonction, une invite est générée pour Claude, incluant le document à résumer, les détails à extraire et les instructions spécifiques pour résumer le document. L'invite demande à Claude de répondre avec un résumé de chaque détail à extraire imbriqué dans des en-têtes XML.

Parce que le code génère chaque section du résumé dans des balises, chaque section peut facilement être analysée comme une étape de post-traitement. Cette approche permet des résumés structurés qui peuvent être adaptés à votre cas d'usage, de sorte que chaque résumé suive le même modèle.

Évaluez votre invite

L'invite nécessite souvent des tests et une optimisation pour être prête pour la production. Pour déterminer la préparation de votre solution, évaluez la qualité de vos résumés en utilisant un processus systématique combinant des méthodes quantitatives et qualitatives. La création d'une évaluation empirique forte basée sur vos critères de succès définis vous permet d'optimiser vos invites. Voici quelques métriques que vous pourriez souhaiter inclure dans votre évaluation empirique :

Déployez votre invite

Voici quelques considérations supplémentaires à garder à l'esprit lors du déploiement de votre solution en production.

  1. Assurez-vous l'absence de responsabilité : Comprenez les implications juridiques des erreurs dans les résumés, qui pourraient entraîner une responsabilité juridique pour votre organisation ou vos clients. Fournissez des avertissements ou des avis juridiques clarifiant que les résumés sont générés par l'IA et doivent être examinés par des professionnels du droit.

  2. Gérez les types de documents divers : Ce guide explique comment extraire le texte des PDF. Dans le monde réel, les documents peuvent être dans une variété de formats (PDF, documents Word, fichiers texte, etc.). Assurez-vous que votre pipeline d'extraction de données peut convertir tous les formats de fichiers que vous vous attendez à recevoir.

  3. Parallélisez les appels API à Claude : Les documents longs avec un grand nombre de jetons peuvent nécessiter jusqu'à une minute pour que Claude génère un résumé. Pour les grandes collections de documents, vous pourriez souhaiter envoyer les appels API à Claude en parallèle afin que les résumés puissent être complétés dans un délai raisonnable. Reportez-vous aux limites de débit d'Anthropic pour déterminer le nombre maximum d'appels API qui peuvent être effectués en parallèle.


Améliorer les performances

Dans les scénarios complexes, il peut être utile de considérer des stratégies supplémentaires pour améliorer les performances au-delà des techniques standard d'ingénierie d'invite. Voici quelques stratégies avancées :

Effectuez une méta-résumé pour résumer les documents longs

La résumé de documents juridiques implique souvent de traiter des documents longs ou de nombreux documents connexes à la fois, de sorte que vous dépassez la fenêtre de contexte de Claude. Vous pouvez utiliser une méthode de chunking connue sous le nom de méta-résumé afin de gérer ce cas d'usage. Cette technique implique de diviser les documents en petits morceaux gérables et de traiter ensuite chaque morceau séparément. Vous pouvez ensuite combiner les résumés de chaque morceau pour créer une méta-résumé du document entier.

Voici un exemple de comment effectuer une méta-résumé :

Python
# Initialize the Anthropic client
client = anthropic.Anthropic()


def chunk_text(text, chunk_size=20000):
    return [text[i : i + chunk_size] for i in range(0, len(text), chunk_size)]


def summarize_long_document(
    text, details_to_extract, model="claude-opus-4-7", max_tokens=1000
):
    # Format the details to extract to be placed within the prompt's context
    details_to_extract_str = "\n".join(details_to_extract)

    # Iterate over chunks and summarize each one
    chunk_summaries = [
        summarize_document(
            chunk, details_to_extract, model=model, max_tokens=max_tokens
        )
        for chunk in chunk_text(text)
    ]

    final_summary_prompt = f"""

    You are looking at the chunked summaries of multiple documents that are all related.
    Combine the following summaries of the document from different truthful sources into a coherent overall summary:

    <chunked_summaries>
    {"".join(chunk_summaries)}
    </chunked_summaries>

    Focus on these key aspects:
    {details_to_extract_str})

    Provide the summary in bullet points nested within the XML header for each section. For example:

    <parties involved>
    - Sublessor: [Name]
    // Add more details as needed
    </parties involved>

    If any information is not explicitly stated in the document, note it as "Not specified". Do not preamble.
    """

    response = client.messages.create(
        model=model,
        max_tokens=max_tokens,
        system="You are a legal expert that summarizes notes on one document.",
        messages=[
            {"role": "user", "content": final_summary_prompt},
        ],
    )

    return response.content[0].text


long_summary = summarize_long_document(document_text, details_to_extract)
print(long_summary)

La fonction summarize_long_document s'appuie sur la fonction summarize_document antérieure en divisant le document en morceaux plus petits et en résumant chaque morceau individuellement.

Le code réalise cela en appliquant la fonction summarize_document à chaque morceau de 20 000 caractères dans le document original. Les résumés individuels sont ensuite combinés, et un résumé final est créé à partir de ces résumés de morceaux.

Notez que la fonction summarize_long_document n'est pas strictement nécessaire pour le pdf d'exemple, car le document entier s'adapte à la fenêtre de contexte de Claude. Cependant, elle devient essentielle pour les documents dépassant la fenêtre de contexte de Claude ou lors de la résumé de plusieurs documents connexes ensemble. Quoi qu'il en soit, cette technique de méta-résumé capture souvent des détails importants supplémentaires dans le résumé final qui ont été manqués dans l'approche de résumé unique antérieure.

Utilisez des documents indexés par résumé pour explorer une grande collection de documents

La recherche dans une collection de documents avec un LLM implique généralement la génération augmentée par récupération (RAG). Cependant, dans les scénarios impliquant des documents longs ou lorsque la récupération d'informations précises est cruciale, une approche RAG basique peut être insuffisante. Les documents indexés par résumé sont une approche RAG avancée qui fournit un moyen plus efficace de classer les documents pour la récupération, en utilisant moins de contexte que les méthodes RAG traditionnelles. Dans cette approche, vous utilisez d'abord Claude pour générer un résumé concis pour chaque document de votre corpus, puis vous utilisez Claude pour classer la pertinence de chaque résumé par rapport à la requête posée. Pour plus de détails sur cette approche, y compris un exemple basé sur le code, consultez la section des documents indexés par résumé dans le guide de résumé.

Affinez Claude pour apprendre de votre ensemble de données

Une autre technique avancée pour améliorer la capacité de Claude à générer des résumés est l'affinage. L'affinage implique d'entraîner Claude sur un ensemble de données personnalisé qui s'aligne spécifiquement avec vos besoins de résumé juridique, en garantissant que Claude s'adapte à votre cas d'usage. Voici un aperçu de comment effectuer l'affinage :

  1. Identifiez les erreurs : Commencez par collecter les instances où les résumés de Claude sont insuffisants - cela pourrait inclure des détails juridiques critiques manquants, une mauvaise compréhension du contexte ou l'utilisation d'une terminologie juridique inappropriée.

  2. Organisez un ensemble de données : Une fois que vous avez identifié ces problèmes, compilez un ensemble de données de ces exemples problématiques. Cet ensemble de données doit inclure les documents juridiques originaux aux côtés de vos résumés corrigés, en garantissant que Claude apprend le comportement souhaité.

  3. Effectuez l'affinage : L'affinage implique de réentraîner le modèle sur votre ensemble de données organisé pour ajuster ses poids et paramètres. Cet entraînement aide Claude à mieux comprendre les exigences spécifiques de votre domaine juridique, améliorant sa capacité à résumer les documents selon vos normes.

  4. Amélioration itérative : L'affinage n'est pas un processus unique. Alors que Claude continue à générer des résumés, vous pouvez itérativement ajouter de nouveaux exemples où il a sous-performé, affinant davantage ses capacités. Au fil du temps, cette boucle de rétroaction continue entraînera un modèle hautement spécialisé pour vos tâches de résumé juridique.

L'affinage est actuellement uniquement disponible via Amazon Bedrock. Des détails supplémentaires sont disponibles dans le blog de lancement AWS.
Guide de résumé

Consultez un exemple de code entièrement implémenté de comment utiliser Claude pour résumer les contrats.

Guide des citations

Explorez la recette du guide des citations pour obtenir des conseils sur comment assurer la précision et l'explicabilité des informations.

Was this page helpful?

  • Avant de construire avec Claude
  • Décidez si vous devez utiliser Claude pour le résumé de documents juridiques
  • Déterminez les détails que vous souhaitez que le résumé extraie
  • Établissez des critères de succès
  • Comment résumer des documents juridiques à l'aide de Claude
  • Sélectionnez le bon modèle Claude
  • Transformez les documents en un format que Claude peut traiter
  • Construisez une invite forte
  • Évaluez votre invite
  • Déployez votre invite
  • Améliorer les performances
  • Effectuez une méta-résumé pour résumer les documents longs
  • Utilisez des documents indexés par résumé pour explorer une grande collection de documents
  • Affinez Claude pour apprendre de votre ensemble de données