Lộ trình
Cuộc đua AI vẫn đang rất căng thẳng, với Gemini và Gemma của Google gây chú ý gần đây, nhưng giờ đây Claude 3 của Anthropic đã nổi lên như một đối thủ mạnh mẽ, vượt trội GPT-4 và Gemini Ultra trên tất cả các điểm chuẩn.
Trong hướng dẫn này, chúng ta sẽ khám phá các mô hình Claude 3, các điểm chuẩn hiệu năng và cách truy cập chúng. Chúng ta cũng sẽ so sánh Claude 3 với phiên bản tiền nhiệm Claude 2.1 và ChatGPT. Cuối cùng, chúng ta sẽ tìm hiểu về API Python của Claude 3 để sinh văn bản, truy cập khả năng thị giác, phát trực tuyến phản hồi và sử dụng bất đồng bộ.
Claude 3 là gì?
Gần đây Anthropic đã giới thiệu một họ mô hình AI mới gọi là Claude 3. Những mô hình này thiết lập các tiêu chuẩn ngành trong nhiều nhiệm vụ nhận thức. Dòng Claude 3 gồm ba mô hình tiên tiến: Haiku, Sonnet và Opus. Chúng có thể vận hành trò chuyện khách hàng theo thời gian thực, tự động hoàn thành và tác vụ trích xuất dữ liệu.
Hiện tại, Opus và Sonnet khả dụng trên claude.ai và Claude API, trong khi mô hình nhỏ hơn Haiku sẽ sớm ra mắt. Các mô hình Claude 3 giỏi hơn trong việc tuân theo hướng dẫn phức tạp, nhiều bước, giữ đúng giọng điệu thương hiệu và nguyên tắc phản hồi, cũng như tạo đầu ra có cấu trúc ở các định dạng như JSON.
So với các mô hình Claude trước đây, những mô hình mới này cho thấy khả năng hiểu ngữ cảnh được cải thiện, dẫn đến ít từ chối không cần thiết hơn.
Chúng cung cấp cửa sổ ngữ cảnh 200K nhưng có thể xử lý đầu vào vượt quá 1 triệu token. Cụ thể, Claude 3 Opus đạt khả năng hồi tưởng gần như hoàn hảo, vượt 99% độ chính xác.
Để đảm bảo độ tin cậy của các mô hình, Anthropic có các đội ngũ chuyên trách theo dõi và giảm thiểu nhiều loại rủi ro.
Chi tiết mô hình
Claude 3 cung cấp ba mô hình cân bằng giữa trí tuệ, tốc độ và chi phí cho nhiều ứng dụng.
Claude 3 Opus
Opus được thiết kế cho các nhiệm vụ phức tạp, đòi hỏi trí tuệ cao, nổi trội trong giải quyết vấn đề mở và phân tích chiến lược, với cửa sổ ngữ cảnh lớn và chi phí cao hơn phản ánh năng lực tiên tiến của nó.
Giá: Token đầu vào $15 mỗi triệu và token đầu ra $75 mỗi triệu.
Claude 3 Sonnet
Sonnet mang lại sự cân bằng tối ưu giữa hiệu năng và chi phí, lý tưởng cho khối lượng công việc doanh nghiệp liên quan đến xử lý dữ liệu, tối ưu hóa bán hàng và triển khai AI ở quy mô. Mức giá phải chăng và đi kèm cửa sổ ngữ cảnh lớn.
Giá: Token đầu vào $3 mỗi triệu và token đầu ra $15 mỗi triệu.
Claude 3 Haiku
Haiku nổi bật về tốc độ và hiệu quả, phục vụ nhu cầu phản hồi theo thời gian thực trong chăm sóc khách hàng, kiểm duyệt nội dung và các tác vụ tiết kiệm chi phí, khiến nó trở thành mô hình rẻ nhất và phản hồi nhanh nhất trong bộ.
Giá: Token đầu vào $0,25 mỗi triệu và token đầu ra $1,25 mỗi triệu.
Cách truy cập Claude 3
Có ba cách để truy cập các mô hình Claude 3.
Claude Chat
Nếu bạn muốn thử các mô hình Claude AI một cách đơn giản và miễn phí, bạn có thể đăng ký tại claude.ai/chats, tương tự như ChatGPT. Giao diện trò chuyện tương tác và dễ sử dụng.
Hiện họ đang cung cấp Claude 3 Sonnet miễn phí, nhưng để truy cập Claude 3 Opus, bạn sẽ cần mua gói thuê bao tháng Claude Pro.

