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 แพลตฟอร์ม ยกเว้นบางกรณี ซึ่งหมายความว่าคุณสามารถสร้างต้นแบบแอปพลิเคชันโดยใช้ Developer API แล้วย้ายข้อมูลแอปพลิเคชันไปยัง Vertex AI ได้โดยไม่ต้องเขียนโค้ดใหม่
Gen AI SDK ยังรองรับโมเดล Gemini 1.5 ด้วย
SDK ใหม่พร้อมใช้งานใน Python และ Go โดยจะมี Java และ JavaScript ในเร็วๆ นี้
คุณเริ่มใช้ SDK ได้ตามที่แสดงด้านล่าง
- ติดตั้ง SDK ใหม่:
pip install google-genai
- จากนั้นนําเข้าไลบรารี เริ่มต้นไคลเอ็นต์ และสร้างเนื้อหา
from google import genai
client = genai.Client(
api_key="YOUR_API_KEY"
)
response = client.models.generate_content(
model='gemini-2.0-flash-exp', contents='How does AI work?'
)
print(response.text)
(ไม่บังคับ) ตั้งค่าตัวแปรสภาพแวดล้อม
หรือจะเริ่มต้นใช้งานไคลเอ็นต์โดยใช้ตัวแปรสภาพแวดล้อมก็ได้ ก่อนอื่น ให้ตั้งค่าที่เหมาะสมและส่งออกตัวแปร
# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY
จากนั้นคุณสามารถเริ่มต้นไคลเอ็นต์ได้โดยไม่ต้องใช้อาร์กิวเมนต์ใดๆ
client = genai.Client()
นอกจากนี้ นักพัฒนาซอฟต์แวร์ Python ยังลองใช้โน้ตบุ๊กเริ่มต้นใช้งานในตำราได้ด้วย
Multimodal Live API
Multimodal Live API ช่วยให้สามารถโต้ตอบด้วยเสียงและวิดีโอแบบ 2 ทิศทางที่มีเวลาในการตอบสนองต่ำกับ Gemini การใช้ Multimodal Live API ช่วยให้คุณมอบประสบการณ์การสนทนาด้วยเสียงที่เป็นธรรมชาติและเหมือนมนุษย์ให้แก่ผู้ใช้ปลายทาง รวมถึงสามารถขัดจังหวะคำตอบของโมเดลได้โดยใช้คำสั่งเสียง โมเดลสามารถประมวลผลอินพุตข้อความ เสียง และวิดีโอ รวมถึงให้เอาต์พุตข้อความและเสียง
Multimodal Live API มีให้บริการใน Gemini API เป็นเมธอด BidiGenerateContent
และสร้างขึ้นบน WebSockets
from google import genai
client = genai.Client(http_options={'api_version': 'v1alpha'})
model_id = "gemini-2.0-flash-exp"
config = {"response_modalities": ["TEXT"]}
async with client.aio.live.connect(model=model_id, config=config) as session:
message = "Hello? Gemini, are you there?"
print("> ", message, "\n")
await session.send(message, end_of_turn=True)
async for response in session.receive():
print(response.text)
ความสามารถหลัก:
- มัลติโมดัล: โมเดลสามารถมองเห็น ได้ยิน และพูดได้
- การโต้ตอบแบบเรียลไทม์ที่มีเวลาในการตอบสนองต่ำ: ให้การตอบกลับที่รวดเร็ว
- ความทรงจำของเซสชัน: โมเดลจะเก็บความทรงจำของการโต้ตอบทั้งหมดภายในเซสชันเดียว โดยจะจำข้อมูลที่เคยได้ยินหรือเห็นก่อนหน้านี้
- การรองรับการเรียกใช้ฟังก์ชัน การดำเนินการโค้ด และ Search เป็นเครื่องมือ: ช่วยให้ผสานรวมกับบริการและแหล่งข้อมูลภายนอกได้
- การตรวจจับกิจกรรมเสียงอัตโนมัติ (VAD): โมเดลจะจดจําได้อย่างแม่นยําเมื่อผู้ใช้เริ่มและหยุดพูด ซึ่งช่วยให้การโต้ตอบเป็นธรรมชาติและเป็นการสนทนา และช่วยให้ผู้ใช้ขัดจังหวะโมเดลได้ทุกเมื่อ
ภาษา:
- ภาษาอังกฤษเท่านั้น
ข้อจํากัด:
- ทั้งอินพุตและเอาต์พุตเสียงส่งผลเสียต่อความสามารถของโมเดลในการใช้การเรียกฟังก์ชัน
ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถและข้อจํากัดของ API ได้ที่คู่มืออ้างอิง Multimodal Live API
คุณลองใช้ Multimodal Live API ได้ใน Google AI Studio หากต้องการเริ่มพัฒนา ให้ลองใช้เว็บคอนโซล (เขียนด้วย React) สําหรับนักพัฒนาซอฟต์แวร์ Python ให้ลองใช้โค้ดเริ่มต้น (Notebook และไฟล์ .py) คุณอาจพบว่าโน้ตบุ๊กเป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งาน แต่ 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)
ข้อจํากัด:
- ไม่อนุญาตให้สร้างผู้คนและแก้ไขรูปภาพที่อัปโหลดของผู้คน
- ใช้ภาษาต่อไปนี้เพื่อให้ได้ประสิทธิภาพที่ดีที่สุด ได้แก่ อังกฤษ สเปน (เม็กซิโก) ญี่ปุ่น จีน (จีน) และฮินดี (อินเดีย)
- การสร้างรูปภาพไม่รองรับอินพุตเสียงหรือวิดีโอ
- การสร้างรูปภาพอาจไม่ทริกเกอร์ในกรณีต่อไปนี้เสมอไป
- โมเดลอาจแสดงผลเป็นข้อความเท่านั้น ลองขอเอาต์พุตรูปภาพอย่างชัดเจน (เช่น "สร้างรูปภาพ" "ส่งรูปภาพไปเรื่อยๆ" "อัปเดตรูปภาพ")
- โมเดลอาจหยุดสร้างกลางคัน ลองอีกครั้งหรือลองใช้พรอมต์อื่น