Program
Perang AI masih terus memanas. Google dengan Gemini dan Gemma baru-baru ini ramai dibicarakan, namun kini Claude 3 dari Anthropic muncul sebagai penantang kuat, melampaui GPT-4 dan Gemini Ultra pada semua benchmark.
Dalam tutorial ini, kita akan membahas model Claude 3, tolok ukur performanya, dan cara mengaksesnya. Kita juga akan membandingkan Claude 3 dengan pendahulunya, Claude 2.1, dan ChatGPT. Terakhir, kita akan mempelajari Python API Claude 3 untuk menghasilkan teks, mengakses kapabilitas visi, melakukan streaming respons, dan menggunakannya secara asinkron.
Apa itu Claude 3?
Anthropic baru-baru ini memperkenalkan keluarga model AI baru bernama Claude 3. Model-model ini menetapkan tolok ukur industri dalam berbagai tugas kognitif. Keluarga Claude 3 mencakup tiga model mutakhir: Haiku, Sonnet, dan Opus. Model-model ini dapat digunakan untuk obrolan pelanggan waktu nyata, pelengkapan otomatis, dan tugas ekstraksi data.
Saat ini, Opus dan Sonnet tersedia untuk claude.ai dan Claude API, sementara model yang lebih kecil, Haiku, akan segera dirilis. Model-model Claude 3 lebih baik dalam mengikuti instruksi kompleks bertahap, mematuhi gaya suara merek dan pedoman respons, serta menghasilkan keluaran terstruktur dalam format seperti JSON.
Dibandingkan model Claude sebelumnya, model baru ini menunjukkan pemahaman kontekstual yang lebih baik, sehingga mengurangi penolakan yang tidak perlu.
Model ini menawarkan jendela konteks 200K tetapi dapat memproses input yang melebihi 1 juta token. Secara khusus, Claude 3 Opus mencapai recall nyaris sempurna dengan akurasi di atas 99%.
Untuk memastikan keandalannya, Anthropic memiliki tim khusus untuk memantau dan memitigasi beragam risiko.
Detail model
Claude 3 menawarkan tiga model dengan keseimbangan kecerdasan, kecepatan, dan biaya untuk berbagai aplikasi.
Claude 3 Opus
Opus dirancang untuk tugas kompleks berinteligensi tinggi, unggul dalam pemecahan masalah terbuka dan analisis strategis, dengan jendela konteks yang besar dan biaya lebih tinggi yang mencerminkan kapabilitas lanjutannya.
Harga: Token masukan $15 per juta dan token keluaran $75 per juta.
Claude 3 Sonnet
Sonnet menawarkan keseimbangan optimal antara performa dan biaya, ideal untuk beban kerja perusahaan yang melibatkan pemrosesan data, optimalisasi penjualan, dan penerapan AI berskala. Harganya terjangkau dan hadir dengan jendela konteks besar.
Harga: Token masukan $3 per juta dan token keluaran $15 per juta.
Claude 3 Haiku
Haiku menonjol dalam hal kecepatan dan efisiensi, ditujukan untuk kebutuhan respons waktu nyata dalam layanan pelanggan, moderasi konten, dan tugas penghematan biaya, menjadikannya model paling terjangkau dan responsif dalam rangkaian ini.
Harga: Token masukan $0,25 per juta dan token keluaran $1,25 per juta.
Cara Mengakses Claude 3
Ada tiga cara untuk mengakses model Claude 3.
Claude Chat
Jika Anda mencari cara sederhana dan gratis untuk mencoba model AI Claude, Anda dapat mendaftar di claude.ai/chats, yang mirip dengan ChatGPT. Antarmuka chat interaktif dan mudah digunakan.
Saat ini, mereka menawarkan Claude 3 Sonnet secara gratis, namun untuk mengakses Claude 3 Opus, Anda perlu membeli langganan bulanan Claude Pro.

Claude Chat
Workbench
Untuk mengakses Claude 3 Opus secara gratis, Anda harus mendaftar Anthropic API: console.anthropic.com.
Ikuti langkah-langkah sederhana untuk mendaftar gratis dan mulai menggunakan model Opus dengan mengklik tab Workbench dan memilih model “claude-3-opus-20240229”.