Claude Chat
Workbench
Để truy cập Claude 3 Opus miễn phí, bạn phải đăng ký Anthropic API: console.anthropic.com.
Làm theo các bước đơn giản để đăng ký miễn phí và bắt đầu dùng mô hình Opus bằng cách nhấp vào thẻ Workbench và chọn mô hình “claude-3-opus-20240229”.

Anthropic Workbench
API và SDK
Cách thứ ba để truy cập các mô hình Claude 3 là qua API. Anthropic cung cấp bộ SDK cho Python và Typescript. Bạn cũng có thể truy cập mô hình thông qua REST API bằng lệnh curl trong 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?"}
]
}'
Đi sâu vào các điểm chuẩn
Các mô hình Claude 3 đã được đánh giá so với những mô hình ngôn ngữ lớn (LLM) hàng đầu và cho thấy cải thiện đáng kể trong nhiều bài kiểm tra.
Đặc biệt, Claude 3 Opus đã vượt GPT-4 và Gemini Ultra trên một số điểm chuẩn đánh giá phổ biến nhất, bao gồm MMLU, GPQA và GSM8K. Nó thể hiện mức độ hiểu và lưu loát gần như con người ở các nhiệm vụ phức tạp, đánh dấu bước đầu hướng tới trí tuệ tổng quát.
Khám phá LLM tiên tiến của OpenAI bằng cách đọc bài viết của DataCamp về GPT-4 là gì và vì sao quan trọng? Đồng thời, tìm hiểu đối thủ ChatGPT của Google, Google Gemini, qua bài Google Gemini là gì? Mọi điều bạn cần biết.
Các mô hình Claude 3 đã cải thiện trong phân tích và dự báo, sinh mã, và tạo phản hồi bằng các ngôn ngữ không phải tiếng Anh, thể hiện qua dữ liệu Điểm chuẩn dưới đây:

Khả năng thị giác của mô hình Claude 3 đã cải thiện đáng kể, cho phép hiểu các bức ảnh, sơ đồ và biểu đồ phức tạp. Tiến bộ này có lợi cho doanh nghiệp với kho tri thức ở nhiều định dạng, như PDF, lưu đồ và slide thuyết trình.

Các mô hình Claude 3 cũng cải thiện đáng kể trong việc giảm các từ chối không cần thiết và tăng độ chính xác so với các thế hệ trước.

Cuối cùng, chúng ta có thể thấy các mô hình Claude 3 đạt độ chính xác tăng gấp đôi ở câu hỏi mở so với Claude 2.1. Ngoài ra, các mô hình mới cũng giảm mức độ trả lời sai.
Claude 3 Opus so với Claude 2.1
Trong phần này, chúng ta sẽ so sánh phản hồi của Claude 3 Opus và Claude 2.1 trên ba nhiệm vụ phổ biến để hiểu hiệu năng tương ứng của chúng.
Hỏi & Đáp
Đề bài: Tôi nói mà không có miệng và nghe mà không có tai. Tôi không có cơ thể, nhưng tôi sống dậy khi có gió. Tôi là gì?
Claude 2.1 từ chối trả lời câu hỏi, viện dẫn thiếu nội dung. Tuy nhiên, người dùng đang đố mẹo, và Claude Opus đã đưa ra đáp án đúng.
Sinh mã
Đề bài: Tạo một ứng dụng web FastAPI cho mô hình phân loại Scikit-learn đơn giản.
Mã của Claude 2.1 ban đầu có vẻ hoạt động, nhưng báo lỗi sau khi nhập giá trị mẫu. Khi kiểm tra, chúng tôi phát hiện mã chưa tối ưu và hàm suy luận có vài sai sót.
Ngược lại, khi so với Claude 3 Opus, chúng tôi thấy mã chạy mượt và đưa ra dự đoán chính xác, như dưới đây.

Vấn đề phức tạp
Đề bài: Mạng nơ-ron với một tầng và một đầu vào, một đầu ra so với hồi quy logistic thì như thế nào?
Cả hai mô hình đều đưa ra câu trả lời tương tự, nhưng phản hồi của Claude 3 Opus chi tiết hơn và dễ đọc hơn.
Claude 3 Opus so với ChatGPT 4
Hãy so sánh Claude 3 Opus và ChatGPT 4 trên các nhiệm vụ tương tự ở trên để thấy Claude 3 có phần nhỉnh hơn một chút so với GPT-4.
Hỏi & Đáp
Đề bài: Sao Mộc có bao nhiêu mặt trăng?

