Lewati ke konten utama

API Claude 3.7 Sonnet: Panduan dengan Proyek Demo

Pelajari cara menggunakan API Claude 3.7 Sonnet dengan membangun Research Paper Analyzer berbasis Gradio untuk mengekstrak wawasan dari PDF yang diunggah.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Claude 3.7 Sonnet adalah model AI terbaru dari Anthropic, menawarkan kemampuan penalaran yang ditingkatkan melalui Thinking Mode yang baru. Model ini dapat memproses konteks hingga 200K token, sehingga ideal untuk analisis riset yang kompleks.

Dalam tutorial ini, saya akan menjelaskan langkah demi langkah cara membangun Research Paper Analyzer menggunakan Claude 3.7 Sonnet yang mampu: 

  • Mengekstrak wawasan dan temuan kunci dari makalah riset.
  • Mengidentifikasi keterbatasan dan kekurangan tiap makalah.
  • Menemukan keterkaitan dan sitasi bersama antar beberapa makalah.
  • Menghasilkan ide riset baru berdasarkan makalah yang dianalisis.

Kita juga akan mengintegrasikan Thinking Mode Claude 3.7 Sonnet dengan Gradio agar pengguna dapat mengunggah beberapa makalah riset dan menerima wawasan terstruktur.

Kita akan fokus pada bagian praktik langsung di blog ini—jika Anda hanya mencari gambaran umum, saya merekomendasikan artikel tentang Claude 3.7 Sonnet.

Dan jika Anda mencari demo yang jelas, simak video tutorial API Claude 3.7 Sonnet kami dan bangun asisten riset multimodal. Video kami akan memandu Anda tentang cara mengakses penyiapan Anthropic API, mengekstrak dan memproses PDF menggunakan pemrosesan dokumen PyPDF2 menggunakan thinking mode Claude 3.7, dan membangun asisten riset nyata dengan Gradio. Anda juga dapat melihat model Claude terbaru, Claude Sonnet 4.5, dan Claude Agent SDK. 

Gambaran Proyek: Research Paper Analyzer dengan Claude 3.7 Sonnet

Kita akan mengembangkan Research Paper Analyzer berbasis Gradio yang memungkinkan pengguna untuk: 

  • Mengunggah beberapa makalah riset dalam format PDF.
  • Mengekstrak kontribusi kunci dan keterbatasan dari tiap makalah.
  • Mengidentifikasi koneksi, sitasi, dan ide riset yang tumpang tindih.
  • Menghasilkan ide riset baru menggunakan wawasan dari beberapa makalah.

Mengoptimalkan biaya

Untuk mengoptimalkan biaya API Claude 3.7 Sonnet, kita perlu menyelaraskan penggunaannya dengan kebutuhan proyek, karena token input berharga $3/M dan token output, termasuk Thinking Mode, berharga $15/M.

Kita perlu menekan biaya dengan menggunakan prompt caching, pemrosesan batch, dan mode streaming untuk respons panjang. Kita bahkan dapat mengoptimalkan Thinking Mode dengan menetapkan anggaran token yang lebih rendah (mulai dari 1.024 token) dan hanya meningkatkannya bila perlu.

Anda dapat mempelajari lebih lanjut tentang optimalisasi biaya API melalui dokumentasi resmi Anthropic.

Apa itu Thinking Mode di Claude 3.7 Sonnet?

Sebelum mulai, mari kita ulas apa itu thinking mode, jika Anda belum familiar. Thinking Mode adalah fitur baru di Claude 3.7 Sonnet yang memungkinkan penalaran langkah demi langkah sebelum menghasilkan jawaban akhir. Ini memungkinkan model untuk: 

  • Memecah masalah riset yang kompleks menjadi langkah-langkah terstruktur dan logis.
  • Memberikan wawasan transparan mengenai proses penalaran internalnya.
  • Meningkatkan akurasi ilmiah dengan menghindari halusinasi dalam analisis riset.

Singkatnya, cara kerjanya seperti ini:

  • Pembuatan blok pemikiran: Claude terlebih dahulu menghasilkan langkah-langkah penalaran perantara dalam format terstruktur, memfasilitasi analisis mendalam dan dekomposisi logis dari masalah.
  • Penyempurnaan iteratif: Model mengevaluasi penalarannya sendiri, mengintegrasikan wawasan relevan sambil menyaring inkonsistensi untuk memastikan koherensi dan validitas ilmiah.
  • Sintesis respons akhir: Wawasan terstruktur dari fase pemikiran disintesis menjadi keluaran yang terumuskan dengan baik, sehingga meningkatkan kejelasan, akurasi, dan relevansi kontekstual.

Langkah 1: Prasyarat

Sebelum mulai, kita perlu menyiapkan kunci API Anthropic:

1. Mulailah dengan masuk ke konsol Anthropic: https://console.anthropic.com/

2. Klik Get API Keys.

Jendela Get API Key

3. Anda akan dialihkan ke tab API Keys. Klik Create API Key dan masukkan nama kunci Anda.

Jendela Create API Key

4. Salin kunci ini dan simpan untuk referensi mendatang.

5. Sekarang, tambahkan kredit ke akun penagihan Anda, di bawah tab Billing. Cukup klik buy credits dan tambahkan sekitar $5 ke akun Anda (cukup untuk proyek ini).

Sekarang kita sudah memiliki API Key. Selanjutnya pastikan dependensi yang diperlukan sudah terpasang.

