DeepSeek-V4-Pro-0813 เปิดให้บริการทั่วไปเมื่อวันที่ 12 สิงหาคม 2026 ภายใต้รหัสโมเดล deepseek-v4-pro ที่ https://api.deepseek.com และมีการอัปเดตอย่างต่อเนื่อง ควบคู่กับ deepseek-v4-flash ที่ราคาถูกกว่า (Unite.AI รายงานข่าวการเปิดให้บริการทั่วไป) จุดเด่นของรุ่นนี้คือหน้าต่างบริบท 1M โทเค็น, เอาต์พุตสูงสุด 384K, การเรียกใช้เครื่องมือ, เอาต์พุตแบบมีโครงสร้าง และโหมดการคิดสามแบบที่ส่งร่องรอยการให้เหตุผลผ่านฟิลด์ reasoning_content
จุดที่น่าสนใจไม่ได้อยู่แค่สเปก แต่คือโมเดลเดียวรองรับ API ได้ 3 รูปแบบ ได้แก่ OpenAI ChatCompletions, Anthropic Messages และ DeepSeek Responses API คุณจึงสามารถย้าย OpenAI SDK เดิม, เอเจนต์ที่สร้างบน Claude หรือเวิร์กโฟลว์แบบ Codex-style มาใช้โมเดลเดียวกันได้ โดยเลือกเพียงรูปแบบการสื่อสารที่เหมาะกับสแตกของคุณ
บทความนี้เปรียบเทียบทั้ง 3 รูปแบบแบบลงมือทำ พร้อมตัวอย่างคำขอ ตารางเปรียบเทียบ และแนวทางทดสอบในโปรเจกต์ Apidog เดียวด้วย environment variables ร่วมกัน หากยังไม่ได้ตั้งค่าบัญชีหรือทดลองเรียก API ครั้งแรก ให้เริ่มจาก วิธีใช้ DeepSeek V4 API ก่อน
สรุปสั้นๆ
- DeepSeek-V4-Pro-0813 ใช้งานผ่าน
deepseek-v4-proที่https://api.deepseek.comส่วนdeepseek-v4-flashใช้รูปแบบ API เดียวกันแต่ราคาถูกกว่า - รองรับ 3 รูปแบบ API:
-
OpenAI ChatCompletions: ใช้กับ
openaiSDK ได้โดยเปลี่ยนbase_url -
Anthropic Messages: ใช้กับคำขอรูปแบบ
anthropicรวมถึง Claude Code - DeepSeek Responses API: เหมาะกับเอเจนต์แบบ Codex และเวิร์กโฟลว์แบบมีสถานะ
-
OpenAI ChatCompletions: ใช้กับ
- คุณสมบัติหลัก: context 1M, เอาต์พุตสูงสุด 384K, tool calling, structured output และ
reasoning_content - ราคา: อินพุตไม่อยู่ในแคช $0.435/M โทเค็น, อินพุตอยู่ในแคช $0.003625/M โทเค็น และเอาต์พุต $0.87/M โทเค็น
- รูปแบบทั้งสามต่างกันที่ตำแหน่ง system prompt, ความหมายของ
max_tokens, schema ของเครื่องมือ และ streaming events - ใช้โปรเจกต์ Apidog เดียว พร้อม
{{DEEPSEEK_API_KEY}}และตัวแปร base URL แยกตามรูปแบบ เพื่อส่งพรอมต์เดียวกันและเปรียบเทียบ raw response ได้
ทำไมโมเดลเดียวถึงรองรับ 3 รูปแบบ
นี่คือแนวทางด้านความเข้ากันได้ของ ecosystem
-
ChatCompletions เป็นภาษากลางของ SDK และเฟรมเวิร์กจำนวนมาก จึงย้ายมาใช้ V4 Pro ได้ด้วยการเปลี่ยน
base_url - Anthropic Messages เหมาะกับทีมที่มีเอเจนต์, eval harness หรือเครื่องมือที่สร้างบน Claude อยู่แล้ว
- Responses API มุ่งเป้าไปที่งาน agentic ที่ต้องการเวิร์กโฟลว์หลายขั้นตอนและการจัดการสถานะ
V4 Pro ยังปรากฏในผู้ให้บริการรวมโมเดล เช่น หน้า OpenRouter ของ deepseek-v4-pro-0813 แต่บทความนี้เน้นการเรียกผ่าน DeepSeek API โดยตรง หากต้องการภาพรวมของตระกูล V4 เพิ่มเติม ดู วิธีใช้ DeepSeek V4
รูปแบบที่ 1: OpenAI ChatCompletions
รูปแบบนี้เหมาะที่สุดหากคุณมีโค้ด OpenAI อยู่แล้ว ใช้ messages array โดยวาง system prompt เป็นข้อความแรกที่มี role: "system"
สิ่งที่ต้องตั้งค่ามีเพียง:
- DeepSeek API key
- DeepSeek base URL
-
model: "deepseek-v4-pro"หรือdeepseek-v4-flash
ตัวอย่าง Python ด้วย openai SDK
from openai import OpenAI
client = OpenAI(
api_key="YOUR_DEEPSEEK_API_KEY",
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "system", "content": "You are a precise technical writer."},
{"role": "user", "content": "Explain idempotency keys in two sentences."}
],
)
print(response.choices[0].message.content)
การเรียกใช้เครื่องมือใช้ schema แบบ function ตามสไตล์ OpenAI และการสตรีมส่ง chat.completion.chunk deltas ก่อนจบด้วย data: [DONE]
ข้อควรระวังสำหรับ V4 คือ เมื่อเปิดโหมดการคิด ร่องรอยการให้เหตุผลจะอยู่ใน reasoning_content แยกจาก content ดังนั้น parser ของคุณควรรองรับฟิลด์นี้ด้วย
ควรใช้เมื่อใด
เลือก ChatCompletions หากคุณใช้:
- OpenAI SDK
- LangChain หรือเฟรมเวิร์กที่รองรับ ChatCompletions
- ไลบรารีภายในที่เรียก
/chat/completionsอยู่แล้ว
โครงสร้างคำขอเหมือนกับ การทดสอบ ChatGPT API ด้วย Apidog โดยเปลี่ยนเฉพาะ host และ model
รูปแบบที่ 2: Anthropic Messages
Anthropic Messages มีลักษณะคล้าย ChatCompletions แต่ไม่ควรแปลง body แบบตรงตัว เพราะมีความต่างสำคัญ 3 จุด
- system prompt อยู่นอก
messagesarray โดยใช้ฟิลด์system -
max_tokensเป็นฟิลด์บังคับ - schema ของเครื่องมือเป็นแบบแบน โดยแต่ละเครื่องมือมี
name,descriptionและinput_schema
ตัวอย่าง Python ด้วย anthropic SDK
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com/anthropic", # ตรวจสอบเส้นทางล่าสุดจากเอกสาร DeepSeek
)
message = client.messages.create(
model="deepseek-v4-pro",
max_tokens=8192,
system="You are a precise technical writer.",
messages=[
{
"role": "user",
"content": "Explain idempotency keys in two sentences."
}
],
)
print(message.content[0].text)
ผลลัพธ์จะเป็นรายการ content blocks แทน string เดียว และ SSE streaming จะใช้ events แบบมีชื่อ เช่น:
message_start
content_block_delta
message_stop
รายละเอียด endpoint และ header ที่รองรับล่าสุดควรตรวจสอบจาก เอกสาร API ของ DeepSeek
ใช้กับ Claude Code
หากเครื่องมือของคุณอ่านค่าจาก environment variables ให้ชี้ Claude-compatible client ไปยัง DeepSeek ได้โดยไม่ต้องแก้โค้ดหลัก:
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_API_KEY
export ANTHROPIC_MODEL=deepseek-v4-pro
ควรใช้เมื่อใด
เลือก Messages หากสแตกของคุณเป็น Claude-native เช่น:
- เอเจนต์ที่ใช้
anthropicSDK - Claude Code
- eval harness ที่สร้างบน Messages API
- ระบบที่ต้องการเปรียบเทียบ DeepSeek กับ Claude ด้วย request shape เดียวกัน
โครงสร้างนี้สอดคล้องกับแนวทางใน คู่มือ Claude Opus 5 API
รูปแบบที่ 3: DeepSeek Responses API
Responses API เป็นอินเทอร์เฟซที่เหมาะกับงาน agentic โดยเฉพาะ แทนที่จะส่ง messages เป็นหลัก คุณส่ง input พร้อม instructions ระดับบนสุด
ตัวอย่าง curl
curl https://api.deepseek.com/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-v4-pro",
"instructions": "You are an API review agent. Be terse.",
"input": "Review this OpenAPI diff and list any breaking changes: [diff here]",
"stream": false
}'
รูปแบบนี้แตกต่างจากอีกสองแบบใน 3 ด้านหลัก
-
รองรับสถานะฝั่งเซิร์ฟเวอร์: คำขอต่อเนื่องสามารถอ้างอิง response ก่อนหน้าผ่าน
previous_response_idแทนการส่งประวัติสนทนาทั้งหมดซ้ำ - เอาต์พุตเป็นรายการที่มีประเภท: reasoning, message และ tool call เป็นคนละ output item
-
Streaming เป็น semantic events: เช่น
response.output_text.deltaและresponse.completed
การเรียกใช้เครื่องมือใช้รายการแบบ function_call และ function_call_output ตามข้อกำหนด Responses API หากรายละเอียด implementation ต่างจากข้อกำหนดทั่วไป ให้ยึด api-docs.deepseek.com เป็นแหล่งอ้างอิงล่าสุด
ควรใช้เมื่อใด
เลือก Responses API หากคุณกำลังสร้าง:
- เอเจนต์หลายขั้นตอน
- เวิร์กโฟลว์แบบ Codex-style
- ระบบที่ต้องการให้เซิร์ฟเวอร์จัดการสถานะสนทนา
- orchestration ที่ต้องแยกจัดการ output ตามประเภท
สำหรับแชตทั่วไป รูปแบบนี้อาจซับซ้อนเกินความจำเป็น
เปรียบเทียบทั้ง 3 รูปแบบ
| OpenAI ChatCompletions | Anthropic Messages | DeepSeek Responses API | |
|---|---|---|---|
| Endpoint |
POST /chat/completions บน api.deepseek.com
|
POST /v1/messages บนฐาน Anthropic-compatible (/anthropic) |
POST /responses บน api.deepseek.com
|
| รูปแบบคำขอ |
messages array เดียว, system prompt เป็นข้อความแรก |
system ระดับบนสุด + ข้อความ user/assistant สลับกัน |
instructions ระดับบนสุด + input แบบ string หรือรายการ |
| การจำกัดเอาต์พุต | max tokens เป็นทางเลือก |
max_tokens เป็นฟิลด์บังคับ |
เป็นทางเลือกตามข้อกำหนด Responses |
| Tool schema | ซ้อนในอ็อบเจกต์ function พร้อม parameters
|
แบบแบน: input_schema ต่อเครื่องมือ |
แบบแบนตามข้อกำหนด Responses |
| Tool result | ข้อความ role: "tool"
|
tool_result content blocks |
function_call_output items |
| Streaming |
chat.completion.chunk และ [DONE]
|
message_start → content_block_delta → message_stop
|
lifecycle events เช่น response.output_text.delta
|
| สถานะสนทนา | client จัดการและส่งประวัติซ้ำ | client จัดการและส่งประวัติซ้ำ | อ้างอิง response ก่อนหน้าได้ |
| เหมาะสำหรับ | เครื่องมือ OpenAI เดิม | เครื่องมือ Claude และ Claude Code | agent loop และ workflow แบบมีสถานะ |
โมเดลและราคาเป็นชุดเดียวกัน ความต่างจริงอยู่ที่ protocol และ response shape ดังนั้นการส่งพรอมต์เดียวกันผ่านทั้ง 3 รูปแบบคือวิธีตรวจสอบที่ดีที่สุด
ทดสอบทั้ง 3 รูปแบบในโปรเจกต์ Apidog เดียว
ตั้งค่าโปรเจกต์ Apidog ให้ทำซ้ำและเปรียบเทียบได้ง่ายตามขั้นตอนนี้
-
สร้าง 3 โฟลเดอร์:
chat-completionsanthropic-messagesresponses
-
ในแต่ละโฟลเดอร์ บันทึกคำขออย่างน้อย 3 กรณี:
- text completion ปกติ
- tool calling
- streaming
สร้าง environment variables ร่วมกัน:
DEEPSEEK_API_KEY
BASE_URL
ANTHROPIC_BASE
-
ส่งพรอมต์เดียวกันผ่านทั้ง 3 รูปแบบ แล้วเปรียบเทียบ raw response:
- ChatCompletions:
choices[0].message.content - Messages:
contentblocks - Responses: typed output items
- ChatCompletions:
-
เปิด
stream: trueและตรวจสอบ SSE:- ChatCompletions: chunks แบบไม่ระบุชื่อ จบด้วย
[DONE] - Messages: named events
- Responses: lifecycle events
- ChatCompletions: chunks แบบไม่ระบุชื่อ จบด้วย
หากต้องการทบทวนการดีบัก streaming ดู วิธีสตรีมการตอบกลับ API ด้วย SSE
-
เพิ่ม assertions ในฟิลด์ที่ระบบของคุณใช้งานจริง เช่น:
- เส้นทางของข้อความ
- ตำแหน่ง tool-call ID
- finish reason
- การมีอยู่ของ
reasoning_content
รัน collection ซ้ำทุกครั้งที่ DeepSeek ออก snapshot หรืออัปเดตโมเดล
โครงสร้างนี้ทำให้โปรเจกต์ Apidog เป็นเอกสารที่ใช้งานได้จริง: หากต้องการดูว่า Messages tool schema มีหน้าตาอย่างไร ให้เปิด request ที่บันทึกไว้พร้อม response ตัวอย่างทันที
หมายเหตุการย้ายข้อมูล
ย้ายจาก OpenAI
เปลี่ยนเพียง 3 ค่า:
base_url = https://api.deepseek.com
api_key = DEEPSEEK_API_KEY
model = deepseek-v4-pro
จากนั้นตรวจสอบ 2 เรื่องก่อนใช้งานจริง:
- พารามิเตอร์นอกเหนือจากข้อกำหนดหลักทำงานตรงตามที่ระบบคุณคาดหวังหรือไม่
- response parser รองรับ
reasoning_contentที่มาคู่กับcontentหรือไม่
ย้ายจาก Anthropic
เปลี่ยน:
- base URL ไปยัง Anthropic-compatible endpoint
- auth token เป็น DeepSeek API key
- model เป็น
deepseek-v4-pro
หาก client ปฏิบัติตาม Messages API อยู่แล้ว logic สำหรับ max_tokens, content blocks และ streaming events ควรยังใช้ได้ สำหรับเอเจนต์ที่อ่าน environment variables การย้ายคือการตั้งค่า export 3 บรรทัดเท่านั้น
ย้ายไป Responses API
Responses API ไม่ใช่การเปลี่ยนค่า config แบบตรงไปตรงมา เพราะ request และ response model ต่างจากอีกสองรูปแบบ ควรเลือกใช้เมื่อคุณต้องการความสามารถเฉพาะของมันจริง ๆ เช่น:
- server-managed state
- typed output items
- agent orchestration แบบหลายขั้นตอน
ไม่ควรเลือกเพียงเพราะเป็น API ที่ใหม่กว่า
คำถามที่พบบ่อย
โปรเจกต์ใหม่ควรเลือกรูปแบบใด
ใช้ ChatCompletions เป็นค่าเริ่มต้นหากต้องการ compatibility กับเครื่องมือที่กว้างที่สุด เลือก Messages หากสแตกของคุณสร้างบน Claude และเลือก Responses API หากกำลังสร้างเอเจนต์หลายขั้นตอนที่ต้องการสถานะฝั่งเซิร์ฟเวอร์
ชี้ Claude Code ไปยัง DeepSeek V4 Pro ได้หรือไม่
ได้ ตั้งค่า ANTHROPIC_BASE_URL ไปยัง endpoint Anthropic-compatible ของ DeepSeek ใช้ DeepSeek API key เป็น auth token และตั้งค่า model เป็น deepseek-v4-pro
Tool calling และ structured output ใช้ได้ทุกรูปแบบหรือไม่
โมเดลรองรับทั้งสองความสามารถ แต่แต่ละรูปแบบมี schema ของตัวเอง:
- ChatCompletions ใช้อ็อบเจกต์
functionแบบซ้อน - Messages ใช้
input_schema - Responses ใช้ function-call items
ควรทดสอบ schema และ edge cases ของเครื่องมือในแต่ละรูปแบบผ่าน test collection ก่อนนำไปใช้งานจริง
Top comments (0)