Anthropic Workbench
API dan SDK
Cara ketiga untuk mengakses model Claude 3 adalah melalui API. Anthropic menawarkan Software Development Kit (SDK) klien untuk Python dan Typescript. Anda juga dapat mengakses model melalui REST API dengan menggunakan perintah curl di terminal.
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-3-opus-20240229",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "How many moons does Jupiter have?"}
]
}'
Menyelami Benchmark
Model Claude 3 telah dibandingkan dengan model bahasa berskala besar (LLM) berperforma terbaik dan menunjukkan peningkatan signifikan dalam berbagai pengujian.
Secara khusus, Claude 3 Opus mengungguli GPT-4 dan Gemini Ultra pada beberapa tolok ukur evaluasi paling umum, termasuk MMLU, GPQA, dan GSM8K. Model ini menunjukkan tingkat pemahaman dan kefasihan mendekati manusia pada tugas-tugas kompleks, menjadikannya langkah awal menuju kecerdasan umum.
Pelajari LLM mutakhir dari OpenAI dengan membaca artikel DataCamp Apa itu GPT-4 dan Mengapa Penting? Selain itu, kenali pesaing ChatGPT dari Google, Google Gemini, dengan membaca Apa itu Google Gemini? Semua yang Perlu Anda Ketahui.
Model Claude 3 menjadi lebih baik dalam analisis dan peramalan, pembuatan kode, serta menghasilkan respons dalam bahasa non-Inggris, seperti terlihat pada data Benchmark di bawah ini:

Kapabilitas visual model Claude 3 meningkat signifikan, memungkinkannya memahami foto, diagram, dan bagan yang kompleks. Kemajuan ini bermanfaat bagi bisnis dengan basis pengetahuan dalam berbagai format, seperti PDF, bagan alir, dan slide presentasi.

Model Claude 3 juga mengalami peningkatan besar dalam mengurangi penolakan yang tidak perlu dan meningkatkan akurasi dibandingkan generasi model sebelumnya.

Terakhir, kita dapat melihat bahwa model Claude 3 menunjukkan peningkatan akurasi dua kali lipat pada pertanyaan terbuka dibandingkan Claude 2.1. Selain itu, model baru menurunkan tingkat jawaban yang keliru.
Claude 3 Opus vs Claude 2.1
Pada bagian ini, kita akan membandingkan respons Claude 3 Opus dan Claude 2.1 pada tiga tugas umum untuk memahami performa masing-masing.
Tanya Jawab
Prompt: Saya berbicara tanpa mulut dan mendengar tanpa telinga. Saya tidak punya tubuh, tetapi saya hidup saat ada angin. Siapakah saya?
Claude 2.1 menolak menjawab pertanyaan dengan alasan kurangnya konten. Namun, pengguna sebenarnya memberikan teka-teki, dan Claude Opus memberikan jawaban yang benar.
Membuat Kode
Prompt: Buat aplikasi web FastAPI untuk model klasifikasi Scikit-learn sederhana.
Kode Claude 2.1 tampak berjalan awalnya, tetapi muncul galat setelah memasukkan nilai contoh. Setelah ditelusuri, kami menemukan bahwa kodenya tidak optimal dan fungsi inferensinya memiliki beberapa kesalahan.
Sebaliknya, saat kami membandingkannya dengan Claude 3 Opus, kami mendapati kodenya berjalan mulus dan memberikan prediksi akurat, seperti ditunjukkan di bawah.

Masalah Kompleks
Prompt: Bagaimana perbandingan jaringan saraf dengan satu lapisan dan satu masukan serta keluaran dengan regresi logistik?
Kedua model memberikan jawaban serupa, tetapi respons Claude 3 Opus lebih terperinci dan mudah dibaca.
Claude 3 Opus vs ChatGPT 4
Mari bandingkan Claude 3 Opus dan ChatGPT 4 pada tugas serupa seperti di atas untuk menunjukkan bagaimana Claude 3 memiliki sedikit keunggulan atas model GPT-4.
Tanya Jawab
Prompt: Berapa banyak bulan yang dimiliki Jupiter?

Keduanya keliru. Per 5 Februari 2024, Jupiter memiliki 95 bulan. Prompt ini berguna untuk memahami periode cutoff dataset. Tampaknya Claude 3 Opus dilatih pada dataset yang lebih lama dari 2021, sementara ChatGPT terakhir diperbarui pada April 2023.
Membuat Kode
Prompt: Membuat aplikasi web Gradio untuk model klasifikasi Scikit-learn sederhana.

Kode yang dihasilkan model Claude 3 berjalan mulus, namun kode yang dihasilkan GPT-4 gagal dijalankan karena banyak galat dan halusinasi.
Masalah Kompleks
Prompt: Ada empat orang di lift dan empat lantai di sebuah gedung. Berapa peluang setiap orang turun di lantai yang berbeda?

