ใช้คู่มือนี้ช่วยวิเคราะห์และแก้ไขปัญหาทั่วไปที่เกิดขึ้นเมื่อ ที่คุณเรียกใช้ Gemini API คุณอาจพบปัญหาในระดับสูงจาก บริการแบ็กเอนด์ของ Gemini API หรือ SDK ของไคลเอ็นต์ SDK ของลูกค้าของเรา โอเพนซอร์สในที่เก็บต่อไปนี้:
- generative-ai-python
- generative-ai-js
- generative-ai-android
- generative-ai-swift
- generative-ai-dart
- generative-ai-go
หากพบปัญหาเกี่ยวกับคีย์ API ให้ตรวจสอบว่าคุณตั้งค่าแล้ว คีย์ API อย่างถูกต้องตามคู่มือการตั้งค่าคีย์ API
รหัสข้อผิดพลาดของบริการแบ็กเอนด์ Gemini API
ตารางต่อไปนี้แสดงรหัสข้อผิดพลาดแบ็กเอนด์ที่พบบ่อยที่คุณอาจพบ พร้อมด้วย พร้อมคำอธิบายสาเหตุและขั้นตอนการแก้ปัญหา
รหัส HTTP | สถานะ | คำอธิบาย | ตัวอย่าง | โซลูชัน |
400 | INVALID_ARGUMENT | เนื้อหาของคำขอมีรูปแบบไม่ถูกต้อง | คำขอมีการพิมพ์ผิดหรือไม่มีข้อมูลในช่องที่ต้องกรอก | ตรวจสอบเอกสารอ้างอิง API เพื่อดูรูปแบบคำขอ ตัวอย่าง และเวอร์ชันที่รองรับ การใช้ฟีเจอร์จาก API เวอร์ชันใหม่กับปลายทางเก่าอาจทำให้เกิดข้อผิดพลาดได้ |
400 | FAILED_PRECONDITION | Gemini API รุ่นฟรีไม่พร้อมใช้งานในประเทศของคุณ โปรดเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์ใน Google AI Studio | คุณกำลังส่งคำขอในภูมิภาคที่รุ่นฟรีไม่รองรับ และไม่ได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์ใน Google AI Studio | หากต้องการใช้ Gemini API คุณจะต้องตั้งค่าแพ็กเกจการชำระเงินโดยใช้ Google AI Studio |
403 | PERMISSION_DENIED | คีย์ API ไม่มีสิทธิ์ที่จำเป็น | คุณใช้คีย์ API ที่ไม่ถูกต้อง คุณ กำลังพยายามใช้โมเดลที่ปรับแต่งโดยไม่ผ่านการตรวจสอบสิทธิ์ที่เหมาะสม | ตรวจสอบว่าคีย์ API ได้รับการตั้งค่าและมีสิทธิ์เข้าถึงที่ถูกต้อง และอย่าลืมตรวจสอบสิทธิ์ที่เหมาะสมในการใช้โมเดลที่ปรับแต่ง |
404 | NOT_FOUND | ไม่พบทรัพยากรที่ขอ | ไม่พบไฟล์ภาพ เสียง หรือวิดีโอที่อ้างอิงในคำขอ | ตรวจสอบว่าพารามิเตอร์ทั้งหมดในคําขอถูกต้องสําหรับเวอร์ชัน API ของคุณ |
429 | RESOURCE_EXHAUSTED | คุณเกินขีดจำกัดอัตราคำขอแล้ว | คุณกำลังส่งคำขอจำนวนมากเกินไปต่อนาทีด้วย Gemini API ระดับฟรี | ตรวจสอบว่าคุณอยู่ภายในขีดจำกัดอัตราของรูปแบบ ขอเพิ่มโควต้าหากจำเป็น |
500 | ภายใน | เกิดข้อผิดพลาดที่ไม่คาดคิดทางฝั่งของ Google | บริบทข้อมูลที่คุณป้อนยาวเกินไป | ลดบริบทการป้อนข้อมูลหรือเปลี่ยนไปใช้โมเดลอื่นชั่วคราว (เช่น จาก Gemini 1.5 Pro เป็น Gemini 1.5 Flash) แล้วดูว่าใช้งานได้หรือไม่ หรือรอสักครู่แล้วลองอีกครั้ง หากปัญหายังคงอยู่หลังจากลองอีกครั้ง โปรดรายงานปัญหาโดยใช้ปุ่มส่งความคิดเห็นใน Google AI Studio |
503 | UNAVAILABLE | บริการอาจทำงานหนักเกินไปหรือหยุดทำงานชั่วคราว | บริการกำลังจะหมดชั่วคราว | เปลี่ยนไปใช้รุ่นอื่นชั่วคราว (เช่น จาก Gemini 1.5 Pro เป็น Gemini 1.5 Flash) แล้วดูว่าใช้งานได้หรือไม่ หรือรอสักครู่แล้วลองอีกครั้ง หากปัญหายังคงอยู่หลังจากลองอีกครั้ง โปรดรายงานปัญหาโดยใช้ปุ่มส่งความคิดเห็นใน Google AI Studio |
504 | DEADLINE_EXCEEDED | บริการประมวลผลให้เสร็จสิ้นภายในกำหนดเวลาไม่ได้ | พรอมต์ (หรือบริบท) ของคุณมีขนาดใหญ่เกินกว่าจะประมวลผลได้ทันเวลา | ตั้งค่า "ระยะหมดเวลา" ให้ใหญ่ขึ้น ในคำขอของไคลเอ็นต์เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ |
รหัสข้อผิดพลาดของ SDK ของไคลเอ็นต์ Python
ตารางต่อไปนี้แสดงรายการทั่วไป ข้อผิดพลาด SDK ของไคลเอ็นต์ Python ที่คุณอาจพบเห็น พร้อมกับคำอธิบายถึงสาเหตุ:
ประเภทข้อยกเว้น/ข้อผิดพลาด | ระดับ | คำอธิบาย |
---|---|---|
BlockedPromptException | google.generativeai.types.BlockedPromptException | พรอมต์ถูกบล็อกเนื่องจากเหตุผลด้านความปลอดภัย |
BrokenResponseError | google.generativeai.types.BrokenResponseError | การตอบกลับสตรีมมิงไม่ทำงาน ยกขึ้นเมื่อเข้าถึงสิ่งที่ต้องมีการตอบกลับแบบเต็ม เช่น ประวัติการแชท ดูรายละเอียดข้อผิดพลาดที่ระบุไว้ในสแต็กเทรซ |
IncompleteIterationError | google.generativeai.types.IncompleteIterationError | ยกขึ้นเมื่อเข้าถึงสิ่งที่ต้องมีการตอบสนองของ API ที่สมบูรณ์ แต่ยังไม่ได้ทำซ้ำการตอบกลับสตรีมมิงทั้งหมด เรียกใช้ resolve() ในออบเจ็กต์การตอบสนองเพื่อใช้ตัววนซ้ำ |
StopCandidateException | google.generativeai.types.StopCandidateException | API ตอบกลับด้วย finish_reason ที่ยอดเยี่ยม ตรวจสอบสาเหตุคําแนะนําเกี่ยวกับวิธีดําเนินการต่อ |
PermissionDenied | google.api_core.exceptions.PermissionDenied | คุณไม่มีสิทธิ์สำหรับทรัพยากรที่ขอ (เช่น รุ่น) |
ResourceExhausted | google.api_core.exceptions.ResourceExhausted | โควต้าหมดแล้ว โปรดรอสักครู่ แล้วลองอีกครั้ง ลองตั้งค่าการลองใหม่อัตโนมัติเพื่อจัดการข้อผิดพลาดเหล่านี้ |
AlreadyExists | google.api_core.exceptions.AlreadyExists | มีโมเดลที่ปรับแต่งที่มีรหัสเดียวกันอยู่แล้ว โปรดระบุรหัสโมเดลที่ไม่ซ้ำกันเมื่อปรับแต่งโมเดลใหม่ |
InvalidArgument | google.api_core.exceptions.InvalidArgument | อาร์กิวเมนต์ไม่ถูกต้อง เช่น ไฟล์มีขนาดใหญ่เกินไปและเกินขีดจำกัดขนาดเพย์โหลด อีกคีย์หนึ่งระบุคีย์ API ที่ไม่ถูกต้อง |
DefaultCredentialsError | google.auth.exceptions.DefaultCredentialsError | ตรวจสอบสิทธิ์ไม่สำเร็จ โปรดตรวจสอบคีย์ API อีกครั้งแล้วลองใหม่ |
RetryError | google.api_core.exceptions.RetryError | อาจเกิดขึ้นได้เมื่อใช้พร็อกซีที่ไม่รองรับ gRPC ลองใช้การรับส่ง REST กับ genai.configure(..., transport="rest") |
ตรวจสอบการเรียก API เพื่อหาข้อผิดพลาดของพารามิเตอร์โมเดล
ตรวจสอบว่าพารามิเตอร์โมเดลอยู่ภายในค่าต่อไปนี้
พารามิเตอร์โมเดล | ค่า (ช่วง) |
จำนวนผู้สมัคร | 1-8 (จำนวนเต็ม) |
อุณหภูมิ | 0.0-1.0 |
โทเค็นเอาต์พุตสูงสุด |
ใช้
get_model (Python)
เพื่อกำหนดจำนวนโทเค็นสูงสุดของโมเดลที่คุณใช้
|
TopP | 0.0-1.0 |
นอกจากการตรวจสอบค่าพารามิเตอร์แล้ว อย่าลืมตรวจสอบว่าคุณใช้พารามิเตอร์
เวอร์ชัน API (เช่น /v1
หรือ /v1beta
) และ
รุ่นที่รองรับฟีเจอร์ที่คุณต้องการ เช่น หากฟีเจอร์อยู่ในเวอร์ชันเบต้า
รุ่นดังกล่าว จะพร้อมใช้งานในเวอร์ชัน API ของ /v1beta
เท่านั้น
ตรวจสอบว่าคุณมีรุ่นที่ถูกต้อง
ตรวจสอบว่าคุณใช้โมเดลที่รองรับที่แสดงอยู่ใน หน้าโมเดล
ปัญหาด้านความปลอดภัย
หากคุณเห็นข้อความแจ้งถูกบล็อกเนื่องจากการตั้งค่าความปลอดภัยในการเรียก API ตรวจสอบข้อความแจ้งเกี่ยวกับตัวกรองที่คุณตั้งค่าไว้ในการเรียก API
หากคุณเห็น BlockedReason.OTHER
คำตอบหรือคำถามอาจละเมิดข้อกำหนด
บริการหรือไม่ได้รับการสนับสนุน
ปัญหาเกี่ยวกับการท่องจำ
ถ้าคุณเห็นว่าโมเดลหยุดสร้างเอาต์พุตเนื่องจากสาเหตุ RECITATION แสดงว่า หมายความว่าเอาต์พุตโมเดลอาจคล้ายคลึงกับข้อมูลบางอย่าง วิธีแก้ไขปัญหานี้คือ พรอมต์ / บริบทให้ไม่ซ้ำกันมากที่สุดและใช้อุณหภูมิที่สูงขึ้น
ปรับปรุงเอาต์พุตของโมเดล
ลองเขียนพรอมต์แบบมีโครงสร้างเพิ่มเติมเพื่อให้ได้เอาต์พุตโมเดลที่มีคุณภาพสูงขึ้น ข้อมูลเบื้องต้นเกี่ยวกับการออกแบบพรอมต์ แนวคิดพื้นฐาน กลยุทธ์ และแนวทางปฏิบัติแนะนำที่จะช่วยคุณเริ่มต้น
หากคุณมีตัวอย่างคู่อินพุต/เอาต์พุตที่ดีหลายร้อยคู่ คุณยังสามารถ ลองพิจารณาการปรับแต่งโมเดล
ทำความเข้าใจขีดจำกัดของโทเค็น
อ่านคำแนะนำเกี่ยวกับโทเค็นเพื่อให้เข้าใจมากขึ้นถึงวิธีการ เพื่อนับโทเค็นและขีดจำกัดของโทเค็น
ปัญหาที่ทราบ
- API รองรับบางภาษาเท่านั้น กำลังส่งพรอมต์ใน ภาษาที่ไม่รองรับอาจทำให้เกิดคำตอบที่ไม่คาดคิดหรือแม้กระทั่งถูกบล็อก โปรดดู ภาษาที่มีให้บริการสำหรับการอัปเดต
รายงานข้อบกพร่อง
เข้าร่วมการสนทนาในฟอรัมนักพัฒนาซอฟต์แวร์ AI ของ Google เมื่อมีข้อสงสัย