วิธีเชื่อมต่อ Claude API เข้ากับแอปของคุณ
หากต้องการเชื่อมต่อ Claude API ให้สร้างคีย์ API ใน Claude Console ของ Anthropic เก็บไว้เป็น ความลับฝั่งเซิร์ฟเวอร์ (มักชื่อ ANTHROPIC_API_KEY) แล้วเรียก Messages API จากเส้นทาง (route) บนเซิร์ฟเวอร์ของคุณ โดยใช้ SDK อย่างเป็นทางการของ Anthropic แต่ละคำขอระบุ model กำหนด max_tokens (ความยาวสูงสุดของคำตอบที่คุณยอมรับ) และส่งบทสนทนาเป็น messages โดยคำสั่งของคุณอยู่ใน system prompt แยกต่างหาก ตั้งวงเงินการใช้จ่าย สตรีมคำตอบที่ยาว และจัดการข้อผิดพลาด rate limit (429) และ overload (529) ด้วยการลองใหม่
คู่มือนี้ครอบคลุมการตั้งค่า ขั้นตอนการส่งคำขออย่างปลอดภัย พรอมต์สำหรับเครื่องมือสร้างแอป AI และข้อผิดพลาดที่ต้องเตรียมรับมือ รายละเอียดของ Anthropic อ้างอิงจากเอกสารของเขา ณ เดือนกันยายน 2026 สำหรับวิธีการทำงานของโทเคนและการคิดราคาโดยทั่วไป ดู วิธีใช้ LLM API
สิ่งที่คุณสร้างได้ด้วยมัน
- แชทบอทผู้ช่วยและวิดเจ็ตช่วยเหลือ (วิธีสร้างแอปแชทบอท AI)
- การสรุป การเขียนใหม่ และการร่างคำตอบ
- การดึงข้อมูลฟิลด์จากเอกสาร อีเมล และฟอร์ม
- การตอบคำถามจากเนื้อหาของคุณเอง
- เอเจนต์ที่เรียกฟังก์ชันของแอปคุณผ่านการใช้เครื่องมือ (tool use)
ดูไอเดียเพิ่มเติมได้ที่ วิธีเพิ่มฟีเจอร์ AI ให้แอปของคุณ
Messages API โดยสรุป
ตามเอกสารอ้างอิง API ของ Anthropic คำขอคือ POST ไปที่ https://api.anthropic.com/v1/messages โดยมี:
| ส่วน | คืออะไร |
|---|---|
เฮดเดอร์ x-api-key | คีย์ API ของคุณ |
เฮดเดอร์ anthropic-version | เวอร์ชันของ API เช่น 2023-06-01 |
model (จำเป็น) | โมเดล Claude ที่จะใช้ |
max_tokens (จำเป็น) | จำนวนโทเคนสูงสุดที่คำตอบอาจมี โมเดลอาจหยุดก่อนได้ |
messages (จำเป็น) | บทสนทนา สลับกันระหว่างเทิร์นของ user และ assistant |
system (ไม่บังคับ) | คำสั่งที่ใช้กับทั้งบทสนทนา |
stream (ไม่บังคับ) | ตั้งเป็น true เพื่อรับคำตอบขณะที่กำลังถูกเขียน ผ่าน server-sent events |
API ไม่เก็บสถานะ เพื่อต่อบทสนทนา คุณต้องส่งเทิร์นก่อนหน้าอีกครั้งในทุกคำขอ นั่นเป็นเหตุผลที่แชทที่ยาวมีค่าใช้จ่ายต่อข้อความสูงขึ้น
Anthropic เผยแพร่ SDK อย่างเป็นทางการสำหรับ Python, TypeScript, C#, Go, Java, PHP และ Ruby SDK เหล่านี้ตั้งค่าเฮดเดอร์ แยกวิเคราะห์การตอบกลับ และรองรับการสตรีม ควรใช้ SDK แทน HTTP ดิบ เว้นแต่คุณมีเหตุผลที่ต้องไม่ใช้
เลือกโมเดล
Anthropic มีโมเดล Claude หลายรุ่นที่แลกความสามารถกับความเร็วและราคา และรายการโมเดลเปลี่ยนไปเรื่อย ๆ เลือกโมเดลที่เล็กที่สุดซึ่งทำงานของคุณได้ดี ทดสอบกับตัวอย่างจริง และเก็บ model ID ไว้ในการตั้งค่า เพื่อสลับโมเดลได้โดยไม่ต้องแก้โค้ด ตรวจสอบหน้าโมเดลและราคาของ Anthropic เพื่อดูตัวเลือกและอัตราปัจจุบัน
ตั้งค่าบัญชีของคุณ
- ลงชื่อเข้าใช้ Claude Console ที่ platform.claude.com และเพิ่มการเรียกเก็บเงิน
- สร้างคีย์ API ใช้คีย์แยกต่อสภาพแวดล้อม (ทดสอบและใช้งานจริง) เพื่อให้เพิกถอนคีย์หนึ่งได้โดยไม่กระทบอีกคีย์
- ตั้งวงเงินการใช้จ่าย หน้าข้อผิดพลาดของ Anthropic ระบุว่า เมื่อการใช้งานถึงวงเงินที่คุณตั้งไว้ API จะส่งข้อผิดพลาด 400 ดังนั้นแอปของคุณควรแสดงข้อความที่ชัดเจนเมื่อเกิดเหตุการณ์นี้
- ตรวจสอบ rate limit ของบัญชีในคอนโซล ซึ่งวัดต่อองค์กร
ขั้นตอนการส่งคำขอ
- ผู้ใช้ทำอะไรบางอย่างในแอปของคุณ เช่น ส่งข้อความ หรือคลิก "สรุป"
- เบราว์เซอร์เรียกเส้นทางบน เซิร์ฟเวอร์ของคุณ ไม่เคยเรียก Anthropic โดยตรง
- เซิร์ฟเวอร์ของคุณตรวจว่าผู้ใช้ลงชื่อเข้าใช้และมีสิทธิ์ใช้ฟีเจอร์นี้ และใช้ขีดจำกัดต่อผู้ใช้
- สร้างคำขอ: system prompt ที่มีกฎของคุณ อินพุตจากผู้ใช้ และข้อมูลที่งานต้องการจากฐานข้อมูลของคุณ
- เรียก Messages API ด้วยคีย์จากสภาพแวดล้อม และ
max_tokensที่เหมาะสม - สตรีมคำตอบไปยังเบราว์เซอร์ และบันทึกการใช้โทเคนจากการตอบกลับ
ตัวเลือกและการแลกเปลี่ยน
| การตัดสินใจ | ตัวเลือกง่าย | เมื่อควรไปไกลกว่านั้น |
|---|---|---|
| การสตรีม | รอจนได้คำตอบเต็ม | สตรีมสำหรับแชทและทุกอย่างที่ยาว Anthropic แนะนำให้ใช้การสตรีมหรือ batches กับคำขอที่ใช้เวลานาน |
| รูปแบบผลลัพธ์ | ข้อความธรรมดา | ผลลัพธ์เป็น JSON แบบมีโครงสร้าง เมื่อโค้ดของคุณต้องอ่านฟิลด์ |
| ข้อมูลของคุณ | ใส่ระเบียนที่เกี่ยวข้อง | การค้นคืนจากเนื้อหาของคุณเมื่อข้อมูลมีมากเกินไป (RAG คืออะไร) |
| การลงมือทำ | โมเดลเขียนข้อความอย่างเดียว | การใช้เครื่องมือ ที่โมเดลขอให้โค้ดของคุณรันฟังก์ชันที่คุณกำหนดไว้ |
| งานจำนวนมากที่ไม่เร่งด่วน | วนลูปทีละรายการ | Message Batches API ที่คุณส่งงานแล้วตรวจสอบผลลัพธ์ภายหลัง |
พรอมต์ที่ให้เครื่องมือสร้างแอป AI ของคุณ
ฟีเจอร์แรก:
เพิ่มแผงชื่อ "ถามเกี่ยวกับเอกสารนี้" ที่เรียกเส้นทางเซิร์ฟเวอร์ POST /api/ask ซึ่งตรวจว่าผู้ใช้ลงชื่อเข้าใช้และเป็นเจ้าของเอกสาร แล้วเรียก Claude Messages API ด้วย SDK อย่างเป็นทางการของ Anthropic และความลับ ANTHROPIC_API_KEY อ่าน model ID จากความลับ CLAUDE_MODEL System prompt: "ตอบเฉพาะจากเอกสารที่ให้มา หากคำตอบไม่มีในเอกสาร ให้บอกตามนั้น" ส่งข้อความของเอกสารและคำถาม ตั้ง max_tokens เป็น 800 สตรีมคำตอบไปยังหน้า และห้ามเปิดเผยคีย์ให้เบราว์เซอร์เด็ดขาด
กฎป้องกันและข้อผิดพลาด:
จำกัดผู้ใช้แต่ละคนให้ถามได้ 20 คำถามต่อชั่วโมง บันทึกในฐานข้อมูล บันทึกโทเคนขาเข้าและขาออกจากการตอบกลับแต่ละครั้งพร้อมรหัสผู้ใช้และรหัสคำขอ เมื่อเกิดข้อผิดพลาด 429 หรือ 529 ให้ลองใหม่แบบเพิ่มระยะรอทวีคูณสูงสุด 3 ครั้ง โดยเคารพเฮดเดอร์ retry-after แล้วแสดงข้อความ "ผู้ช่วยกำลังยุ่ง โปรดลองอีกครั้งในไม่ช้า" หาก API แจ้งข้อผิดพลาดวงเงินการใช้จ่าย ให้แสดง "ฟีเจอร์ AI ถูกหยุดชั่วคราว" และแจ้งเตือนผู้ดูแล
ข้อผิดพลาดที่ต้องเตรียมรับมือ
จากเอกสารข้อผิดพลาดของ Anthropic คือข้อผิดพลาดที่แอปของคุณจะพบจริง:
| รหัส | ประเภท | สิ่งที่ควรทำ |
|---|---|---|
| 400 | invalid_request_error | แก้ไขคำขอ ข้อผิดพลาดนี้ยังเกิดเมื่อถึงวงเงินการใช้จ่ายที่คุณตั้งไว้ |
| 401 | authentication_error | ตรวจว่ามีคีย์ ถูกต้อง และยังไม่ถูกเพิกถอน |
| 413 | request_too_large | ส่งข้อมูลให้น้อยลง Messages API รับได้ไม่เกิน 32 MB ต่อคำขอ |
| 429 | rate_limit_error | ถอยและลองใหม่ โดยเคารพ retry-after |
| 500 | api_error | ลองใหม่พร้อมระยะรอ และติดต่อฝ่ายสนับสนุนพร้อมรหัสคำขอหากยังเกิดซ้ำ |
| 529 | overloaded_error | การใช้งานสูงชั่วคราวจากผู้ใช้ทั้งหมด ถอยและลองใหม่ |
เอกสารของ Anthropic ระบุว่า SDK อย่างเป็นทางการจะลองใหม่อัตโนมัติสำหรับความล้มเหลวชั่วคราว (ข้อผิดพลาดการเชื่อมต่อ rate limit และ 5xx) สองครั้งตามค่าเริ่มต้น โดยใช้ระยะรอทวีคูณ และคุณปรับค่านี้ได้ การตอบกลับทุกครั้งมีเฮดเดอร์ request-id ให้บันทึกไว้เพื่อให้ฝ่ายสนับสนุนตรวจสอบปัญหาได้
ความผิดพลาดที่พบบ่อย
- เรียก API จากเบราว์เซอร์ คีย์ของคุณจะเปิดเผยต่อสาธารณะ ให้ผ่านเซิร์ฟเวอร์ของคุณเสมอ ดู วิธีเก็บคีย์ API ให้ปลอดภัย
- ลืมว่า
max_tokensคือเพดาน ไม่ใช่เป้าหมาย ตั้งตามที่ฟีเจอร์ต้องการ ต่ำเกินไปจะตัดคำตอบ สูงเกินไปเสี่ยงให้คำตอบยาวและมีค่าใช้จ่ายสูง - ใส่กฎในข้อความของผู้ใช้ คำสั่งที่คงที่ควรอยู่ใน
systemprompt ส่วนสิทธิ์ควรอยู่ในโค้ดของคุณ - ส่งแชททั้งหมดตลอดไป ตัดหรือสรุปเทิร์นเก่าเมื่อบทสนทนายาวขึ้น
- ไม่มีวงเงินการใช้จ่ายหรือขีดจำกัดต่อผู้ใช้
- ฝัง model ID ไว้ในโค้ด โมเดลถูกอัปเดตและยกเลิกได้
- ละเลยเหตุผลการหยุด (stop reason) หากคำตอบหยุดเพราะถึง
max_tokensให้บอกผู้ใช้หรือเพิ่มเพดาน
รายการตรวจสอบ
- สร้างคีย์ API ใน Claude Console และเก็บเป็นความลับฝั่งเซิร์ฟเวอร์
- แยกคีย์สำหรับการทดสอบและการใช้งานจริง
- ตั้งวงเงินการใช้จ่ายและมีข้อความชัดเจนเมื่อถึงวงเงิน
- ทุกคำขอผ่านเซิร์ฟเวอร์ของคุณพร้อมการตรวจสิทธิ์
- system prompt เก็บกฎ และ model ID ตั้งค่าได้
- ตั้ง
max_tokensตามฟีเจอร์ และสตรีมคำตอบที่ยาว - มี rate limit ต่อผู้ใช้ในแอปของคุณ
- จัดการ 429 และ 529 ด้วยการถอยรอ และบันทึกรหัสคำขอ
- มีสถานะข้อผิดพลาดที่เป็นมิตรและไม่ทำให้หน้าเว็บพัง
- ทดสอบด้วยอินพุตที่ว่างเปล่า ยาวมาก และเป็นอันตราย
การใช้ Claude API ใน Mythex
ในแอปที่คุณสร้างบน Mythex ฟีเจอร์ Claude ใช้ คีย์ Anthropic ของคุณเอง และเรียกเก็บเงินจากบัญชี Anthropic ของคุณ ไม่ได้หักจากเครดิตการสร้างของ Mythex ซึ่งแยกต่างหากจากเอเจนต์ของ Mythex ที่เขียนโค้ดให้คุณ เพิ่ม ANTHROPIC_API_KEY เป็นความลับของโปรเจกต์ผ่าน /secrets การตั้งค่าโปรเจกต์ หรือการ์ดความลับในแชท แล้วอธิบายฟีเจอร์ด้วยพรอมต์คล้ายข้างบน เผยแพร่ใหม่ทุกครั้งหลังเปลี่ยนความลับในแอปที่ใช้งานอยู่ ดู เพิ่มฟีเจอร์ AI ด้วยคีย์ API ของคุณเอง สำหรับพรอมต์เริ่มต้น หากคุณกำลังเลือกระหว่างผู้ให้บริการ วิธีเชื่อมต่อ OpenAI API ครอบคลุมเรื่องเดียวกันสำหรับ OpenAI
คำถาม
ได้คีย์ Claude API ได้อย่างไร?
ลงชื่อเข้าใช้ Claude Console ที่ platform.claude.com ตั้งค่าการเรียกเก็บเงิน แล้วสร้างคีย์ API เก็บเป็นความลับฝั่งเซิร์ฟเวอร์ โดยทั่วไปตั้งชื่อว่า ANTHROPIC_API_KEY และอย่าใส่ไว้ในโค้ดฝั่งเบราว์เซอร์เด็ดขาด
คำขอไปยัง Claude API ต้องมีอะไรบ้าง?
ตามเอกสารอ้างอิง Messages API ของ Anthropic ณ เดือนกันยายน 2026 เนื้อหาคำขอต้องมีสามฟิลด์ที่จำเป็น ได้แก่ model, max_tokens และ messages การเรียก HTTP โดยตรงต้องส่งเฮดเดอร์ x-api-key และ anthropic-version ด้วย ส่วน SDK อย่างเป็นทางการจะตั้งค่าเหล่านี้ให้อัตโนมัติ
ข้อผิดพลาด 529 จาก Claude API คืออะไร?
หน้าข้อผิดพลาดของ Anthropic อธิบาย 529 ว่าเป็น overloaded_error หมายความว่า API ทำงานหนักชั่วคราวเพราะมีการใช้งานสูงจากผู้ใช้ทั้งหมด ให้ลองใหม่โดยเพิ่มระยะเวลารอแบบทวีคูณ (exponential backoff) SDK อย่างเป็นทางการจะลองใหม่ให้อัตโนมัติสำหรับข้อผิดพลาดชั่วคราวบางประเภท
ใช้ Claude กับโค้ดที่เขียนด้วย OpenAI SDK ได้ไหม?
Anthropic มีเอกสารเกี่ยวกับชั้นความเข้ากันได้กับ OpenAI SDK ที่ให้ใช้ Claude ผ่านรูปแบบของ OpenAI SDK ได้ สำหรับโค้ดใหม่ SDK ของ Anthropic เองให้เข้าถึงฟีเจอร์เฉพาะของ Claude ได้ จึงมักเป็นจุดเริ่มต้นที่ดีกว่า