Cả hai phát biểu đều không chính xác. Tính đến ngày 5 tháng 2 năm 2024, Sao Mộc có 95 mặt trăng. Đề bài này hữu ích để hiểu mốc thời gian dữ liệu huấn luyện. Có vẻ Claude 3 Opus được huấn luyện trên bộ dữ liệu cũ hơn từ 2021, trong khi ChatGPT được cập nhật lần cuối vào tháng 4/2023.
Sinh mã
Đề bài: Tạo một ứng dụng web Gradio cho mô hình phân loại Scikit-learn đơn giản.

Mã do mô hình Claude 3 sinh ra chạy mượt, nhưng mã do GPT-4 sinh ra không chạy được do nhiều lỗi và ảo giác.
Vấn đề phức tạp
Đề bài: Có bốn người trong thang máy và bốn tầng trong một tòa nhà. Xác suất mỗi người xuống một tầng khác nhau là bao nhiêu?

Cả hai mô hình đều đưa ra đáp án đúng cho câu hỏi xác suất nổi tiếng này. Một bên trình bày phần toán học, bên kia sinh và chạy mã Python để hiển thị cùng đáp án. Trường hợp này cả hai đều thắng.
Claude 3 Python SDK
Trong phần này, chúng ta sẽ tìm hiểu về Claude 3 Python SDK và cách dùng nó để tạo phản hồi tùy biến.
Bắt đầu
1. Cài gói Python anthropic bằng PIP.
pip install anthropic
2. Trước khi cài gói Python, chúng ta cần truy cập https://console.anthropic.com/dashboard để lấy API key.

3. Thiết lập biến môi trường ANTHROPIC_API_KEY và gán giá trị bằng API key. Thiết lập và truy cập biến môi trường khá dễ trong DataLab, sổ tay dữ liệu hỗ trợ AI của DataCamp.

4. Tạo đối tượng client bằng API key. Chúng ta sẽ dùng client này để sinh văn bản, truy cập khả năng thị giác và phát trực tuyến.
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
)
Claude 2 Completions API
Lưu ý quan trọng: mô hình Claude 3 mới không sử dụng Completion API. Nếu bạn cố dùng API này cho các mô hình Claude 3, sẽ xảy ra lỗi và bạn sẽ được khuyên dùng Messages API thay thế.
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)

Nếu bạn muốn tìm hiểu thêm về Claude Python API có chi phí thấp hơn, hãy đọc Bắt đầu với Claude 2 và Anthropic API.
Claude 3 Messages API
Cho rõ ràng, chúng ta sẽ thử nghiệm Anthropic Messages API cho mô hình Claude 3 Opus. API này giống với Completion API, nhưng yêu cầu đối số messages được cung cấp dưới dạng danh sách các từ điển chứa vai trò và nội dung.
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)
Sử dụng IPython Markdown sẽ hiển thị phản hồi ở định dạng Markdown. Tức là nó sẽ trình bày gọn gàng các gạch đầu dòng, khối mã, tiêu đề và liên kết.

Mã hoạt động hoàn hảo và phần giải thích đủ rõ để bất kỳ ai cũng hiểu chuyện gì đang diễn ra.
Thêm System Prompt
Chúng ta có thể tùy biến phản hồi bằng cách cung cấp system prompt. Ở đây chúng ta yêu cầu chuyển tất cả phản hồi sang tiếng Thụy Điển.
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)
Mô hình đã tạo hoàn hảo một báo cáo về biến đổi khí hậu bằng tiếng Thụy Điển.

Claude 3 Vision Block
Messages API bao gồm khả năng thị giác. Trong phần này, chúng ta sẽ dùng hai bức ảnh từ Pexels.com để tạo phản hồi.
- Ảnh 1: Ảnh của Debayan Chakraborty: https://www.pexels.com/photo/indian-blue-jay-20433278/
- Ảnh 2: Ảnh của Rachel Xiao: https://www.pexels.com/photo/brown-pendant-lamp-hanging-on-tree-near-river-772429/

