• Messaggi
  • Agenti gestiti
  • Amministrazione

Search...
⌘K
Casi d'uso
PanoramicaInstradamento dei ticketAgente di assistenza clientiModerazione dei contenutiRiepilogo legale
Prompt engineering
PanoramicaBest practice per i promptPrompt per Claude Fable 5Prompt per Claude Opus 4.8Strumenti di prompt della Console
Test e valutazione
Definire il successo e creare valutazioniUtilizzo dello strumento di valutazione nella ConsoleRidurre la latenza
Rafforzare i guardrail
Ridurre le allucinazioniAumentare la coerenza dell'outputMitigare i jailbreakRidurre la fuga di prompt
Riferimento
Glossario

Log in
Riepilogo legale
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
Best practice/Casi d'uso

Riepilogo di documenti legali

Questa guida illustra come sfruttare le avanzate capacità di elaborazione del linguaggio naturale di Claude per riassumere in modo efficiente documenti legali, estraendo informazioni chiave e accelerando la ricerca legale. Con Claude, puoi semplificare la revisione dei contratti, la preparazione di contenziosi e il lavoro normativo, risparmiando tempo e garantendo accuratezza nei tuoi processi legali.

Visita il cookbook sul riepilogo per vedere un esempio di implementazione di riepilogo legale utilizzando Claude.

Prima di sviluppare con Claude

Decidi se utilizzare Claude per il riepilogo legale

Ecco alcuni indicatori chiave che suggeriscono l'impiego di un LLM come Claude per riassumere documenti legali:

Determina i dettagli che vuoi che il riepilogo estragga

Non esiste un unico riepilogo corretto per un dato documento. Senza indicazioni chiare, può essere difficile per Claude determinare quali dettagli includere. Per ottenere risultati ottimali, identifica le informazioni specifiche che vuoi includere nel riepilogo.

Ad esempio, quando riassumi un contratto di sublocazione, potresti voler estrarre i seguenti punti chiave:

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)",
]

Stabilisci criteri di successo

Valutare la qualità dei riepiloghi è un compito notoriamente difficile. A differenza di molte altre attività di elaborazione del linguaggio naturale, la valutazione dei riepiloghi spesso manca di metriche chiare e oggettive. Il processo può essere altamente soggettivo, con lettori diversi che valorizzano aspetti diversi di un riepilogo. Ecco i criteri che potresti voler considerare quando valuti quanto bene Claude esegue il riepilogo legale.

Consulta la guida su come stabilire criteri di successo per maggiori informazioni.


Come riassumere documenti legali utilizzando Claude

Seleziona il modello Claude appropriato

L'accuratezza del modello è estremamente importante quando si riassumono documenti legali. Claude Opus 4.8 è una scelta eccellente per casi d'uso come questo in cui è richiesta un'elevata accuratezza. Se la dimensione e la quantità dei tuoi documenti sono tali che i costi iniziano a diventare una preoccupazione, puoi anche provare a utilizzare un modello più piccolo come Claude Haiku 4.5.

Per aiutare a stimare questi costi, di seguito è riportato un confronto del costo per riassumere 1.000 contratti di sublocazione utilizzando sia Opus che Haiku:

  • Dimensione del contenuto

    • Numero di contratti: 1.000
    • Caratteri per contratto: 300.000
    • Caratteri totali: 300M
  • Token stimati

    • Token di input: 86M (assumendo 1 token ogni 3,5 caratteri)
    • Token di output per riepilogo: 350
    • Token di output totali: 350.000
  • Costo stimato di Claude Opus 4.8

    • Costo token di input: 86 MTok * $5,00/MTok = $430,00 USD
    • Costo token di output: 0,35 MTok * $25,00/MTok = $8,75 USD
    • Costo totale: $430,00 + $8,75 = $438,75 USD
  • Costo stimato di Claude Haiku 4.5

    • Costo token di input: 86 MTok * $1,00/MTok = $86,00 USD
    • Costo token di output: 0,35 MTok * $5,00/MTok = $1,75 USD
    • Costo totale: $86,00 + $1,75 = $87,75 USD

I costi effettivi possono differire da queste stime. Queste stime si basano sull'esempio evidenziato nella sezione sul prompting.

Trasforma i documenti in un formato che Claude può elaborare

Prima di iniziare a riassumere i documenti, devi preparare i tuoi dati. Ciò comporta l'estrazione del testo dai PDF, la pulizia del testo e la verifica che sia pronto per essere elaborato da Claude.

Ecco una dimostrazione di questo processo su un pdf di esempio:

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])

    # Rimuovi i numeri di pagina
    text = re.sub(r"\n\s*\d+\s*\n", "\n", text)

    # Rimuovi gli spazi vuoti in eccesso
    text = re.sub(r"\s+", " ", text)

    return text


# Crea l'URL completo dal repository GitHub
url = "https://raw.githubusercontent.com/anthropics/anthropic-cookbook/main/skills/summarization/data/Sample Sublease Agreement.pdf"
url = url.replace(" ", "%20")

# Scarica il file PDF in memoria
response = requests.get(url)

