Gemini API สามารถสร้างเอาต์พุตที่เป็นข้อความจากอินพุตประเภทต่างๆ เช่น ข้อความ รูปภาพ วิดีโอ และเสียง คุณสามารถใช้การสร้างข้อความสำหรับ แอปพลิเคชัน ซึ่งรวมถึง:
- การเขียนเชิงสร้างสรรค์
- การอธิบายหรือตีความเนื้อหาสื่อ
- การเติมข้อความ
- สรุปข้อความรูปแบบอิสระ
- การแปลระหว่างภาษา
- แชทบ็อต
- กรณีการใช้งานนิยายของคุณเอง
คู่มือนี้แสดงวิธีสร้างข้อความโดยใช้
generateContent
และ
streamGenerateContent
API โดยจะโฟกัสที่เอาต์พุตข้อความจากอินพุตแบบข้อความอย่างเดียว รวมถึงข้อความและรูปภาพ ถึง
เรียนรู้เพิ่มเติมเกี่ยวกับการแจ้งผ่านสื่อหลากรูปแบบโดยใช้ไฟล์วิดีโอและไฟล์เสียง โปรดดู
กลยุทธ์การแจ้งไฟล์
ก่อนเริ่มต้น: ตั้งค่าโปรเจ็กต์และคีย์ API
ก่อนที่จะเรียกใช้ Gemini API คุณต้องตั้งค่าโปรเจ็กต์และกำหนดค่า คีย์ API
สร้างข้อความจากการป้อนข้อมูลแบบข้อความเท่านั้น
วิธีที่ง่ายที่สุดในการสร้างข้อความโดยใช้ Gemini API คือการระบุโมเดล ด้วยอินพุตแบบข้อความอย่างเดียวเท่านั้น ตามที่แสดงในตัวอย่างนี้:
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
ในกรณีนี้ ข้อความแจ้ง ("เขียนเรื่องราวเกี่ยวกับกระเป๋าเป้สะพายหลังสุดมหัศจรรย์") จะไม่แสดง รวมทั้งตัวอย่างเอาต์พุต คำสั่งของระบบ หรือข้อมูลการจัดรูปแบบ โดยจะเป็นศูนย์ ของเรา สำหรับกรณีการใช้งานบางกรณี one-shot หรือ ข้อความแจ้งน้อยครั้ง อาจให้ผลลัพธ์ที่สอดคล้องกับความคาดหวังของผู้ใช้มากขึ้น ในบางกรณี คุณอาจต้องระบุ คำแนะนำของระบบเพื่อช่วยโมเดล ทำความเข้าใจงานหรือปฏิบัติตามหลักเกณฑ์เฉพาะ
สร้างข้อความจากการป้อนข้อความและรูปภาพ
Gemini API รองรับอินพุตในหลายโมดัลที่รวมข้อความเข้ากับไฟล์สื่อ ตัวอย่างต่อไปนี้แสดงวิธีการสร้างข้อความจากการป้อนข้อความและรูปภาพ
import PIL.Image
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)
การสร้างพรอมต์แบบหลายโมดัลอาจใช้วิธีการหลายอย่างได้เช่นเดียวกับการใช้พรอมต์แบบข้อความเท่านั้น และการปรับแต่ง ทั้งนี้ขึ้นอยู่กับผลลัพธ์ที่ได้จากตัวอย่างนี้ คุณอาจต้องการ เพิ่มขั้นตอนให้กับข้อความแจ้งหรือระบุวิธีการอย่างเจาะจงมากขึ้น หากต้องการทราบข้อมูลเพิ่มเติม ดูกลยุทธ์การแสดงข้อความแจ้งไฟล์
สร้างสตรีมข้อความ
โดยค่าเริ่มต้น โมเดลจะส่งการตอบกลับหลังจากกรอกข้อความทั้งหมดเสร็จแล้ว กระบวนการสร้าง คุณสามารถสร้างการโต้ตอบที่เร็วขึ้นโดยไม่ต้องรอ ผลลัพธ์ทั้งหมด และใช้สตรีมมิงเพื่อจัดการกับผลลัพธ์บางส่วนแทน
ตัวอย่างต่อไปนี้แสดงวิธีใช้งานสตรีมมิงโดยใช้
streamGenerateContent
เพื่อ
สร้างข้อความจากพรอมต์การป้อนข้อมูลแบบข้อความเท่านั้น
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
สร้างแชทแบบอินเทอร์แอกทีฟ
คุณสามารถใช้ Gemini API เพื่อสร้างประสบการณ์การแชทแบบอินเทอร์แอกทีฟสำหรับผู้ใช้ การใช้ฟีเจอร์แชทของ API ช่วยให้คุณรวบรวมคำถามได้หลายรอบ และคำตอบ ช่วยให้ผู้ใช้ค่อยๆ ตอบคำถามหรือขอความช่วยเหลือได้ กับโจทย์ที่มีหลายส่วน ฟีเจอร์นี้เหมาะสำหรับแอปพลิเคชันที่ต้องใช้ การสื่อสารอย่างต่อเนื่อง เช่น แชทบ็อต ติวเตอร์แบบอินเทอร์แอกทีฟ หรือการสนับสนุนลูกค้า ผู้ช่วย
ตัวอย่างโค้ดต่อไปนี้แสดงการใช้งานแชทขั้นพื้นฐาน
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
กำหนดค่าการสร้างข้อความ
ทุกพรอมต์ที่คุณส่งไปยังโมเดลจะประกอบด้วย
พารามิเตอร์ที่
ควบคุมวิธีสร้างคำตอบของโมเดล คุณสามารถใช้
GenerationConfig
ถึง
กำหนดค่าพารามิเตอร์เหล่านี้ หากไม่กำหนดค่าพารามิเตอร์ โมเดล
จะใช้ตัวเลือกเริ่มต้น ซึ่งอาจแตกต่างกันไปตามรุ่น
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าตัวเลือกต่างๆ ที่ใช้ได้
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Tell me a story about a magic backpack.",
generation_config=genai.types.GenerationConfig(
# Only one candidate for now.
candidate_count=1,
stop_sequences=["x"],
max_output_tokens=20,
temperature=1.0,
),
)
print(response.text)
candidateCount
ระบุจำนวนคำตอบที่สร้างขึ้นซึ่งจะส่งกลับมา
ปัจจุบันค่านี้สามารถตั้งเป็น 1 เท่านั้น หากไม่ได้ตั้งค่า ระบบจะใช้ค่าเริ่มต้นเป็น 1
stopSequences
ระบุชุดของลำดับอักขระ (สูงสุด 5 ชุด) ที่
หยุดการสร้างเอาต์พุต หากระบุ API จะหยุดเมื่อปรากฏครั้งแรก
ของ stop_sequence
ลำดับการหยุดจะไม่รวมเป็นส่วนหนึ่งของ
คำตอบ
maxOutputTokens
กำหนดจำนวนโทเค็นสูงสุดที่จะรวมไว้ในตัวเลือก
temperature
จะควบคุมการสุ่มของเอาต์พุต ใช้ค่าที่สูงกว่าเพื่อให้ใช้งานได้มากขึ้น
คำตอบครีเอทีฟโฆษณา และค่าที่ต่ำกว่าสำหรับคำตอบที่กำหนดมากขึ้น ค่า
มีค่าตั้งแต่ [0.0, 2.0]
คุณยังกำหนดค่าการโทรแต่ละรายการไปยัง generateContent
ได้ด้วย โดยทำดังนี้
response = model.generate_content(
'Write a story about a magic backpack.',
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
temperature=0.1,
)
)
ค่าที่กำหนดไว้ในการเรียกแต่ละรายการลบล้างในตัวสร้างโมเดล
ขั้นตอนถัดไป
คู่มือนี้แสดงวิธีใช้
generateContent
และ
streamGenerateContent
เพื่อสร้างเอาต์พุตข้อความจากอินพุตแบบข้อความเท่านั้นและแบบข้อความและรูปภาพ เพื่อดูข้อมูลเพิ่มเติม
เกี่ยวกับการสร้างข้อความด้วย Gemini API โปรดดูแหล่งข้อมูลต่อไปนี้
- กลยุทธ์การแจ้งไฟล์: Gemini API รองรับพรอมต์ที่มีข้อมูลข้อความ รูปภาพ เสียง และวิดีโอ หรือที่เรียกกันว่าพรอมต์แบบหลายโมดัล
- วิธีการของระบบ: ระบบ ช่วยให้คุณสามารถควบคุมลักษณะการทำงานของโมเดลตาม และกรณีการใช้งาน
- คำแนะนำด้านความปลอดภัย: บางครั้ง Generative AI โมเดลจะสร้างเอาต์พุตที่ไม่คาดคิด เช่น เอาต์พุตที่ไม่ถูกต้อง มีอคติ หรือไม่เหมาะสม การประมวลผลหลังการประมวลผลและการประเมินโดยเจ้าหน้าที่เป็นสิ่งจำเป็นเพื่อ ลดความเสี่ยงที่จะเกิดอันตรายจากผลลัพธ์เหล่านั้น