Chúng ta sẽ tải ảnh bằng gói httpx và chuyển sang mã hóa 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")
Thị giác với một ảnh
Để hỏi về ảnh, chúng ta cần cung cấp cho Claude 3 API dữ liệu ảnh, loại mã hóa và kiểu media. Cả ảnh và prompt đều là phần của từ điển content cho đối số 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)

Thị giác với nhiều ảnh
Thêm nhiều ảnh có thể phức tạp, nhưng nếu bạn làm theo mẫu trong ví dụ mã, bạn sẽ hiểu cách hoạt động.
Chúng ta chỉ cần tạo văn bản đánh dấu Ảnh 1 và Ảnh 2, rồi đặt câu hỏi về hai ảnh này.
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)
Hoàn hảo. Cả hai ảnh đều có chim.

Claude 3 Streaming API
Phát trực tuyến đề cập đến quá trình sinh đầu ra văn bản một cách liên tục, thay vì đợi toàn bộ chuỗi được tạo xong mới trả về. Với kỹ thuật này, đầu ra được tạo theo từng token, giúp giảm độ trễ cảm nhận.
Thay vì create, chúng ta sẽ dùng hàm stream để tạo phản hồi phát trực tuyến.
Để hiển thị kết quả, chúng ta sẽ dùng cú pháp with và vòng lặp for để in token ngay khi có.
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 đồng bộ thực thi các yêu cầu tuần tự và chặn cho đến khi nhận phản hồi trước khi gọi tiếp theo. Ngược lại, API bất đồng bộ cho phép nhiều yêu cầu đồng thời mà không chặn, giúp hiệu quả và mở rộng tốt hơn.
Chúng ta sẽ khởi tạo async client bằng AsyncAnthropic. Sau đó, tạo hàm main với từ khóa async và chạy hàm bằng asyncio.run.
Lưu ý: Nếu bạn dùng async trong Jupyter Notebook, hãy thử dùng await main() thay vì 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())

Kết hợp phát trực tuyến với Async API
Chúng ta có thể dễ dàng kết hợp phát trực tuyến với phương thức async bằng cách dùng hàm stream của async client. Cách này cho phép nhận nhiều yêu cầu và phát trực tuyến phản hồi, giúp ứng dụng AI có khả năng mở rộng và ổn định.
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())

Nếu bạn gặp khó khăn khi chạy mã, bạn có thể truy cập sổ tay DataLab này để xem và tự chạy mã (sau khi tạo bản sao).
Tìm hiểu cách truy cập các mô hình ngôn ngữ lớn của OpenAI bằng cách làm theo hướng dẫn Sử dụng GPT-3.5 và GPT-4 qua OpenAI API trong Python.
Lời kết
Anthropic giờ đây là một công ty hướng đến công chúng và doanh nghiệp, tương tự OpenAI. Họ cung cấp quyền truy cập vào các mô hình của mình cho bất kỳ ai, và trong một số trường hợp là miễn phí. Bạn có thể truy cập LLM hiệu năng cao nhất Claude 3 Opus thông qua thuê bao Pro hoặc qua API. Tuy nhiên, Anthropic chưa có hệ sinh thái như OpenAI, thiếu các mô hình embedding, sinh ảnh và video, chuyển văn bản thành giọng nói và nhận dạng giọng nói. Họ cũng thiếu các chức năng cốt lõi mà OpenAI API cung cấp.
Bạn có thể khám phá mô hình chuyển văn bản thành video mới của OpenAI đang gây bão mạng xã hội bằng cách đọc Sora của OpenAI là gì? Cách hoạt động, trường hợp sử dụng, lựa chọn thay thế & hơn thế nữa.
Trong hướng dẫn này, chúng ta đã tìm hiểu về mô hình Claude 3 đang được chú ý trong thế giới AI. Chúng ta so sánh nó với Claude 2.1 và GPT-4 ở nhiều nhiệm vụ. Cuối cùng, chúng ta dùng Anthropic Python SDK để sinh văn bản, truy cập khả năng thị giác, phát trực tuyến phản hồi theo từng token và sử dụng API bất đồng bộ.
Nếu bạn mới làm quen AI và muốn hiểu cơ chế hoạt động của các LLM tiên tiến, bạn nên cân nhắc học lộ trình kỹ năng AI Fundamentals. Khóa học sẽ cung cấp kiến thức thực hành về các chủ đề AI phổ biến như ChatGPT, mô hình ngôn ngữ lớn, AI sinh, và nhiều hơn nữa.
Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.