# Carica il PDF dalla memoria
pdf_file = BytesIO(response.content)

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

In questo esempio, scarichi prima un pdf di un contratto di sublocazione di esempio utilizzato nel cookbook sul riepilogo. Questo contratto è stato ottenuto da un contratto di sublocazione disponibile pubblicamente dal sito web sec.gov.

L'esempio utilizza la libreria pypdf per estrarre i contenuti del pdf e convertirli in testo. I dati testuali vengono quindi puliti rimuovendo i numeri di pagina e gli spazi bianchi in eccesso.

Costruisci un prompt efficace

Claude può adattarsi a vari stili di riepilogo. Puoi modificare i dettagli del prompt per guidare Claude a essere più o meno prolisso, includere più o meno terminologia tecnica, o fornire un riepilogo di livello più alto o più basso del contesto in questione.

Ecco un esempio di come creare un prompt che garantisca che i riepiloghi generati seguano una struttura coerente quando si analizzano contratti di sublocazione:

Python
# Inizializza il client Anthropic
client = anthropic.Anthropic()


def summarize_document(
    text, details_to_extract, model="claude-opus-4-8", max_tokens=1000
):
    # Formatta i dettagli da estrarre per inserirli nel contesto del prompt
    details_to_extract_str = "\n".join(details_to_extract)

    # Chiedi al modello di riassumere il contratto di sublocazione
    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)

Questo codice implementa una funzione summarize_document che utilizza Claude per riassumere i contenuti di un contratto di sublocazione. La funzione accetta una stringa di testo e un elenco di dettagli da estrarre come input. In questo esempio, il codice chiama la funzione con le variabili document_text e details_to_extract che sono state definite nei frammenti di codice precedenti.

All'interno della funzione, viene generato un prompt per Claude, che include il documento da riassumere, i dettagli da estrarre e istruzioni specifiche per riassumere il documento. Il prompt istruisce Claude a rispondere con un riepilogo di ogni dettaglio da estrarre annidato all'interno di intestazioni XML.

Poiché il codice restituisce ogni sezione del riepilogo all'interno di tag, ogni sezione può essere facilmente estratta come passaggio di post-elaborazione. Questo approccio consente riepiloghi strutturati che possono essere adattati al tuo caso d'uso, in modo che ogni riepilogo segua lo stesso schema.

Valuta il tuo prompt

Il prompting spesso richiede test e ottimizzazione per essere pronto per la produzione. Per determinare la prontezza della tua soluzione, valuta la qualità dei tuoi riepiloghi utilizzando un processo sistematico che combina metodi quantitativi e qualitativi. Creare una solida valutazione empirica basata sui tuoi criteri di successo definiti ti consente di ottimizzare i tuoi prompt. Ecco alcune metriche che potresti voler includere nella tua valutazione empirica:

Distribuisci il tuo prompt

Ecco alcune considerazioni aggiuntive da tenere a mente mentre distribuisci la tua soluzione in produzione.

  1. Assicurati che non ci siano responsabilità legali: Comprendi le implicazioni legali degli errori nei riepiloghi, che potrebbero portare a responsabilità legali per la tua organizzazione o i tuoi clienti. Fornisci disclaimer o avvisi legali che chiariscano che i riepiloghi sono generati dall'IA e dovrebbero essere rivisti da professionisti legali.

  2. Gestisci diversi tipi di documenti: Questa guida discute come estrarre testo dai PDF. Nel mondo reale, i documenti possono presentarsi in una varietà di formati (PDF, documenti Word, file di testo, ecc.). Assicurati che la tua pipeline di estrazione dati possa convertire tutti i formati di file che prevedi di ricevere.

  3. Parallelizza le chiamate API a Claude: Documenti lunghi con un gran numero di token possono richiedere fino a un minuto affinché Claude generi un riepilogo. Per grandi raccolte di documenti, potresti voler inviare chiamate API a Claude in parallelo in modo che i riepiloghi possano essere completati in un tempo ragionevole. Consulta i limiti di velocità di Anthropic per determinare il numero massimo di chiamate API che possono essere eseguite in parallelo.


Migliora le prestazioni

In scenari complessi, può essere utile considerare strategie aggiuntive per migliorare le prestazioni oltre alle tecniche standard di prompt engineering. Ecco alcune strategie avanzate:

Esegui il meta-riepilogo per riassumere documenti lunghi

Il riepilogo legale spesso comporta la gestione di documenti lunghi o di molti documenti correlati contemporaneamente, tanto da superare la finestra di contesto di Claude. Puoi utilizzare un metodo di suddivisione in blocchi noto come meta-riepilogo per gestire questo caso d'uso. Questa tecnica comporta la suddivisione dei documenti in blocchi più piccoli e gestibili e quindi l'elaborazione di ogni blocco separatamente. Puoi quindi combinare i riepiloghi di ogni blocco per creare un meta-riepilogo dell'intero documento.

Ecco un esempio di come eseguire il meta-riepilogo:

