
ไม่ว่าคุณจะกำลังสร้างแชตบอต AI หรือเพิ่มฟีเจอร์การสนทนาให้แอปพลิเคชัน การทำความเข้าใจว่า AI จัดการการสนทนาอย่างไรเป็นสิ่งสำคัญ Chat Completion API ช่วยให้ทำสิ่งนี้ได้ โดยเชื่อมแอปพลิเคชันเข้ากับโมเดล AI เพื่อสร้างคำตอบที่เกี่ยวข้องและเป็นธรรมชาติคล้ายมนุษย์ ด้วยฟีเจอร์ต่าง ๆ เช่น การผสานรวมกับ Python การสตรีม และการเรียกใช้เครื่องมือ นักพัฒนาจึงสร้างแอปพลิเคชันที่โต้ตอบได้มากขึ้น มาดูกันว่าระบบนี้ทำงานอย่างไร ใช้งานอย่างไร และผู้ให้บริการอย่าง Kimi API รองรับการพัฒนา AI ที่ยืดหยุ่นอย่างไร
Chat Completions API คืออะไร
Chat Completions API คืออินเทอร์เฟซที่ช่วยให้แอปพลิเคชันส่งลำดับข้อความไปยังโมเดล AI และรับคำตอบจากผู้ช่วย รองรับทั้งการสนทนาแบบรอบเดียวและหลายรอบ ตัวอย่างเช่น คุณสามารถใช้ Kimi K3.1 Pro ตอบคำถามเกี่ยวกับ Python decorators แล้วถามคำถามต่อเนื่องได้ดังนี้:
คำขอแรก: ส่งข้อความจากผู้ใช้ว่า "Python decorator คืออะไร" จากนั้น Kimi จะส่งข้อความจากผู้ช่วยที่อธิบายแนวคิดนี้กลับมา
คำขอที่สอง: หากต้องการสนทนาต่อ ให้ส่งข้อความก่อนหน้าจากผู้ใช้ ข้อความจากผู้ช่วยฉบับสมบูรณ์ของ Kimi และข้อความใหม่จากผู้ใช้ว่า "ช่วยยกตัวอย่างได้ไหม"
อาร์เรย์ messages ส่งบริบทที่จำเป็นสำหรับแต่ละคำขอ การตัดสินใจด้านการออกแบบที่สำคัญ 3 ประการทำให้อินเทอร์เฟซนี้ได้รับการใช้งานอย่างแพร่หลาย:
ประวัติที่แอปพลิเคชันจัดการ: แอปพลิเคชันจัดการประวัติการสนทนาและใส่บริบทที่เกี่ยวข้องในแต่ละคำขอ ทำให้นักพัฒนาควบคุมสิ่งที่โมเดลเห็นได้
บทบาทของข้อความที่ใช้ร่วมกัน: บทบาทที่ใช้กันทั่วไป ได้แก่
system(คำสั่ง),user(ข้อมูลนำเข้า),assistant(ผลลัพธ์จากโมเดล ซึ่งส่งกลับไปเพื่อใช้เป็นบริบทสำหรับหลายรอบ) และtool(ผลลัพธ์จากการเรียกใช้ฟังก์ชัน) โดยทั้งหมดช่วยถ่ายทอดคำสั่ง บทสนทนา และการโต้ตอบกับเครื่องมือความสามารถที่ยืดหยุ่น: อินเทอร์เฟซนี้สามารถรองรับการสตรีม การเรียกใช้เครื่องมือ ข้อมูลนำเข้าแบบภาพ และผลลัพธ์แบบมีโครงสร้างได้ ขึ้นอยู่กับการรองรับของโมเดล Kimi K3.1 Pro รองรับความสามารถเหล่านี้
วิธีใช้ Chat Completions API กับ Kimi
ตัวอย่างต่อไปนี้ใช้ Kimi K3.1 Pro และ OpenAI Python SDK เพื่อแสดงวิธีตั้งค่าไคลเอ็นต์ ส่งคำขอ จัดการคำตอบ และใช้การเรียกใช้เครื่องมือ:
เริ่มต้นอย่างรวดเร็ว: เรียกใช้ Kimi ด้วย OpenAI Python SDK
ติดตั้ง OpenAI Python SDK:
ตั้งค่าคีย์ Kimi API ของคุณเป็นตัวแปรสภาพแวดล้อม:
คุณไม่จำเป็นต้องมีคีย์ OpenAI API โดย OpenAI Python SDK ทำหน้าที่เป็นไลบรารีไคลเอ็นต์ ขณะที่คีย์ Kimi API และ URL ฐานของคุณใช้ยืนยันตัวตนและกำหนดเส้นทางคำขอไปยัง Kimi
เริ่มต้นไคลเอ็นต์และส่งคำขอแรกของคุณ:
ตัวอย่างนี้ใช้เอ็นด์พอยต์ API ระหว่างประเทศของ Kimi สำหรับการตั้งค่าอย่างเป็นทางการและรายละเอียดโมเดล โปรดดู คู่มือเริ่มต้นอย่างรวดเร็ว Kimi K3.1 Pro
พารามิเตอร์หลัก
พารามิเตอร์เหล่านี้ครอบคลุมตัวเลือกหลักที่ใช้ได้เมื่อเรียก Kimi K3.1 Pro ผ่าน Chat Completions API:
| พารามิเตอร์ | วัตถุประสงค์ |
|---|---|
model | ระบุ ID ของโมเดล เช่น kimi-k3.1-pro |
messages | ระบุข้อความในการสนทนา รวมถึงข้อมูลที่ผู้ใช้ป้อนก่อนหน้าและคำตอบจากผู้ช่วย รองรับทั้งเนื้อหาข้อความและมัลติโหมด |
reasoning_effort | ควบคุมระดับความลึกของการให้เหตุผล รับค่า low, high หรือ max (ค่าเริ่มต้น) |
max_completion_tokens | กำหนดงบประมาณการสร้างสูงสุด ซึ่งรวมทั้ง token สำหรับการให้เหตุผลและ token สำหรับคำตอบสุดท้าย token ของอินพุตจะนับแยกต่างหาก แต่ token ของอินพุตและ token ที่สร้างรวมกันต้องอยู่ภายในหน้าต่างบริบทของโมเดล |
stream | ตั้งค่าเป็น true เพื่อรับการตอบกลับแบบทยอยส่ง แทนที่จะรอผลลัพธ์ทั้งหมด |
tools | กำหนดฟังก์ชันที่โมเดลสามารถขอให้แอปพลิเคชันดำเนินการได้ |
response_format | ควบคุมรูปแบบเอาต์พุต รองรับ json_object สำหรับโหมด JSON และ json_schema สำหรับเอาต์พุตแบบมีโครงสร้างที่จำกัดด้วยสคีมา |
หมายเหตุ: Kimi K3.1 Pro ใช้การตั้งค่าการสุ่มตัวอย่างแบบคงที่ อย่าเพิ่ม temperature หรือ top_p ในคำขอ ดูรายละเอียดพารามิเตอร์และค่าที่รองรับได้ที่เอกสารอ้างอิง Chat Completions API
การอ่านคำตอบ
หลังจากส่งคำขอสำเร็จ คุณสามารถเข้าถึงฟิลด์คำตอบหลักผ่านออบเจ็กต์ completion ที่ส่งกลับมาได้:
choices[0].message– มีคำตอบของผู้ช่วย รวมถึงcontentหรือtool_callsเมื่อโมเดลขอเรียกใช้ฟังก์ชันchoices[0].finish_reason– ระบุเหตุผลที่การสร้างผลลัพธ์หยุดลง เช่นstop,lengthหรือtool_callsusage– ให้ข้อมูลการใช้ token รวมถึงจำนวน token ของข้อมูลนำเข้า ผลลัพธ์ และ token ที่แคชไว้เมื่อมีข้อมูล
สำหรับคำตอบข้อความพื้นฐาน ให้อ่าน choices[0].message.content หากโมเดลส่งกลับ tool_calls แอปพลิเคชันของคุณต้องเรียกใช้ฟังก์ชันที่ร้องขอ และส่งผลลัพธ์ของฟังก์ชันเหล่านั้นในคำขอถัดไป
ตัวอย่างการสตรีม
ตั้งค่า stream=True เพื่อรับคำตอบจาก Kimi เป็นส่วนย่อยแบบต่อเนื่อง ตัวอย่างต่อไปนี้ใช้ client ที่ตั้งค่าไว้ข้างต้นซ้ำ และพิมพ์คำตอบสุดท้ายออกมาทันทีที่ได้รับ:
Kimi K3.1 Pro ส่งเนื้อหาการให้เหตุผลแยกจากคำตอบสุดท้าย ตัวอย่างนี้พิมพ์เฉพาะ delta.content จึงแสดงคำตอบสุดท้ายโดยไม่ประมวลผลฟิลด์ reasoning_content ที่แยกต่างหาก
สรุปการเรียกใช้เครื่องมือ
การเรียกใช้เครื่องมือช่วยให้ Kimi สามารถร้องขอฟังก์ชันภายนอกได้ เมื่องานต้องใช้ข้อมูลหรือการดำเนินการที่เกินกว่าคำตอบของโมเดลเอง ตัวอย่างเช่น หากผู้ใช้ถามว่า "วันนี้ควรพกร่มไปโตเกียวไหม" Kimi สามารถร้องขอฟังก์ชัน get_weather เพื่อดึงข้อมูลพยากรณ์อากาศได้
เวิร์กโฟลว์มี 3 ขั้นตอน:
ประกาศฟังก์ชัน: กำหนด
get_weatherและอาร์กิวเมนต์ที่คาดว่าจะใช้ภายใต้พารามิเตอร์toolsเรียกใช้เครื่องมือ: Kimi จะส่งรายการ
tool_callsที่มีชื่อฟังก์ชันและอาร์กิวเมนต์ แอปพลิเคชันของคุณจะเรียกใช้ฟังก์ชันที่เกี่ยวข้องและดึงข้อมูลสภาพอากาศส่งผลลัพธ์กลับ: เพิ่มข้อความ assistant แบบสมบูรณ์ของ Kimi และผลลัพธ์จากเครื่องมือ (โดยใช้
tool_call_idที่ตรงกัน) ลงในการสนทนา จากนั้นเรียก Kimi อีกครั้งเพื่อสร้างคำตอบสำหรับผู้ใช้
ตัวอย่างต่อไปนี้ใช้ client ที่ตั้งค่าไว้ข้างต้นซ้ำ ก่อนเรียกใช้ โปรดตรวจสอบว่าคุณได้ติดตั้งฟังก์ชัน get_weather(city) ซึ่งส่งคืนข้อมูลสภาพอากาศที่แปลงเป็น JSON ได้แล้ว ฟังก์ชันนี้จะถูกเรียกใช้โดยแอปพลิเคชันของคุณ ไม่ใช่โดย Kimi
ในที่นี้ get_weather() หมายถึงฟังก์ชันที่แอปพลิเคชันของคุณติดตั้งไว้ ไม่ใช่ฟังก์ชันที่ Kimi เรียกใช้โดยตรง Kimi จะตัดสินใจว่าเมื่อใดควรร้องขอฟังก์ชันนี้และระบุอาร์กิวเมนต์ ส่วนแอปพลิเคชันของคุณจะดำเนินการจริงและส่งคืนผลลัพธ์
ในการใช้งานจริง ให้สร้างลูปที่ประมวลผลการเรียกใช้เครื่องมือแต่ละครั้ง เพิ่มผลลัพธ์ที่เกี่ยวข้องลงในการสนทนา แล้วส่งข้อความที่อัปเดตกลับไปยัง Kimi ทำซ้ำวงจรนี้จนกว่าโมเดลจะส่งคำตอบสุดท้ายโดยไม่ร้องขอเครื่องมือเพิ่มเติม
เหตุใดความ "เข้ากันได้กับ OpenAI" จึงสำคัญเมื่อเลือกผู้ให้บริการ
ผู้ให้บริการหลายรายรองรับรูปแบบ OpenAI Chat Completions ซึ่งช่วยให้นักพัฒนานำ SDK และโครงสร้างคำขอที่คุ้นเคยกลับมาใช้ได้ การเปลี่ยนผู้ให้บริการโดยทั่วไปทำได้ด้วยการอัปเดต base URL, API key และรหัสโมเดล แล้วตรวจสอบพารามิเตอร์ที่รองรับและการจัดการการตอบกลับ เมื่อเปรียบเทียบผู้ให้บริการ ให้พิจารณาปัจจัยต่อไปนี้:
ความสอดคล้องในการรองรับ: ตรวจสอบว่าการสตรีม การเรียกใช้เครื่องมือ เอาต์พุตแบบมีโครงสร้าง และการรายงาน
usageทำงานตามที่แอปพลิเคชันของคุณคาดหวัง การรองรับรูปแบบ API เดียวกันไม่ได้รับประกันว่าผู้ให้บริการทุกรายจะรองรับฟีเจอร์หรือมีพฤติกรรมการตอบกลับเหมือนกันคุณภาพโมเดลสำหรับภาระงานของคุณ: สัดส่วนภาษาที่ใช้และประเภทงานของคุณสำคัญกว่าเกณฑ์วัดทั่วไป
หน้าต่างบริบท: โมเดลที่รองรับบริบทยาวช่วยให้เวิร์กโฟลว์เอกสารบางประเภทง่ายขึ้นได้ ด้วยการประมวลผลเนื้อหาต้นทางได้มากขึ้นในคำขอเดียว
โครงสร้างต้นทุน: ส่วนลดจากการแคชและการประมวลผลแบบแบตช์มักมีผลมากกว่าราคาต่อ token ที่ระบุไว้
ขอบเขตของระบบนิเวศ: เอ็นด์พอยต์ที่เข้ากันได้เพิ่มเติม เช่น Responses และ Anthropic Messages ช่วยเพิ่มทางเลือกในการผสานรวมและความยืดหยุ่นเมื่อแอปพลิเคชันของคุณพัฒนาไป
Kimi API: ผู้ให้บริการที่เข้ากันได้กับ OpenAI ซึ่งโดดเด่น
Kimi API ที่พัฒนาโดย Moonshot AI เป็นตัวเลือกที่ควรพิจารณาหากคุณกำลังมองหาผู้ให้บริการที่เข้ากันได้กับ OpenAI โดยเฉพาะสำหรับแอปพลิเคชันภาษาจีน การประมวลผลเอกสารขนาดยาว และเอเจนต์ด้านการเขียนโค้ด โดยผสานรูปแบบการเชื่อมต่อ API ที่คุ้นเคยเข้ากับความสามารถด้านบริบทยาวและการให้เหตุผลของ Kimi
ใช้แทนได้ทันที
หากแอปพลิเคชันของคุณใช้ OpenAI Python SDK อยู่แล้ว คุณสามารถผสาน Kimi ได้โดยไม่ต้องเขียนเวิร์กโฟลว์คำขอทั้งหมดใหม่ เพียงอัปเดตการตั้งค่า API ซึ่งรวมถึง base_url, api_key และรหัสโมเดล โดยยังคงใช้อินเทอร์เฟซ Chat Completions ที่คุ้นเคย
ตัวอย่างเช่น โค้ดต่อไปนี้อ่านรายงานในเครื่องจาก report.txt ส่งเนื้อหาไปให้ Kimi K3.1 Pro สรุป และสตรีมคำตอบที่สร้างขึ้น:
ในที่นี้ client ใช้ Kimi client ที่เริ่มต้นไว้ก่อนหน้า โดยอ่าน API key ของคุณจากตัวแปรสภาพแวดล้อม เลือก base URL ให้ตรงกับภูมิภาคของคุณ: https://api.moonshot.ai/v1 สำหรับแพลตฟอร์มระหว่างประเทศ หรือ https://api.moonshot.cn/v1 สำหรับผู้ใช้ที่เข้าถึง API ในจีนแผ่นดินใหญ่
แนวทางนี้ช่วยให้คุณคงเวิร์กโฟลว์ OpenAI SDK เดิมไว้ได้ ขณะใช้โมเดล Kimi สำหรับงานต่าง ๆ เช่น การสรุปเอกสารและแอปพลิเคชันอื่น ๆ ที่ขับเคลื่อนด้วย API
จุดที่ Kimi แตกต่าง
โมเดลเรือธงที่มีหน้าต่างบริบท 1M-token: Kimi K3.1 Pro รองรับหน้าต่างบริบทสูงสุด 1M token และความเข้าใจภาพโดยตรง นักพัฒนาสามารถทำงานกับโค้ดเบสขนาดใหญ่ เอกสารยาวระดับหนังสือ และอินพุตภาพได้ในเวิร์กโฟลว์เดียว จึงเหมาะกับการให้เหตุผลที่ซับซ้อน การเขียนโค้ด และแอปพลิเคชันมัลติโมดัล
การเพิ่มประสิทธิภาพต้นทุนที่ยืดหยุ่น: Kimi API รองรับการแคชบริบทอัตโนมัติสำหรับคำนำหน้าคำขอที่ใช้ซ้ำ และการอนุมานผ่าน Batch API สำหรับงานขนาดใหญ่ที่ไม่ต้องการการตอบกลับแบบเรียลไทม์ ค่าบริการแคชและราคา Batch ขึ้นอยู่กับโมเดลและกฎการกำหนดราคาที่เกี่ยวข้อง ดูอัตราปัจจุบันและรายละเอียดการเรียกเก็บเงินได้ที่ราคา Kimi API อย่างเป็นทางการ
ความเข้ากันได้ครอบคลุมระบบนิเวศ API: Kimi มีเอ็นด์พอยต์ Chat Completions และ Responses API ที่เข้ากันได้กับ OpenAI รวมถึงเอ็นด์พอยต์ที่เข้ากันได้กับ Anthropic Messages นักพัฒนาสามารถผสาน Kimi K3.1 Pro เข้ากับเวิร์กโฟลว์เดิมโดยใช้ SDK และรูปแบบ API ที่คุ้นเคย โดยปรับตามเอ็นด์พอยต์และฟีเจอร์ที่รองรับ
บทสรุป
เริ่มต้นใช้งาน Chat Completions API ได้ง่าย ๆ เพียงตั้งค่าข้อมูลรับรอง API ส่งคำขอ แล้วอ่านข้อความตอบกลับที่สร้างขึ้นจาก choices[0].message.content เมื่อเรียก API ครั้งแรกได้สำเร็จ คุณก็ขยายการเชื่อมต่อให้ตรงกับความต้องการของแอปพลิเคชันได้ โดยเพิ่มการสนทนาหลายรอบ การสตรีมการตอบกลับ หรือการเรียกใช้เครื่องมือ พร้อมสร้างด้วย Kimi แล้วหรือยัง? รับคีย์ Kimi API แล้วเริ่มส่งคำขอ API ได้เลย
คำถามที่พบบ่อย
messages และส่งคืนการตอบกลับผ่านอาร์เรย์ choices ส่วน Responses API ใช้โครงสร้างอินพุตและเอาต์พุตที่ยืดหยุ่นกว่า ซึ่งรองรับเนื้อหาหลายประเภทและการโต้ตอบกับเครื่องมือ การจัดการสถานะการสนทนาจะแตกต่างกันไปตามผู้ให้บริการ สำหรับ Responses API ของ Kimi แอปพลิเคชันควรใส่ประวัติการสนทนาที่เกี่ยวข้องในคำขอแต่ละครั้ง แทนที่จะอาศัยการเชื่อมโยงด้วย ID ของการตอบกลับbase_url เป็นเอ็นด์พอยต์ API ของ Kimi เปลี่ยน api_key เป็นคีย์ Kimi API ของคุณ และเปลี่ยน model เป็น ID โมเดล Kimi ที่รองรับ จากนั้นทดสอบการผสานรวมเพื่อยืนยันว่าระบบรองรับพารามิเตอร์และฟีเจอร์ที่แอปพลิเคชันของคุณใช้ เช่น การสตรีมและการเรียกใช้เครื่องมือ