Kedua model memberikan jawaban benar untuk soal peluang terkenal ini. Yang satu menunjukkan pengerjaan matematis, dan yang lain menghasilkan serta menjalankan kode Python untuk menampilkan jawaban yang sama. Dalam kasus ini, keduanya unggul.
Claude 3 Python SDK
Pada bagian ini, kita akan mempelajari Claude 3 Python SDK dan cara menggunakannya untuk menghasilkan respons yang disesuaikan.
Persiapan
1. Instal paket Python anthropic menggunakan PIP.
pip install anthropic
2. Sebelum menginstal Paket Python, kita perlu membuka https://console.anthropic.com/dashboard dan mendapatkan API key.

3. Atur variabel lingkungan ANTHROPIC_API_KEY dan isi nilainya dengan API key. Menyiapkan dan mengakses variabel lingkungan sangat mudah di DataLab, notebook data berkemampuan AI dari DataCamp.

4. Buat objek klien menggunakan API key. Kita akan menggunakan klien ini untuk pembuatan teks, mengakses kapabilitas visi, dan streaming.
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Claude 2 Completions API
Penting untuk dicatat bahwa model Claude 3 yang lebih baru tidak menggunakan Completion API. Jika Anda mencoba menggunakan API ini untuk model Claude 3, akan muncul galat dan Anda akan disarankan untuk menggunakan Messages API sebagai gantinya.
from IPython.display import Markdown, display
from anthropic import HUMAN_PROMPT, AI_PROMPT
completion = client.completions.create(
model="claude-2.1",
max_tokens_to_sample=300,
prompt=f"{HUMAN_PROMPT} What is Matthew effect? {AI_PROMPT}",
)
Markdown(completion.completion)

Jika Anda ingin mempelajari lebih lanjut tentang Claude Python API yang lebih murah, baca Memulai dengan Claude 2 dan Anthropic API.
Claude 3 Messages API
Untuk memperjelas, kita akan menguji Anthropic Messages API untuk model Claude 3 Opus. API ini mirip dengan Completion API, tetapi memerlukan argumen messages yang diberikan sebagai daftar dictionary yang berisi peran dan konten.
Prompt = "Write the Go code for the simple data analysis."
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": Prompt}
]
)
Markdown(message.content[0].text)
Dengan menggunakan IPython Markdown, respons akan ditampilkan dalam format Markdown. Artinya, poin-poin, blok kode, heading, dan tautan akan ditampilkan dengan rapi.

Kodenya berjalan sempurna, dan penjelasannya cukup jelas agar siapa pun mengerti apa yang terjadi.
Menambahkan System Prompt
Kita dapat menyesuaikan respons dengan memberikan system prompt. Kita memintanya untuk mengonversi semua respons ke dalam bahasa Swedia.
Prompt = "Write a report on climate change."
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
system="Respond only in Svenska.",
messages=[
{"role": "user", "content": Prompt}
]
)
Markdown(message.content[0].text)
Model berhasil menghasilkan laporan perubahan iklim dalam bahasa Swedia.

Claude 3 Vision Block
Messages API mencakup kapabilitas visi. Pada bagian ini, kita akan menggunakan dua foto dari Pexels.com untuk menghasilkan respons.
- Gambar 1: Foto oleh Debayan Chakraborty: https://www.pexels.com/photo/indian-blue-jay-20433278/
- Gambar 2: Foto oleh Rachel Xiao: https://www.pexels.com/photo/brown-pendant-lamp-hanging-on-tree-near-river-772429/

Kita akan memuat gambar menggunakan paket httpx dan mengonversinya ke encoding base64.
import base64
import httpx
media_type = "image/jpeg"
url_1 = "https://images.pexels.com/photos/20433278/pexels-photo-20433278/free-photo-of-indian-blue-jay.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
image_encode_1 = base64.b64encode(httpx.get(url_1).content).decode("utf-8")
url_2 = "https://images.pexels.com/photos/772429/pexels-photo-772429.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
image_encode_2 = base64.b64encode(httpx.get(url_2).content).decode("utf-8")
Visi dengan Satu Gambar
Untuk menanyakan tentang gambar, kita perlu memberikan data gambar, jenis encoding, dan jenis media kepada Claude 3 API. Baik gambar maupun prompt merupakan bagian dari dictionary content untuk argumen message.
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_encode_1,
},
},
{
"type": "text",
"text": "Describe the image."
}
],
}
],
)
Markdown(message.content[0].text)

