Vai al contenuto principale

Claude 3.7 Sonnet API: una guida con progetto demo

Impara a usare l'API di Claude 3.7 Sonnet costruendo un Research Paper Analyzer basato su Gradio per estrarre insight dai PDF caricati.
Aggiornato 29 set 2026  · 12 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Claude 3.7 Sonnet è l'ultimo modello di IA di Anthropic, che offre capacità di ragionamento potenziate grazie alla nuova Thinking Mode. Può elaborare 200K token di contesto, rendendolo ideale per analisi di ricerca complesse.

In questo tutorial ti spiegherò passo dopo passo come costruire un Research Paper Analyzer con Claude 3.7 Sonnet, capace di: 

  • Estrarre insight e risultati chiave dagli articoli scientifici.
  • Identificare i limiti e i punti deboli di ciascun paper.
  • Trovare interconnessioni e citazioni comuni tra più paper.
  • Generare un'idea di ricerca originale basata sui paper analizzati.

Integreremo anche la Thinking Mode di Claude 3.7 Sonnet con Gradio per consentire agli utenti di caricare più articoli e ricevere insight strutturati.

Ci concentreremo sulla parte pratica in questo blog—se cerchi solo una panoramica, ti consiglio questo articolo su Claude 3.7 Sonnet.

E se vuoi una demo chiara, guarda il nostro video tutorial sull'API di Claude 3.7 Sonnet e costruisci un assistente di ricerca multimodale. Il video ti guiderà attraverso come accedere all'API di Anthropic, estrarre ed elaborare PDF con l'elaborazione documentale PyPDF2 usare la thinking mode di Claude 3.7 e costruire un vero assistente di ricerca con Gradio. Puoi anche dare un'occhiata al modello Claude più recente, Claude Sonnet 4.5, e al Claude Agent SDK. 

Panoramica del progetto: Research Paper Analyzer con Claude 3.7 Sonnet

Svilupperemo un Research Paper Analyzer basato su Gradio che consente agli utenti di: 

  • Caricare più articoli scientifici in formato PDF.
  • Estrarre i contributi chiave e i limiti di ciascun paper.
  • Identificare collegamenti, citazioni e idee di ricerca sovrapposte.
  • Generare un'idea di ricerca originale usando gli insight provenienti da più paper.

Ottimizzare i costi

Per ottimizzare i costi dell'API di Claude 3.7 Sonnet dobbiamo allinearne l'uso alle esigenze del progetto, dato che i token in input costano $3/M e quelli in output, inclusa la Thinking Mode, costano $15/M.

Dobbiamo ridurre le spese usando la cache dei prompt, l'elaborazione in batch e la modalità streaming per risposte lunghe. Possiamo anche ottimizzare la Thinking Mode impostando un budget di token più basso (a partire da 1.024 token) e aumentandolo solo quando necessario.

Puoi approfondire come ottimizzare i costi dell'API tramite la documentazione ufficiale di Anthropic.

Che cos'è la Thinking Mode in Claude 3.7 Sonnet?

Prima di iniziare, facciamo chiarezza su cos'è la thinking mode, nel caso non ti fosse familiare. La Thinking Mode è una nuova funzionalità di Claude 3.7 Sonnet che abilita un ragionamento passo-passo prima di generare la risposta finale. Permette al modello di: 

  • Scomporre problemi di ricerca complessi in passaggi strutturati e logici.
  • Fornire insight trasparenti sul proprio ragionamento interno.
  • Migliorare l'accuratezza scientifica evitando allucinazioni nell'analisi della ricerca.

In poche parole, funziona così:

  • Generazione di blocchi di pensiero: prima Claude produce passaggi di ragionamento intermedi in un formato strutturato, facilitando un'analisi approfondita e la scomposizione logica del problema.
  • Raffinamento iterativo: il modello valuta il proprio ragionamento, integra gli insight rilevanti e filtra le incoerenze per garantire coerenza e validità scientifica.
  • Sintesi della risposta finale: gli insight strutturati della fase di thinking vengono sintetizzati in un output ben formulato, migliorando chiarezza, accuratezza e rilevanza contestuale.

Passo 1: Prerequisiti

Prima di iniziare, dobbiamo configurare la chiave API di Anthropic:

1. Inizia accedendo alla console Anthropic: https://console.anthropic.com/

2. Clicca su Get API Keys.