pip install anthropic gradio PyPDF2

Setelah terpasang, impor pustaka yang diperlukan:

import anthropic
import PyPDF2
import os
import gradio as gr

Langkah 2: Menyiapkan API Claude 3.7 Sonnet

Setelah semua pustaka yang diperlukan diimpor, berikutnya kita menyiapkan API Claude.

Jika Anda menggunakan Google Colab, Anda dapat menyimpan kunci API di tab Secrets lalu menggunakan fungsi get() untuk mengaksesnya. Jika tidak, Anda dapat meneruskan kunci API langsung ke kode Anda (tidak direkomendasikan).

Kita kemudian menginisialisasi klien Claude menggunakan pustaka Anthropic dan memasukkan kunci 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,
)

Bagian penyiapan selesai. Berikutnya, kita mengerjakan bagian ekstraksi teks.

Langkah 3: Mengekstrak Teks dari Makalah Riset

Kita akan menggunakan PyPDF2 untuk mengekstrak teks dari file PDF yang diunggah. Claude 3.7 Sonnet hanya menerima teks dan gambar sebagai input. Jadi, kita mengekstrak teks terlebih dahulu untuk pemrosesan yang efisien sambil memaksimalkan kemampuan Claude 3.7 Sonnet dengan 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()

Fungsi extract_text_from_pdf() membaca file PDF, mengekstrak teks dari setiap halaman menggunakan PyPDF2.PdfReader(), dan mengembalikan gabungan teks sebagai string. 

Langkah 4: Menjalankan Analisis Makalah Riset

Sekarang setelah kita memiliki teks yang diekstrak, kita lanjut menggunakan thinking dan streaming mode Claude 3.7 Sonnet untuk menganalisis beberapa makalah dan menghasilkan ide riset terstruktur.

Mode streaming memastikan penanganan respons besar secara efisien dengan mengirimkan hasil secara progresif, mengurangi waktu tunggu, dan mencegah timeout API. Thinking mode meningkatkan penalaran kompleks dengan memungkinkan model menghasilkan pemikiran internal terstruktur sebelum merumuskan jawaban akhir, sehingga menjamin wawasan yang beralasan dengan baik. 

# 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"]

Fungsi analyze_papers_streaming() melakukan langkah-langkah berikut: 

  1. Memformat masukan makalah: Fungsi menerima daftar teks makalah riset yang diekstrak beserta jumlah makalah dan menyusunnya untuk prompt.
  2. Menyusun prompt untuk Claude 3.7 Sonnet: Prompt mengarahkan model untuk:
  • Meringkas tiap makalah.
  • Mengidentifikasi kekurangan utama.
  • Menemukan keterkaitan antar makalah.
  • Menghasilkan ide riset baru yang menggabungkan teknik dari berbagai makalah.
  1. Menginisialisasi permintaan API streaming: Setelah prompt siap, berikutnya kita menggunakan client.messages.stream() untuk mengirim permintaan ke Claude 3.7 Sonnet. Ini mengaktifkan thinking mode dengan budget_tokens=16000 dan max_tokens=25000 untuk panjang respons yang diperluas.
  2. Memproses respons streaming: Fungsi ini mengiterasi peristiwa respons yang di-stream dan mengidentifikasi berbagai blok respons. Saat streaming diaktifkan, model mengirim konten secara progresif. Kita menerima peristiwa content_block_start untuk menandai awal blok respons. Saat model menghasilkan keluaran, peristiwa thinking_delta berisi langkah penalaran perantara, sementara text_delta menyediakan wawasan riset akhir. Proses berlanjut hingga peristiwa message_stop menandakan respons selesai.
  3. Mengembalikan hasil analisis: Keluaran akhir adalah dua respons terstruktur yang berisi proses penalaran internal model dan ide riset final yang menggabungkan wawasan dari makalah yang diberikan.

Anda dapat mempelajari lebih lanjut tentang penyempurnaan teknik prompting untuk extended thinking di sini.

Langkah 5: Membangun UI Gradio

Sekarang logika utama sudah dibangun, kita lanjut mengintegrasikannya ke Gradio, sehingga pengguna dapat mengunggah makalah riset dan menerima wawasan terstruktur.

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

Kode di atas menyiapkan UI Gradio di mana pengguna dapat mengunggah beberapa PDF, yang kemudian diproses untuk mengekstrak teks, menganalisis wawasan utama, dan menghasilkan ide riset baru menggunakan thinking dan streaming mode.

UI Gradio untuk demo

Kesimpulan

Dalam tutorial ini, kita membangun Research Paper Analyzer bertenaga AI menggunakan Claude 3.7 Sonnet, yang memungkinkan peneliti mengekstrak wawasan secara efisien, mengidentifikasi keterbatasan, dan menghasilkan ide riset baru dari beberapa makalah. Dengan menggunakan thinking mode, model melakukan penalaran mendalam, menjadikannya alat yang efektif untuk tinjauan pustaka dan sintesis riset.


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.

Topik
Kecerdasan Buatan
Large Language Models

Belajar AI dengan kursus-kursus ini!

Program

Pengembangan Aplikasi Kecerdasan Buatan

21 jam
Pelajari cara membuat aplikasi yang didukung oleh kecerdasan buatan (AI) menggunakan alat pengembangan AI terbaru, termasuk OpenAI API, Hugging Face, dan LangChain.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya