Learn AI with Python · บทเรียน

Anthropic Claude API ใน Python

anthropic.Anthropic(), messages.create(), บล็อกเนื้อหา การคิดแบบขยาย และการส่งข้อมูลแบบต่อเนื่อง

บทเรียน 2 จาก 413 ขั้นตอน

Anthropic Claude API ใน Python เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

SDK ของ Anthropic

คุณเข้าถึงโมเดล Claude ของ Anthropic ได้ผ่านแพ็กเกจ Python anthropic ติดตั้งด้วย pip install anthropic Claude โดดเด่นด้านการให้เหตุผลกับบริบทขนาดยาว การทำตามคำสั่งอย่างรอบคอบ และการใช้เครื่องมือ

pip install anthropic

import anthropic

การสร้างไคลเอ็นต์

สร้างไคลเอ็นต์ด้วย anthropic.Anthropic() โดยค่าเริ่มต้น ไคลเอ็นต์จะอ่านคีย์จากตัวแปรสภาพแวดล้อม ANTHROPIC_API_KEY ซึ่งช่วยเก็บข้อมูลรับรองให้แยกออกจากโค้ด

import anthropic

client = anthropic.Anthropic()

# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")

API สำหรับข้อความ

Claude ใช้ client.messages.create() ต่างจาก OpenAI ตรงที่ คำสั่งระบบเป็นพารามิเตอร์แยกต่างหาก ไม่ใช่ข้อความในรายการ รายการ messages จะเก็บเฉพาะรอบการสนทนาของผู้ใช้และผู้ช่วย

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system="You are a concise expert.",
    messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)

ต้องระบุ max_tokens

ความแตกต่างสำคัญคือ max_tokens เป็นค่าที่ ต้องระบุ ใน API ของ Anthropic ค่านี้จำกัดจำนวนโทเค็นที่ Claude อาจสร้างในคำตอบ ตั้งค่าให้สูงพอสำหรับผลลัพธ์ที่คาดหวัง แต่ค่านี้ยังช่วยป้องกันค่าใช้จ่ายที่พุ่งสูงเกินควบคุมได้ด้วย

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Write a haiku about Python."}]
)

การอ่านการตอบกลับ

Claude จะส่งรายการ content ที่ประกอบด้วยบล็อกต่าง ๆ กลับมา สำหรับข้อความธรรมดา คำตอบจะอยู่ที่ message.content[0].text ที่เป็นรายการก็เพราะการตอบกลับหนึ่งครั้งอาจมีหลายบล็อก เช่น ข้อความพร้อมคำขอใช้เครื่องมือ

print(message.content[0].text)

# Inspect block type
print(message.content[0].type)  # "text"

ประวัติการสนทนา

เช่นเดียวกับ API สนทนาอื่น ๆ Claude ไม่มีสถานะ หากต้องการสนทนาต่อ คุณต้องผนวกคำตอบของผู้ช่วยและรอบถัดไปของผู้ใช้เข้าไปใน messages ด้วยตนเอง

messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)

messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})

การสตรีมด้วยตัวจัดการบริบท

สำหรับผลลัพธ์แบบเรียลไทม์ Claude มี client.messages.stream() ซึ่งใช้เป็น ตัวจัดการบริบท ร่วมกับคำสั่ง with วิธีนี้จะเปิดและปิดการเชื่อมต่ออย่างปลอดภัย

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    pass  # iterate inside

การวนซ้ำผ่านสตรีมข้อความ

ภายในบล็อก with ให้วนลูปผ่าน stream.text_stream เพื่อรับส่วนข้อความที่เปลี่ยนแปลงขณะที่ Claude สร้างข้อความ แต่ละรายการเป็นสตริงที่พร้อมพิมพ์

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

การรับข้อความฉบับสุดท้าย

หลังการสตรีมเสร็จสิ้น ให้เรียกใช้ stream.get_final_message() เพื่อดึงออบเจ็กต์ข้อความที่ประกอบรวมเสร็จสมบูรณ์ ซึ่งรวมข้อมูลการใช้งานและบล็อกเนื้อหาทั้งหมด

with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
        messages=[{"role": "user", "content": "Hi"}]) as stream:
    for text in stream.text_stream:
        print(text, end="")
    final = stream.get_final_message()

การใช้งานโทเค็น

การตอบกลับจะมีออบเจ็กต์ usage ซึ่งประกอบด้วย input_tokens และ output_tokens โปรดสังเกตว่าการตั้งชื่อต่างจาก OpenAI (ซึ่งใช้ prompt/completion) แต่ความหมายเหมือนกัน คือใช้ติดตามค่าใช้จ่ายต่อการเรียกใช้แต่ละครั้ง

print(message.usage.input_tokens)
print(message.usage.output_tokens)

ความแตกต่างระหว่าง OpenAI กับ Anthropic

ความแตกต่างสำคัญที่ควรจำมีดังนี้ Anthropic ใส่ คำสั่งระบบไว้ในพารามิเตอร์ของตัวเอง กำหนดให้ต้องมี max_tokens อ่านข้อความจาก content[0].text และสตรีมผ่านตัวจัดการบริบท with เมื่อเข้าใจสิ่งเหล่านี้แล้ว คุณจะสลับระหว่างผู้ให้บริการได้อย่างมั่นใจ

ตรวจสอบความเข้าใจ

ทดสอบความรู้เกี่ยวกับ Anthropic ของคุณ

สรุป: Claude ใน Python

คุณสร้างไคลเอ็นต์ anthropic.Anthropic() และเรียกใช้ messages.create() พร้อม max_tokens ที่จำเป็นต้องระบุและคำสั่ง system ที่แยกต่างหาก คุณอ่านคำตอบจาก content[0].text และติดตามค่าใช้จ่ายผ่าน usage.input_tokens / output_tokens

สำหรับการสตรีม คุณใช้ client.messages.stream() เป็นตัวจัดการบริบท with วนซ้ำผ่าน text_stream และดึงผลลัพธ์ที่ประกอบรวมแล้วด้วย get_final_message()

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
53
บทเรียน
225

คำถามที่พบบ่อย

บทเรียน “Anthropic Claude API ใน Python” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Anthropic Claude API ใน Python” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Anthropic Claude API ใน Python”

anthropic.Anthropic(), messages.create(), บล็อกเนื้อหา การคิดแบบขยาย และการส่งข้อมูลแบบต่อเนื่อง คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “Anthropic Claude API ใน Python” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. OpenAI API: chat.completions และการส่งข้อมูลแบบต่อเนื่อง
  2. Anthropic Claude API ใน Python
  3. การเรียกใช้ฟังก์ชันและการใช้เครื่องมือด้วย LLM
  4. วิศวกรรมพรอมต์สำหรับแอป LLM ในระบบจริง
← กลับไปที่ Learn AI with Python