ใช้คู่มือนี้เพื่อช่วยวินิจฉัยและแก้ปัญหาที่พบบ่อยซึ่งเกิดขึ้นเมื่อคุณเรียกใช้ Gemini API คุณอาจพบปัญหาจากบริการแบ็กเอนด์ของ Gemini API หรือ SDK ของไคลเอ็นต์ SDK ของไคลเอ็นต์ของเราเป็นโอเพนซอร์สในที่เก็บต่อไปนี้
หากพบปัญหาเกี่ยวกับคีย์ API ให้ตรวจสอบว่าคุณได้ตั้งค่า คีย์ API อย่างถูกต้องตามคู่มือการตั้งค่าคีย์ API
รหัสข้อผิดพลาดของบริการแบ็กเอนด์ของ Gemini API
ตารางต่อไปนี้แสดงรหัสข้อผิดพลาดแบ็กเอนด์ที่พบบ่อยซึ่งคุณอาจพบ พร้อมคำอธิบายสาเหตุและขั้นตอนการแก้ปัญหา
| รหัส HTTP | สถานะ | คำอธิบาย | ตัวอย่าง | Solution |
| 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 API เพื่อดูเหตุการณ์ที่กำลังเกิดขึ้น ลดบริบทอินพุตหรือเปลี่ยนไปใช้โมเดลอื่นชั่วคราว (เช่น จาก Gemini 2.5 Pro เป็น Gemini 2.5 Flash) แล้วดูว่าใช้ได้ไหม หรือรอสักครู่แล้วลองส่งคำขออีกครั้ง หากปัญหายังคงอยู่หลังจากลองอีกครั้ง โปรดรายงานปัญหาโดยใช้ปุ่มส่งความคิดเห็น ใน Google AI Studio |
| 503 | UNAVAILABLE | บริการอาจทำงานหนักเกินไปหรือหยุดทำงานชั่วคราว | บริการมีขีดจำกัดชั่วคราว | ตรวจสอบหน้าสถานะของ Gemini API เพื่อดูเหตุการณ์ที่กำลังเกิดขึ้น เปลี่ยนไปใช้โมเดลอื่นชั่วคราว (เช่น จาก Gemini 2.5 Pro เป็น Gemini 2.5 Flash) แล้วดูว่าใช้ได้ไหม หรือรอสักครู่แล้วลองส่งคำขออีกครั้ง หากปัญหายังคงอยู่หลังจากลองอีกครั้ง โปรดรายงานปัญหาโดยใช้ปุ่มส่งความคิดเห็น ใน Google AI Studio |
| 504 | DEADLINE_EXCEEDED | บริการไม่สามารถประมวลผลให้เสร็จสิ้นภายในกำหนดเวลา | พรอมต์ (หรือบริบท) มีขนาดใหญ่เกินกว่าจะประมวลผลได้ทันเวลา | ตั้งค่า "การหมดเวลา" ที่นานขึ้นในคำขอของไคลเอ็นต์เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ |
ตรวจสอบการเรียกใช้ API เพื่อดูข้อผิดพลาดของพารามิเตอร์โมเดล
ตรวจสอบว่าพารามิเตอร์โมเดลอยู่ในค่าต่อไปนี้
| พารามิเตอร์โมเดล | ค่า (ช่วง) |
| จำนวนผู้สมัคร | 1-8 (จำนวนเต็ม) |
| อุณหภูมิ | 0.0-1.0 |
| โทเค็นเอาต์พุตสูงสุด | ใช้หน้าโมเดล เพื่อกำหนดจำนวนโทเค็นสูงสุดสำหรับโมเดลที่คุณใช้ |
| TopP | 0.0-1.0 |
นอกเหนือจากการตรวจสอบค่าพารามิเตอร์แล้ว ให้ตรวจสอบว่าคุณใช้
API เวอร์ชันที่ถูกต้อง (เช่น /v1 หรือ /v1beta) และ
โมเดลที่รองรับฟีเจอร์ที่คุณต้องการ เช่น หากฟีเจอร์อยู่ในเวอร์ชันเบต้า ฟีเจอร์ดังกล่าวจะใช้ได้เฉพาะใน API เวอร์ชัน /v1beta
ตรวจสอบว่าคุณใช้โมเดลที่ถูกต้อง
ตรวจสอบว่าคุณใช้โมเดลที่รองรับซึ่งแสดงอยู่ใน หน้าโมเดลของเรา
เวลาในการตอบสนองที่นานขึ้นหรือการใช้โทเค็นที่มากขึ้นกับโมเดล 2.5
หากคุณพบว่าเวลาในการตอบสนองนานขึ้นหรือมีการใช้โทเค็นมากขึ้นกับโมเดล 2.5 Flash และ Pro อาจเป็นเพราะโมเดลเหล่านี้เปิดใช้การคิดไว้โดยค่าเริ่มต้น เพื่อปรับปรุงคุณภาพ หากคุณให้ความสำคัญกับความเร็วหรือต้องการลดค่าใช้จ่าย คุณสามารถปรับหรือปิดใช้การคิดได้
โปรดดูคำแนะนำและโค้ดตัวอย่างในหน้าการคิดสำหรับ
ปัญหาด้านความปลอดภัย
หากเห็นว่าระบบบล็อกพรอมต์เนื่องจากการตั้งค่าความปลอดภัยในการเรียก API ให้ตรวจสอบพรอมต์โดยพิจารณาจากตัวกรองที่คุณตั้งค่าในการเรียก API
หากเห็น BlockedReason.OTHER หมายความว่าคำค้นหาหรือการตอบกลับอาจละเมิดข้อกำหนด
ในการให้บริการหรือไม่ได้รับการรองรับ
ปัญหาการท่องจำ
หากเห็นว่าโมเดลหยุดสร้างเอาต์พุตเนื่องจากเหตุผล RECITATION หมายความว่าเอาต์พุตโมเดลอาจคล้ายกับข้อมูลบางอย่าง หากต้องการแก้ไขปัญหานี้ ให้พยายามทำให้พรอมต์ / บริบทไม่ซ้ำกันมากที่สุดและใช้อุณหภูมิที่สูงขึ้น
ปัญหาโทเค็นซ้ำ
หากเห็นโทเค็นเอาต์พุตซ้ำ ให้ลองทำตามคำแนะนำต่อไปนี้เพื่อช่วยลดหรือกำจัดโทเค็นเหล่านั้น
| คำอธิบาย | สาเหตุ | วิธีแก้ปัญหาที่แนะนำ |
|---|---|---|
| ยัติภังค์ซ้ำในตารางมาร์กดาวน์ | ปัญหานี้อาจเกิดขึ้นเมื่อเนื้อหาของตารางยาวเนื่องจากโมเดลพยายาม สร้างตารางมาร์กดาวน์ที่จัดแนวให้ดูดี อย่างไรก็ตาม การจัดแนวใน มาร์กดาวน์ไม่จำเป็นสำหรับการแสดงผลที่ถูกต้อง |
เพิ่มวิธีการในพรอมต์เพื่อกำหนดหลักเกณฑ์เฉพาะสำหรับโมเดล ในการสร้างตารางมาร์กดาวน์ ระบุตัวอย่างที่เป็นไปตามหลักเกณฑ์เหล่านั้น นอกจากนี้ คุณยังลองปรับอุณหภูมิได้ด้วย สำหรับการสร้าง โค้ดหรือเอาต์พุตที่มีโครงสร้างชัดเจนมาก เช่น ตารางมาร์กดาวน์ พบว่าอุณหภูมิสูง (>= 0.8) ได้ผลดีกว่า ต่อไปนี้เป็นชุดหลักเกณฑ์ตัวอย่างที่คุณเพิ่มลงใน พรอมต์เพื่อป้องกันปัญหานี้ได้
# Markdown Table Format
* Separator line: Markdown tables must include a separator line below
the header row. The separator line must use only 3 hyphens per
column, for example: |---|---|---|. Using more hypens like
----, -----, ------ can result in errors. Always
use |:---|, |---:|, or |---| in these separator strings.
For example:
| Date | Description | Attendees |
|---|---|---|
| 2024-10-26 | Annual Conference | 500 |
| 2025-01-15 | Q1 Planning Session | 25 |
* Alignment: Do not align columns. Always use |---|.
For three columns, use |---|---|---| as the separator line.
For four columns use |---|---|---|---| and so on.
* Conciseness: Keep cell content brief and to the point.
* Never pad column headers or other cells with lots of spaces to
match with width of other content. Only a single space on each side
is needed. For example, always do "| column name |" instead of
"| column name |". Extra spaces are wasteful.
A markdown renderer will automatically take care displaying
the content in a visually appealing form.
|
| โทเค็นซ้ำในตารางมาร์กดาวน์ | ปัญหานี้เกิดขึ้นเมื่อโมเดลพยายามจัดแนวเนื้อหาของตารางให้ดูดี ซึ่งคล้ายกับยัติภังค์ซ้ำ การจัดแนวในมาร์กดาวน์ไม่จำเป็นสำหรับการแสดงผลที่ถูกต้อง |
|
บรรทัดใหม่ (\n) ซ้ำในเอาต์พุตที่มีโครงสร้าง
|
เมื่ออินพุตของโมเดลมี Unicode หรือลำดับการหลีก เช่น
\u หรือ \t อาจทำให้เกิดบรรทัดใหม่ซ้ำ
|
|
| ข้อความซ้ำเมื่อใช้เอาต์พุตที่มีโครงสร้าง | เมื่อเอาต์พุตโมเดลมีลำดับของช่องต่างจากสคีมาที่มีโครงสร้างที่กำหนดไว้ อาจทำให้เกิดข้อความซ้ำ |
|
| การเรียกใช้เครื่องมือซ้ำ | ปัญหานี้อาจเกิดขึ้นหากโมเดลสูญเสียบริบทของความคิดก่อนหน้าและ/หรือเรียกใช้ปลายทางที่ไม่พร้อมใช้งานซึ่งโมเดลถูกบังคับให้เรียกใช้ |
สั่งให้โมเดลรักษาสถานะไว้ในกระบวนการคิด
เพิ่มข้อความนี้ที่ส่วนท้ายของวิธีการของระบบ
When thinking silently: ALWAYS start the thought with a brief
(one sentence) recap of the current progress on the task. In
particular, consider whether the task is already done.
|
| ข้อความซ้ำซึ่งไม่ได้เป็นส่วนหนึ่งของเอาต์พุตที่มีโครงสร้าง | ปัญหานี้อาจเกิดขึ้นหากโมเดลติดอยู่กับคำขอที่โมเดลไม่สามารถแก้ไขได้ |
|
คีย์ API ที่ถูกบล็อกหรือไม่ทำงาน
ส่วนนี้อธิบายวิธีตรวจสอบว่าคีย์ Gemini API ถูกบล็อกหรือไม่ และสิ่งที่ต้องทำ
ทำความเข้าใจสาเหตุที่คีย์ถูกบล็อก
เราพบช่องโหว่ที่คีย์ API บางรายการอาจถูกเปิดเผยต่อสาธารณะ เพื่อปกป้องข้อมูลของคุณและป้องกันการเข้าถึงที่ไม่ได้รับอนุญาต เราจึงบล็อกคีย์ที่รั่วไหลซึ่งทราบกันดีเหล่านี้ไม่ให้เข้าถึง Gemini API
ยืนยันว่าคีย์ของคุณได้รับผลกระทบหรือไม่
หากทราบว่าคีย์ของคุณรั่วไหล คุณจะไม่สามารถใช้คีย์ดังกล่าวกับ Gemini API ได้อีกต่อไป คุณสามารถใช้ Google AI Studio เพื่อดูว่าคีย์ API รายการใดของ คุณถูกบล็อกไม่ให้เรียกใช้ Gemini API และสร้างคีย์ ใหม่ นอกจากนี้ คุณอาจเห็นข้อผิดพลาดต่อไปนี้แสดงขึ้นเมื่อพยายามใช้คีย์เหล่านี้
Your API key was reported as leaked. Please use another API key.
การดำเนินการสำหรับคีย์ API ที่ถูกบล็อก
คุณควรสร้างคีย์ API ใหม่สำหรับการผสานรวม Gemini API โดยใช้ Google AI Studio เราขอแนะนำอย่างยิ่งให้ตรวจสอบแนวทางปฏิบัติในการจัดการคีย์ API เพื่อให้แน่ใจว่าคีย์ใหม่ของคุณจะปลอดภัยและไม่ถูกเปิดเผยต่อสาธารณะ
การเรียกเก็บเงินที่ไม่คาดคิดเนื่องจากช่องโหว่
ยื่นเคสขอรับความช่วยเหลือเกี่ยวกับการเรียกเก็บเงิน ทีมเรียกเก็บเงินกำลังดำเนินการแก้ไขปัญหานี้ และเราจะแจ้งให้คุณทราบทันทีที่ได้รับข้อมูลอัปเดต
มาตรการรักษาความปลอดภัยของ Google สำหรับคีย์ที่รั่วไหล
Google จะช่วยรักษาความปลอดภัยให้บัญชีของฉันจากการใช้จ่ายเกินงบประมาณและการละเมิดได้อย่างไรหากคีย์ API ของฉันรั่วไหล
- เรากำลังเปลี่ยนไปใช้การออกคีย์ API เมื่อคุณขอคีย์ใหม่โดยใช้ Google AI Studio ซึ่งโดยค่าเริ่มต้นจะ จำกัดไว้เฉพาะ Google AI Studio และไม่รับคีย์จากบริการอื่นๆ ซึ่งจะช่วยป้องกันการใช้คีย์ข้ามบริการโดยไม่ตั้งใจ
- เราจะบล็อกคีย์ API ที่รั่วไหลและใช้กับ Gemini API โดยค่าเริ่มต้น ซึ่งจะช่วยป้องกันการละเมิดค่าใช้จ่ายและข้อมูลแอปพลิเคชันของคุณ
- คุณจะดูสถานะของคีย์ API ได้ภายใน Google AI Studio และเราจะแจ้งให้คุณทราบ ล่วงหน้าเมื่อพบว่าคีย์ API ของคุณรั่วไหลเพื่อให้คุณดำเนินการได้ทันที
ปรับปรุงเอาต์พุตโมเดล
หากต้องการให้เอาต์พุตของโมเดลมีคุณภาพสูงขึ้น ให้ลองเขียนพรอมต์ที่มีโครงสร้างมากขึ้น หน้า คู่มือวิศวกรรมพรอมต์จะแนะนำแนวคิด กลยุทธ์ และแนวทางปฏิบัติแนะนำเบื้องต้นเพื่อช่วยให้คุณ เริ่มต้นใช้งานได้
ทำความเข้าใจขีดจำกัดของโทเค็น
อ่านคู่มือโทเค็นเพื่อทำความเข้าใจวิธี นับโทเค็นและขีดจำกัดของโทเค็นให้ดียิ่งขึ้น
ปัญหาที่ทราบ
- API รองรับเฉพาะบางภาษาเท่านั้น การส่งพรอมต์ในภาษาที่ไม่รองรับอาจทำให้เกิดการตอบกลับที่ไม่คาดคิดหรือแม้แต่การตอบกลับที่ถูกบล็อก ดู ภาษาที่ใช้ได้เพื่อรับ ข้อมูลอัปเดต
รายงานข้อบกพร่อง
เข้าร่วมการสนทนาใน ฟอรัมสำหรับนักพัฒนาแอป Google AI หากมีข้อสงสัย