ตอนนี้ Gemini 2.0 Flash พร้อมใช้งานเป็นรุ่นตัวอย่างเวอร์ชันทดลองผ่าน Gemini Developer API และ Google AI Studio แล้ว โมเดลนี้เปิดตัวฟีเจอร์ใหม่และความสามารถหลักที่ปรับปรุงให้ดียิ่งขึ้น ดังนี้
- Multimodal Live API: API ใหม่นี้ช่วยให้คุณสร้างแอปพลิเคชันสตรีมมิงภาพและเสียงแบบเรียลไทม์ด้วยการใช้เครื่องมือ
- ความเร็วและประสิทธิภาพ: Gemini 2.0 ปรับปรุงเวลาในการรับโทเค็นแรก (TTFT) ได้อย่างมากเมื่อเทียบกับ 1.5 Flash
- คุณภาพ: ประสิทธิภาพดีกว่าเกณฑ์ส่วนใหญ่เมื่อเทียบกับ Gemini 1.5 Pro
- ความสามารถของตัวแทนที่ดีขึ้น: Gemini 2.0 มีการปรับปรุงการทำความเข้าใจสื่อหลายรูปแบบ การเขียนโค้ด การทําตามคําสั่งที่ซับซ้อน และการเรียกใช้ฟังก์ชัน
- รูปแบบใหม่: Gemini 2.0 เปิดตัวการสร้างรูปภาพแบบเนทีฟและความสามารถในการอ่านออกเสียงข้อความที่ควบคุมได้
นอกจากนี้ เรายังเปิดตัวSDK ใหม่เพื่อให้นักพัฒนาแอปได้รับประสบการณ์การใช้งานที่ดีขึ้น ดูรายละเอียดทางเทคนิคของ Gemini 2.0 ได้ที่โมเดล Gemini
Google Gen AI SDK (เวอร์ชันทดลอง)
Google Gen AI SDK เวอร์ชันใหม่มีอินเทอร์เฟซแบบรวมสำหรับ Gemini 2.0 ผ่านทั้ง Gemini Developer API และ Gemini API ใน Vertex AI โค้ดที่ทำงานบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งจะทำงานบนทั้ง 2 แพลตฟอร์มได้ โดยมีข้อยกเว้นบางประการ SDK ใหม่พร้อมใช้งานใน Python และ Go และจะพร้อมใช้งานใน Java และ JavaScript เร็วๆ นี้
- ติดตั้ง SDK ใหม่:
pip install google-genai
- จากนั้นนําเข้าไลบรารี เริ่มต้นไคลเอ็นต์ และสร้างเนื้อหา
from google import genai
client = genai.Client(api_key="GEMINI_API_KEY")
response = client.models.generate_content(model='gemini-2.0-flash-exp', contents='How does AI work?')
print(response.text)
นอกจากนี้ นักพัฒนาซอฟต์แวร์ Python ยังลองใช้โน้ตบุ๊กเริ่มต้นใช้งานในตำรา Gemini ได้ด้วย
Multimodal Live API
Multimodal Live API ช่วยให้สามารถโต้ตอบด้วยเสียงและวิดีโอแบบ 2 ทิศทางที่มีเวลาในการตอบสนองต่ำกับ Gemini การใช้ Multimodal Live API ช่วยให้คุณมอบประสบการณ์การสนทนาด้วยเสียงที่เป็นธรรมชาติและเหมือนมนุษย์ให้แก่ผู้ใช้ปลายทาง รวมถึงสามารถขัดจังหวะคำตอบของโมเดลได้โดยใช้คำสั่งเสียง โมเดลสามารถประมวลผลอินพุตข้อความ เสียง และวิดีโอ รวมถึงให้เอาต์พุตข้อความและเสียง
คุณลองใช้ Multimodal Live API ได้ใน Google AI Studio ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถและข้อจำกัดของ API ได้ที่คู่มืออ้างอิง Multimodal Live API
ค้นหาเป็นเครื่องมือ
การใช้การกําหนดบริบทกับ Google Search ช่วยเพิ่มความแม่นยำและความใหม่ของคําตอบจากโมเดลได้ ตั้งแต่ Gemini 2.0 เป็นต้นไป Google Search จะใช้เป็นเครื่องมือได้ ซึ่งหมายความว่าโมเดลจะตัดสินใจได้ว่าจะเลือกใช้ Google Search เมื่อใด ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่า Search เป็นเครื่องมือ
from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch
client = genai.Client()
model_id = "gemini-2.0-flash-exp"
google_search_tool = Tool(
google_search = GoogleSearch()
)
response = client.models.generate_content(
model=model_id,
contents="When is the next total solar eclipse in the United States?",
config=GenerateContentConfig(
tools=[google_search_tool],
response_modalities=["TEXT"],
)
)
for each in response.candidates[0].content.parts:
print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...
# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)
ฟังก์ชันการค้นหาแบบเครื่องมือยังช่วยให้การค้นหาแบบหลายรอบและการค้นหาด้วยเครื่องมือหลายรายการเป็นไปได้ (เช่น การรวมการกราวด์กับ Google Search และการดำเนินการกับโค้ด)
การใช้การค้นหาเป็นเครื่องมือช่วยให้พรอมต์และเวิร์กโฟลว์ที่ซับซ้อนซึ่งต้องใช้การวางแผน การหาเหตุผล และการคิดสามารถทำงานได้
- การอ้างอิงเพื่อเพิ่มความเป็นข้อเท็จจริงและความใหม่และให้คำตอบที่แม่นยำยิ่งขึ้น
- ดึงข้อมูลรายการต่างๆ จากเว็บเพื่อวิเคราะห์เพิ่มเติม
- ค้นหารูปภาพ วิดีโอ หรือสื่ออื่นๆ ที่เกี่ยวข้องเพื่อช่วยในการอนุมานหรือสร้างงานแบบมัลติโมดัล
- การเขียนโค้ด การแก้ปัญหาทางเทคนิค และงานอื่นๆ ที่มีความเชี่ยวชาญ
- การค้นหาข้อมูลเฉพาะภูมิภาคหรือช่วยแปลเนื้อหาให้ถูกต้อง
- การค้นหาเว็บไซต์ที่เกี่ยวข้องเพื่อเรียกดูเพิ่มเติม
คุณเริ่มต้นใช้งานได้โดยลองใช้โน้ตบุ๊กเครื่องมือค้นหา
การใช้เครื่องมือที่ดีขึ้น
Gemini 2.0 มีการปรับปรุงการเรียกฟังก์ชันและเครื่องมือที่รองรับประสบการณ์การใช้งานของตัวแทนได้ดียิ่งขึ้น
การเรียกใช้ฟังก์ชันแบบคอมโพสิชัน
Gemini 2.0 รองรับความสามารถในการเรียกใช้ฟังก์ชันใหม่ ซึ่งก็คือการเรียกใช้ฟังก์ชันแบบคอมโพสิชัน การเรียกฟังก์ชันแบบคอมโพสิชันช่วยให้ Gemini API สามารถเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดไว้หลายรายการโดยอัตโนมัติในกระบวนการสร้างคำตอบ ตัวอย่างเช่น หากต้องการตอบกลับพรอมต์ "Get the temperature in my current location"
ทาง Gemini API อาจเรียกใช้ทั้งฟังก์ชัน get_current_location()
และฟังก์ชัน get_weather()
ที่ใช้ตำแหน่งเป็นพารามิเตอร์
การเรียกใช้ฟังก์ชันการคอมโพสิชันที่มีการดำเนินการโค้ดต้องใช้การสตรีมแบบ 2 ทิศทางและ Multimodal Live API ใหม่เท่านั้นที่รองรับ ต่อไปนี้เป็นตัวอย่างที่แสดงวิธีใช้การเรียกฟังก์ชันการคอมโพสิชัน การดำเนินการโค้ด และ Multimodal Live API ร่วมกัน
turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}
prompt = """
Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
"""
tools = [
{'code_execution': {}},
{'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]
await run(prompt, tools=tools, modality="AUDIO")
นักพัฒนาซอฟต์แวร์ Python สามารถลองใช้ฟีเจอร์นี้ได้ในโน้ตบุ๊กการใช้เครื่องมือ API แบบเรียลไทม์
การใช้งานแบบหลายเครื่องมือ
เมื่อใช้ Gemini 2.0 คุณจะเปิดใช้เครื่องมือหลายรายการพร้อมกันได้ และโมเดลจะเป็นผู้ตัดสินใจว่าจะเรียกใช้เครื่องมือใดเมื่อใด ต่อไปนี้คือตัวอย่างที่เปิดใช้เครื่องมือ 2 อย่าง ได้แก่ การกําหนดค่าโดยใช้ Google Search และการดำเนินการโค้ดในคําขอโดยใช้ Multimodal Live API
prompt = """
Hey, I need you to do three things for me.
1. Turn on the lights.
2. Then compute the largest prime palindrome under 100000.
3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.
Thanks!
"""
tools = [
{'google_search': {}},
{'code_execution': {}},
{'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]
await run(prompt, tools=tools, modality="AUDIO")
นักพัฒนาซอฟต์แวร์ Python สามารถลองใช้เครื่องมือนี้ในโน้ตบุ๊กการใช้เครื่องมือ API แบบเรียลไทม์
การตรวจหากรอบล้อมรอบ
ในการเปิดตัวเวอร์ชันทดลองนี้ เรามอบเครื่องมือที่มีประสิทธิภาพให้กับนักพัฒนาแอปเพื่อตรวจจับวัตถุและแปลภาษาในรูปภาพและวิดีโอ การระบุและกําหนดขอบเขตวัตถุด้วยกล่องขอบเขตที่แม่นยําจะช่วยให้นักพัฒนาแอปพลิเคชันสามารถปลดล็อกแอปพลิเคชันต่างๆ มากมายและเพิ่มความอัจฉริยะของโปรเจ็กต์ได้
ประโยชน์หลัก:
- ใช้งานง่าย: ผสานรวมความสามารถในการตรวจจับวัตถุเข้ากับแอปพลิเคชันได้อย่างง่ายดาย ไม่ว่าคุณจะมีความเชี่ยวชาญด้านคอมพิวเตอร์วิทัศน์มากน้อยเพียงใด
- ปรับแต่งได้: สร้างกรอบที่ล้อมรอบตามวิธีการที่กำหนดเอง (เช่น "ฉันต้องการดูกรอบที่ล้อมรอบของวัตถุสีเขียวทั้งหมดในรูปภาพนี้") โดยไม่ต้องฝึกโมเดลที่กำหนดเอง
รายละเอียดทางเทคนิค:
- อินพุต: พรอมต์และรูปภาพหรือเฟรมวิดีโอที่เกี่ยวข้อง
- เอาต์พุต: กล่องขอบเขตในรูปแบบ
[y_min, x_min, y_max, x_max]
มุมซ้ายบนคือจุดเริ่มต้น โดยแกนx
และy
จะแสดงในแนวนอนและแนวตั้งตามลำดับ ระบบจะทําให้ค่าพิกัดเป็น 0-1000 สําหรับรูปภาพทุกรูป - การแสดงภาพ: ผู้ใช้ AI Studio จะเห็นกล่องขอบเขตที่ผังไว้ใน UI ผู้ใช้ Vertex AI ควรแสดงภาพขอบเขตผ่านโค้ดการแสดงภาพที่กำหนดเอง
สําหรับนักพัฒนาซอฟต์แวร์ Python ให้ลองใช้สมุดบันทึกการทําความเข้าใจเชิงพื้นที่ 2 มิติ หรือสมุดบันทึกการชี้แบบ 3 มิติเวอร์ชันทดลอง
การสร้างเสียงพูด (ทดลองใช้ก่อนเปิดตัว/รายการที่อนุญาต)
Gemini 2.0 รองรับความสามารถในการสร้างสื่อหลายรูปแบบแบบใหม่ ซึ่งก็คือการอ่านออกเสียงข้อความ
เมื่อใช้ความสามารถในการอ่านออกเสียงข้อความ คุณสามารถแจ้งให้โมเดลสร้างเอาต์พุตเสียงคุณภาพสูงที่ฟังดูเหมือนเสียงมนุษย์ (say "hi everyone"
) และปรับแต่งเอาต์พุตเพิ่มเติมโดยการปรับเสียง
การสร้างรูปภาพ (ทดลองใช้ก่อนเปิดตัว/รายการที่อนุญาต)
Gemini 2.0 รองรับการแสดงผลข้อความที่มีรูปภาพในบรรทัด ซึ่งจะช่วยให้คุณใช้ Gemini เพื่อแก้ไขรูปภาพแบบสนทนาหรือสร้างเอาต์พุตแบบมัลติโมเดลได้ (เช่น บล็อกโพสต์ที่มีข้อความและรูปภาพในรอบเดียว) ก่อนหน้านี้คุณจะต้องรวมหลายรูปแบบเข้าด้วยกัน
การสร้างรูปภาพมีให้บริการเป็นรุ่นทดลองส่วนตัว โดยรองรับรูปแบบและความสามารถต่อไปนี้
- การเปลี่ยนข้อความเป็นรูปภาพ
- ตัวอย่างพรอมต์: "สร้างรูปภาพหอไอเฟลที่มีพลุเป็นพื้นหลัง"
- ข้อความเป็นรูปภาพและข้อความ (สลับกัน)
- ตัวอย่างพรอมต์: "สร้างสูตรอาหารพร้อมภาพสำหรับข้าวผัดพริกสเปน"
- รูปภาพและข้อความเป็นรูปภาพและข้อความ (สลับกัน)
- ตัวอย่างพรอมต์: (มีรูปภาพห้องที่มีเฟอร์นิเจอร์) "โซฟาสีอื่นใดที่เหมาะกับพื้นที่ของฉันบ้าง คุณอัปเดตรูปภาพได้ไหม"
- การแก้ไขรูปภาพ (ข้อความและรูปภาพต่อรูปภาพ)
- ตัวอย่างพรอมต์: "แก้ไขรูปภาพนี้ให้ดูเหมือนการ์ตูน"
- ตัวอย่างพรอมต์: [รูปแมว] + [รูปหมอน] + "สร้างลายปักครอสติชรูปแมวของฉันบนหมอนนี้"
- การแก้ไขรูปภาพแบบหลายรอบ (แชท)
- ตัวอย่างพรอมต์: [อัปโหลดรูปภาพรถสีน้ำเงิน] "เปลี่ยนรถคันนี้เป็นรถเปิดประทุน" "ตอนนี้เปลี่ยนเป็นสีเหลือง"
- การเพิ่มลายน้ำ
- รูปภาพที่สร้างขึ้นทั้งหมดจะมีลายน้ำ SynthID
ข้อจํากัด:
- ไม่อนุญาตให้สร้างผู้คนและแก้ไขรูปภาพที่อัปโหลดของผู้คน
- ใช้ภาษาต่อไปนี้เพื่อให้ได้ประสิทธิภาพที่ดีที่สุด ได้แก่ อังกฤษ สเปน (เม็กซิโก) ญี่ปุ่น จีน (จีน) และฮินดี (อินเดีย)
- การสร้างรูปภาพไม่รองรับอินพุตเสียงหรือวิดีโอ
- การสร้างรูปภาพอาจไม่ทริกเกอร์ในกรณีต่อไปนี้เสมอไป
- โมเดลอาจแสดงผลเป็นข้อความเท่านั้น ลองขอเอาต์พุตรูปภาพอย่างชัดเจน (เช่น "สร้างรูปภาพ" "ส่งรูปภาพไปเรื่อยๆ" "อัปเดตรูปภาพ")
- โมเดลอาจหยุดสร้างกลางคัน ลองอีกครั้งหรือลองใช้พรอมต์อื่น