Finestra Get API Key

3. Verrai reindirizzato alla scheda API Keys. Clicca su Create API Key e inserisci il nome della chiave.

Finestra Create API Key

4. Copia questa chiave e conservala per usi futuri.

5. Ora aggiungi del credito al tuo account di fatturazione, nella scheda Billing. Clicca semplicemente su buy credits e aggiungi circa $5 al tuo account (sufficienti per questo progetto).

Ora abbiamo la chiave API pronta. Assicuriamoci di avere installate le dipendenze richieste.

pip install anthropic gradio PyPDF2

Una volta installate, importa le librerie necessarie:

import anthropic
import PyPDF2
import os
import gradio as gr

Passo 2: Configurare l'API di Claude 3.7 Sonnet

Ora che abbiamo importato tutte le librerie richieste, configuriamo l'API di Claude.

Se usi Google Colab, puoi salvare la chiave API nella scheda Secrets e poi usare la funzione get() per accedervi. In alternativa, puoi passare la chiave API direttamente nel codice (sconsigliato).

Inizializziamo quindi il client di Claude usando la libreria Anthropic e passando la chiave API.

# If using Google Colab Secrets
from google.colab import userdata
API_KEY = userdata.get('claude-3.7-sonnet')
client = anthropic.Anthropic(
    api_key=API_KEY,
)

Questo completa la configurazione. Ora passiamo all'estrazione del testo.

Passo 3: Estrarre testo dagli articoli scientifici

Useremo PyPDF2 per estrarre testo dai file PDF caricati. Claude 3.7 Sonnet accetta solo testo e immagini in input. Quindi estraiamo il testo in anticipo per un'elaborazione efficiente, massimizzando le capacità di Claude 3.7 Sonnet con la Thinking Mode.

# Function to extract text from a PDF file
def extract_text_from_pdf(pdf_path):
    """Extracts text from a given PDF file."""
    text = ""
    with open(pdf_path, "rb") as f:
        reader = PyPDF2.PdfReader(f)
        for page in reader.pages:
            text += page.extract_text() + "\n"
    return text.strip()

La funzione extract_text_from_pdf() legge un file PDF, estrae il testo da ogni pagina usando PyPDF2.PdfReader() e restituisce il testo combinato come stringa. 

Passo 4: Eseguire l'analisi dei paper

Ora che abbiamo il testo estratto, passiamo a usare la thinking e la streaming mode di Claude 3.7 Sonnet per analizzare più paper e generare un'idea di ricerca strutturata.

La modalità streaming garantisce una gestione efficiente delle risposte di grandi dimensioni fornendo i risultati in modo progressivo, riducendo i tempi di attesa e prevenendo i timeout dell'API. La thinking mode migliora il ragionamento complesso consentendo al modello di generare pensieri interni strutturati prima di formulare la risposta finale, assicurando insight ben motivati. 

# Function to analyze research papers with streaming
def analyze_papers_streaming(paper_texts, paper_count):
    """Uses Claude 3.7 Sonnet with Thinking Mode in streaming mode to analyze papers, find drawbacks, and generate a research project."""
    formatted_papers = "\n\n".join([f"### Paper {i+1}:\n{paper}" for i, paper in enumerate(paper_texts)])    
    prompt = f"""
        You are an AI research assistant. You have been provided with {paper_count} research papers. 
        Your task is to analyze these papers and perform the following:
        1. **Summarize each paper** with its core contributions and findings.
        2. **Identify key drawbacks** of each paper, focusing on limitations, gaps, or areas needing improvement.
        3. **Find interconnections and citations** between the papers—what ideas, methods, or datasets do they share?
        4. **Propose a novel research idea** that addresses a major limitation across these papers. 
            - Suggest how techniques from different papers can be combined to solve a problem.
            - Ensure the idea is practical and feasible for further research.
            - Justify why this approach is promising.
        Below are the research papers
        {formatted_papers}
    """
    results = {"thinking": "", "research_idea": ""}   
    with client.messages.stream(
        model="claude-3-7-sonnet-20250219",
        max_tokens=25000,
        thinking={
            "type": "enabled",
            "budget_tokens": 16000  # Large budget for deep reasoning
        },
        messages=[{"role": "user", "content": prompt}]
    ) as stream:
        current_block_type = None        
        for event in stream:
            if event.type == "content_block_start":
                current_block_type = event.content_block.type
            elif event.type == "content_block_delta":
                if event.delta.type == "thinking_delta":
                    results["thinking"] += event.delta.thinking
                elif event.delta.type == "text_delta":
                    results["research_idea"] += event.delta.text           
            elif event.type == "message_stop":
                break
    return results["thinking"], results["research_idea"]