Python
# Inizializza il client Anthropic
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-8", max_tokens=1000
):
    # Formatta i dettagli da estrarre per inserirli nel contesto del prompt
    details_to_extract_str = "\n".join(details_to_extract)

    # Itera sui chunk e riassumi ciascuno di essi
    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 funzione summarize_long_document si basa sulla precedente funzione summarize_document suddividendo il documento in blocchi più piccoli e riassumendo ogni blocco individualmente.

Il codice ottiene questo risultato applicando la funzione summarize_document a ogni blocco di 20.000 caratteri all'interno del documento originale. I singoli riepiloghi vengono quindi combinati e viene creato un riepilogo finale da questi riepiloghi dei blocchi.

Nota che la funzione summarize_long_document non è strettamente necessaria per il pdf di esempio, poiché l'intero documento rientra nella finestra di contesto di Claude. Tuttavia, diventa essenziale per documenti che superano la finestra di contesto di Claude o quando si riassumono più documenti correlati insieme. In ogni caso, questa tecnica di meta-riepilogo spesso cattura dettagli importanti aggiuntivi nel riepilogo finale che erano stati persi nell'approccio precedente a riepilogo singolo.

Usa documenti indicizzati per riepilogo per esplorare una grande raccolta di documenti

La ricerca in una raccolta di documenti con un LLM di solito comporta la "retrieval-augmented generation" (generazione aumentata dal recupero), o RAG. Tuttavia, in scenari che coinvolgono documenti di grandi dimensioni o quando il recupero preciso delle informazioni è cruciale, un approccio RAG di base potrebbe essere insufficiente. I documenti indicizzati per riepilogo sono un approccio RAG avanzato che fornisce un modo più efficiente di classificare i documenti per il recupero, utilizzando meno contesto rispetto ai metodi RAG tradizionali. In questo approccio, utilizzi prima Claude per generare un riepilogo conciso per ogni documento nel tuo corpus, e poi utilizzi Claude per classificare la rilevanza di ogni riepilogo rispetto alla query posta. Per ulteriori dettagli su questo approccio, incluso un esempio basato su codice, consulta la sezione sui documenti indicizzati per riepilogo nel cookbook sul riepilogo.

Esegui il fine-tuning di Claude per apprendere dal tuo dataset

Un'altra tecnica avanzata per migliorare la capacità di Claude di generare riepiloghi è il "fine-tuning" (affinamento). Il fine-tuning comporta l'addestramento di Claude su un dataset personalizzato che si allinea specificamente alle tue esigenze di riepilogo legale, garantendo che Claude si adatti al tuo caso d'uso. Ecco una panoramica su come eseguire il fine-tuning:

  1. Identifica gli errori: Inizia raccogliendo i casi in cui i riepiloghi di Claude risultano insufficienti - ciò potrebbe includere la mancanza di dettagli legali critici, l'incomprensione del contesto o l'uso di terminologia legale inappropriata.

  2. Cura un dataset: Una volta identificati questi problemi, compila un dataset di questi esempi problematici. Questo dataset dovrebbe includere i documenti legali originali insieme ai tuoi riepiloghi corretti, garantendo che Claude apprenda il comportamento desiderato.

  3. Esegui il fine-tuning: Il fine-tuning comporta il riaddestramento del modello sul tuo dataset curato per regolare i suoi pesi e parametri. Questo riaddestramento aiuta Claude a comprendere meglio i requisiti specifici del tuo dominio legale, migliorando la sua capacità di riassumere documenti secondo i tuoi standard.

  4. Miglioramento iterativo: Il fine-tuning non è un processo una tantum. Man mano che Claude continua a generare riepiloghi, puoi aggiungere iterativamente nuovi esempi in cui ha avuto prestazioni insufficienti, perfezionando ulteriormente le sue capacità. Nel tempo, questo ciclo di feedback continuo risulterà in un modello altamente specializzato per le tue attività di riepilogo legale.


Il fine-tuning è attualmente disponibile solo tramite Amazon Bedrock. Ulteriori dettagli sono disponibili nel blog di lancio di AWS.

Cookbook sul riepilogo


Visualizza un esempio completamente implementato basato su codice di come utilizzare Claude per riassumere contratti.


Cookbook sulle citazioni


Esplora la ricetta del cookbook sulle citazioni per indicazioni su come garantire accuratezza e spiegabilità delle informazioni.

Was this page helpful?

  • Prima di sviluppare con Claude
  • Decidi se utilizzare Claude per il riepilogo legale
  • Determina i dettagli che vuoi che il riepilogo estragga
  • Stabilisci criteri di successo
  • Come riassumere documenti legali utilizzando Claude
  • Seleziona il modello Claude appropriato
  • Trasforma i documenti in un formato che Claude può elaborare
  • Costruisci un prompt efficace
  • Valuta il tuo prompt
  • Distribuisci il tuo prompt
  • Migliora le prestazioni
  • Esegui il meta-riepilogo per riassumere documenti lunghi
  • Usa documenti indicizzati per riepilogo per esplorare una grande raccolta di documenti
  • Esegui il fine-tuning di Claude per apprendere dal tuo dataset