1. สร้างการส่งคำขอ API
1.1 การส่งคำขอโดยใช้ CURL
CURL เป็นเครื่องมือบรรทัดคำสั่งที่รองรับการส่งและรับข้อมูลโดยใช้โปรโตคอลต่าง ๆ เช่น HTTP และ HTTPS ในการส่งคำขอไปยัง OpenAI API โดยใช้ CURL ในจุดเริ่มต้นคุณจำเป็นต้องมี API key ที่ถูกต้อง และเพิ่มใส่หัวข้อคำขอ
นี่คือตัวอย่างของคำสั่ง CURL ที่ใช้ส่งคำขอไปยัง OpenAI API:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "พูดว่านี่คือการทดสอบ!"}],
"temperature": 0.7
}'
คุณต้องแทนที่ $OPENAI_API_KEY
ด้วย API key ของคุณ ด้วยเหตุผลด้านความปลอดภัย หลีกเลี่ยงการเปิดเผย API key ในสถานการณ์สาธารณะใด ๆ
1.2 การวิเคราะห์หัวข้อคำขอ
ในคำสั่ง CURL ด้านบน เราใช้สองหัวข้อคำขอที่สำคัญ: Content-Type
และ Authorization
-
Content-Type
: นี้แจ้งให้เซิร์ฟเวอร์ทราบว่าเรากำลังส่งข้อมูลในรูปแบบ JSON มูลค่าของมันมักจะเป็นapplication/json
-
Authorization
: นี่คือข้อมูลรับรองความถูกต้องที่ใช้ในการพิสูจน์ตัวตนของคำขอ API และรูปแบบของมันคือBearer (your API key)
การให้ความถูกต้องของทั้งสองหัวข้อคำขอนี้เป็นสิ่งสำคัญสำหรับความสำเร็จของคำขอ
1.3 การสร้างส่วนของร่างคำขอ
ส่วนของร่างคำขอเป็นสตริงรูปแบบ JSON ที่แจ้งให้ OpenAI เรามีความตั้งใจอย่างไร ในคำขอนี้เราใช้ model
เพื่อระบุโมเดลที่เราใช้ เป็นการส่ง messages
อาเรย์ที่กำหนดข้อมูลทางเข้าของผู้ใช้ และตั้ง temperature
เพื่อปรับความแปรปรวนของการตอบกลับ
JSON ดูเช่นนี้:
{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "พูดว่านี่คือการทดสอบ!"}],
"temperature": 0.7
}
ในตัวอย่างนี้ เรากำลังขอให้โมเดลสร้างคำตอบทดสอบขึ้นมาโดยขึ้นอยู่กับข้อความที่รับเข้า
1.4 การอธิบายละเอียดของพารามิเตอร์ของคำขอ
ภายในตัวของร่างคำขอ มีพารามิเตอร์ที่สำคัญในการใช้สังเกต:
-
model
: ระบุโมเดล AI ที่เราตั้งใจจะใช้ OpenAI มอบโมเดลหลายรุ่น ละแต่ละรุ่นมีความสามารถและผลกระทบที่แตกต่างกัน -
messages
: นี้เป็นอาเรย์ที่ประกอบไปด้วยข้อความหนึ่งหรือมากกว่า โดยแต่ละข้อความประกอบด้วยrole
ที่หากเชื่อที่บทบาทของข้อความ และcontent
แทนเนื้อหาของข้อความ -
temperature
: ควบคุมความแน่นอนของการตอบกลับ ค่าtemperature
ต่ำจะสร้างคำตอบที่มั่นใจมากขึ้น ในขณะที่ค่าที่สูงกว่าจะนำไปสู่ความสุ่มสะสมมากขึ้น
2. วิเคราะห์การตอบรับของ API
2.1 เข้าใจการตอบรับ
เมื่อคุณส่งคำขอ เซิร์ฟเวอร์จะส่งรหัสสถานะ HTTP และบางทีจะมีตัวข้อมูลการตอบรับอาจจะได้ข้อมูล JSON ที่มีผลลัพธ์ของคำขอ และตัวอย่างการตอบรับคือดังนี้:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1677858242,
"model": "gpt-3.5-turbo-1106",
"usage": {
"prompt_tokens": 13,
"completion_tokens": 7,
"total_tokens": 20
},
"choices": [
{
"message": {
"role": "assistant",
"content": "\n\nนี่คือการทดสอบ!"
},
"logprobs": null,
"finish_reason": "stop",
"index": 0
}
]
}
ในการตอบรับนี้ เราสามารถเห็น ID ของการสมบูรณ์ ประสบการณ์การสร้าง โมเดลที่ใช้ การใช้โทเคน และเนื้อหาจริงแห่งการตอบโน้ตะ (โดยอยู่ในฟิลด์ choices
)
2.2 ความสมบูรณ์และการจัดการข้อผิดพลาด
ฟิลด์ finish_reason
บ่งชีให้ว่า API หยุดการผลิตเนื้อหาเพิ่มเติมอย่างไร ว่างทำให้เหตุผลประสบการณ์การสร้างข้อมูลขาดหาย
เบื้องต้น
2.3 ส่งคำขอ API โดยใช้ Python SDK
ด้านล่างนี้คือตัวอย่างในการใช้ OpenAI Python SDK ทำการเรียกร้อง API
ต้องติดตั้งไลบรารี openai โดยใช้คำสั่ง pip ก่อน
pip install --upgrade openai
จากนั้นคุณสามารถใช้โค้ด Python ต่อไปนี้เพื่อทำคำขอ API ที่คล้ายกับตัวอย่างข้างต้นได้ โปรดอย่าลืมแทนที่ YOUR_OPENAI_API_KEY
ด้วย API key ของคุณ
from openai import OpenAI
client = OpenAI(
api_key="YOUR_OPENAI_API_KEY",
)
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "คุณเป็นผู้ช่วยทางด้านการพัฒนาอย่างมืออาชีพ คล่องทุกปัญหาในการเขียนโปรแกรมต่าง ๆ"},
{"role": "user", "content": "เขียนฟังก์ชันสำหรับ quicksort ใน Go หน่อย"}
]
)
print(completion.choices[0].message)