Visi dengan Banyak Gambar
Menambahkan banyak gambar bisa terasa kompleks, tetapi jika Anda mengikuti pola pada contoh kode, Anda akan memahami cara kerjanya.
Kita cukup membuat teks yang menandai Gambar 1 dan Gambar 2, lalu mengajukan pertanyaan tentang kedua gambar tersebut.
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Image 1:"
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_encode_1,
},
},
{
"type": "text",
"text": "Image 2:"
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": image_encode_2,
},
},
{
"type": "text",
"text": "What do these images have in common?"
}
],
}
],
)
Markdown(message.content[0].text)
Sempurna. Keduanya menampilkan burung.

Claude 3 Streaming API
Streaming mengacu pada proses menghasilkan keluaran teks secara berkelanjutan, alih-alih menunggu seluruh urutan selesai dibuat sebelum menampilkan hasil. Dengan teknik ini, keluaran dihasilkan token demi token, yang membantu meminimalkan latensi yang dirasakan.
Alih-alih create, kita akan menggunakan fungsi stream untuk menghasilkan respons streaming.
Untuk menampilkan hasil, kita akan menggunakan sintaks with dan for loop untuk mencetak token segera setelah tersedia.
Prompt = "Write a Python code for typical data engineering workflow."
completion = client.messages.stream(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
with completion as stream:
for text in stream.text_stream:
print(text, end="", flush=True)

Claude 3 Async API
API sinkron mengeksekusi permintaan secara berurutan dan memblokir hingga respons diterima sebelum memulai panggilan berikutnya. Sebaliknya, API asinkron memungkinkan banyak permintaan bersamaan tanpa pemblokiran, sehingga lebih efisien dan skalabel.
Kita akan menginisialisasi klien async menggunakan AsyncAnthropic. Lalu, kita akan membuat fungsi main menggunakan kata kunci async dan menjalankannya dengan fungsi asyncio.run.
Catatan: Jika Anda menggunakan async di Jupyter Notebook, coba gunakan await main(), alih-alih asyncio.run(main()).
import asyncio
from anthropic import AsyncAnthropic
async_client = AsyncAnthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Prompt = "Could you explain what MLOps is and suggest some of the best tools to use for it?"
async def main() -> None:
message = await async_client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
display(Markdown(message.content[0].text))
asyncio.run(main())

Menggabungkan Streaming dengan Async API
Kita dapat dengan mudah menggabungkan streaming dengan metode async menggunakan fungsi stream dari klien async. Dengan cara ini, kita dapat menerima banyak permintaan dan melakukan streaming responsnya, sehingga aplikasi AI menjadi skalabel dan andal.
async def main() -> None:
completion = async_client.messages.stream(
max_tokens=1024,
messages=[
{
"role": "user",
"content": Prompt,
}
],
model="claude-3-opus-20240229",
)
async with completion as stream:
async for text in stream.text_stream:
print(text, end="", flush=True)
asyncio.run(main())

Jika Anda kesulitan menjalankan kodenya, Anda dapat mengakses buku kerja DataLab ini untuk melihat dan mengeksekusi kode sendiri (setelah membuat salinannya).
Pelajari cara mengakses model bahasa besar OpenAI dengan mengikuti tutorial Menggunakan GPT-3.5 dan GPT-4 melalui OpenAI API di Python.
Penutup
Anthropic kini merupakan perusahaan publik dan berfokus pada perusahaan, mirip dengan OpenAI. Mereka memberikan akses ke modelnya untuk siapa saja, dan dalam beberapa kasus secara gratis. Anda dapat mengakses LLM berperforma terbaik Claude 3 Opus melalui langganan Pro atau akses API. Namun, Anthropic belum memiliki ekosistem seperti OpenAI, yakni belum ada model embedding, pembuatan gambar dan video, text-to-speech, dan pengenalan ucapan. Ia juga belum memiliki fungsi inti yang ditawarkan OpenAI API.
Anda dapat mempelajari model teks-ke-video baru OpenAI yang menghebohkan media sosial dengan membaca Apa itu Sora dari OpenAI? Cara Kerja, Use Case, Alternatif & Selengkapnya.
Dalam tutorial ini, kita mempelajari model Claude 3 yang sedang banyak dibicarakan di dunia AI. Kita membandingkannya dengan Claude 2.1 dan GPT-4 pada berbagai tugas. Terakhir, kita menggunakan Anthropic Python SDK untuk menghasilkan teks, mengakses kemampuan visi, melakukan streaming respons token demi token, dan menggunakan API secara asinkron.
Jika Anda baru di AI dan ingin memahami cara kerja internal LLM mutakhir, pertimbangkan untuk mengambil jalur keterampilan AI Fundamentals. Anda akan mendapatkan pengetahuan praktis tentang topik AI populer seperti ChatGPT, model bahasa besar, AI generatif, dan banyak lagi.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.