La funzione analyze_papers_streaming() esegue i seguenti passaggi: 

  1. Formatta i paper in input: la funzione prende un elenco di testi estratti dai paper insieme al numero di paper e li struttura per il prompt.
  2. Costruisce un prompt per Claude 3.7 Sonnet: il prompt istruisce il modello a:
  • Riassumere ciascun paper.
  • Identificare i principali punti deboli.
  • Trovare interconnessioni tra i paper.
  • Generare un'idea di ricerca originale combinando tecniche provenienti da paper diversi.
  1. Inizializza la richiesta API in streaming: una volta impostato il prompt, usiamo client.messages.stream() per inviare la richiesta a Claude 3.7 Sonnet. Questo abilita la thinking mode con budget_tokens=16000 e max_tokens=25000 per risposte più estese.
  2. Elabora le risposte in streaming: la funzione itera sugli eventi della risposta in streaming e identifica i diversi blocchi di contenuto. Con lo streaming abilitato, il modello invia i contenuti in modo progressivo. Riceviamo eventi content_block_start che indicano l'inizio di un blocco di risposta. Man mano che il modello genera l'output, gli eventi thinking_delta contengono passaggi di ragionamento intermedi, mentre gli eventi text_delta forniscono gli insight finali di ricerca. Il processo continua fino a quando un evento message_stop segnala il completamento della risposta.
  3. Restituisce i risultati dell'analisi: gli output finali sono due risposte strutturate che contengono il processo di ragionamento interno del modello e l'idea di ricerca finale che combina gli insight dei paper forniti.

Puoi approfondire come perfezionare le tecniche di prompting per il ragionamento esteso qui.

Passo 5: Costruire la UI con Gradio

Ora che la logica principale è pronta, procediamo con l'integrazione in Gradio, permettendo agli utenti di caricare articoli scientifici e ricevere insight strutturati.

# Gradio UI function
def gradio_interface(pdfs):
    paper_texts = [extract_text_from_pdf(pdf.name) for pdf in pdfs]
    paper_count = len(paper_texts)  # Count number of provided papers
    thinking, research_idea = analyze_papers_streaming(paper_texts, paper_count)
    return thinking, research_idea

# Set up the Gradio app
demo = gr.Interface(
    fn=gradio_interface,
    inputs=gr.File(file_types=[".pdf"], label="Upload Research Papers", file_count="multiple"),
    outputs=[gr.Textbox(label="Thinking Process"), gr.Textbox(label="Research Idea")],
    title="Claude 3.7 Sonnet - Powered Research Paper Analyzer",
    description="Upload multiple research papers to extract insights, identify key limitations, and generate a novel research idea."
)
if __name__ == "__main__":
    demo.launch(debug=True)

Il codice sopra imposta una UI Gradio in cui gli utenti possono caricare più PDF, che vengono elaborati per estrarre testo, analizzare gli insight chiave e generare idee di ricerca originali usando thinking e streaming mode.

UI Gradio della demo

Conclusione

In questo tutorial abbiamo costruito un Research Paper Analyzer basato su IA utilizzando Claude 3.7 Sonnet, che permette ai ricercatori di estrarre rapidamente insight, identificare limiti e generare idee di ricerca originali a partire da più paper. Usando la thinking mode, il modello esegue un ragionamento profondo, rendendolo uno strumento efficace per review della letteratura e sintesi della ricerca.


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Sono una Google Developers Expert in ML (Gen AI), una Kaggle 3x Expert e una Women Techmakers Ambassador con oltre 3 anni di esperienza nel tech. Ho co-fondato una startup health-tech nel 2020 e sto conseguendo un master in informatica al Georgia Tech, con specializzazione in machine learning.

Argomenti
Intelligenza artificiale
Large Language Models

Impara l'IA con questi corsi!

Programma

Sviluppare applicazioni AI

21 ore
Impara a creare applicazioni basate sull'intelligenza artificiale con i più recenti strumenti per sviluppatori di AI, tra cui OpenAI API, Hugging Face e LangChain.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro