Gemini 2.0 (thử nghiệm)

Gemini 2.0 Flash hiện có dưới dạng bản phát hành xem trước thử nghiệm thông qua Gemini Developer API và Google AI Studio. Mô hình này giới thiệu các tính năng mới và tăng cường các chức năng cốt lõi:

  • Multimodal Live API (API trực tiếp đa phương thức): API mới này giúp bạn tạo các ứng dụng phát trực tuyến hình ảnh và âm thanh theo thời gian thực bằng cách sử dụng công cụ.
  • Tốc độ và hiệu suất: Gemini 2.0 cải thiện đáng kể thời gian tạo mã thông báo đầu tiên (TTFT) so với 1.5 Flash.
  • Chất lượng: Hiệu suất tốt hơn trên hầu hết các điểm chuẩn so với Gemini 1.5 Pro.
  • Cải thiện khả năng của tác nhân: Gemini 2.0 cải thiện khả năng hiểu nhiều phương thức, lập trình, làm theo hướng dẫn phức tạp và gọi hàm.
  • Chế độ mới: Gemini 2.0 giới thiệu tính năng tạo hình ảnh gốc và khả năng chuyển văn bản sang lời nói có thể kiểm soát.

Để mang đến trải nghiệm tốt hơn cho nhà phát triển, chúng tôi cũng sẽ phân phối một SDK mới. Để biết thông tin kỹ thuật về Gemini 2.0, hãy xem các mô hình Gemini.

SDK Google Gen AI (thử nghiệm)

SDK AI tạo sinh mới của Google cung cấp một giao diện hợp nhất cho Gemini 2.0 thông qua cả API dành cho nhà phát triển Gemini và API Gemini trên Vertex AI. Ngoại trừ một vài trường hợp ngoại lệ, mã chạy trên một nền tảng sẽ chạy trên cả hai nền tảng. Điều này có nghĩa là bạn có thể tạo nguyên mẫu ứng dụng bằng API dành cho nhà phát triển, sau đó di chuyển ứng dụng sang Vertex AI mà không cần viết lại mã.

SDK AI tạo sinh cũng hỗ trợ các mô hình Gemini 1.5.

SDK mới có sẵn trong Python và Go, với Java và JavaScript sắp ra mắt.

Bạn có thể bắt đầu sử dụng SDK như minh hoạ bên dưới.

  1. Cài đặt SDK mới: pip install google-genai
  2. Sau đó, hãy nhập thư viện, khởi chạy ứng dụng và tạo nội dung:
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)

(Không bắt buộc) Đặt biến môi trường

Ngoài ra, bạn có thể khởi chạy ứng dụng bằng cách sử dụng các biến môi trường. Trước tiên, hãy đặt các giá trị thích hợp và xuất các biến:

# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY

Sau đó, bạn có thể khởi chạy ứng dụng mà không cần bất kỳ đối số nào:

client = genai.Client()

Nhà phát triển Python cũng có thể dùng thử sổ ghi chú Bắt đầu trong Sách dạy nấu ăn.

API Trực tiếp đa phương thức

API Trực tiếp đa phương thức cho phép tương tác hai chiều bằng giọng nói và video với độ trễ thấp thông qua Gemini. Khi sử dụng API Trực tiếp đa phương thức, bạn có thể mang đến cho người dùng cuối trải nghiệm trò chuyện tự nhiên, giống như con người bằng giọng nói, đồng thời có thể ngắt lời phản hồi của mô hình bằng lệnh thoại. Mô hình này có thể xử lý dữ liệu đầu vào văn bản, âm thanh và video, đồng thời có thể cung cấp dữ liệu đầu ra văn bản và âm thanh.

API Trực tiếp đa phương thức có trong API Gemini dưới dạng phương thức BidiGenerateContent và được xây dựng trên 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)

Các chức năng chính:

  • Tính đa phương thức: Mô hình có thể nhìn, nghe và nói.
  • Tương tác theo thời gian thực có độ trễ thấp: Cung cấp phản hồi nhanh.
  • Bộ nhớ phiên: Mô hình giữ lại bộ nhớ của tất cả các lượt tương tác trong một phiên, gợi nhắc thông tin đã nghe hoặc nhìn thấy trước đó.
  • Hỗ trợ gọi hàm, thực thi mã và Tìm kiếm dưới dạng công cụ: Cho phép tích hợp với các dịch vụ và nguồn dữ liệu bên ngoài.
  • Phát hiện hoạt động giọng nói tự động (VAD): Mô hình có thể nhận dạng chính xác thời điểm người dùng bắt đầu và dừng nói. Điều này cho phép các tương tác tự nhiên, trò chuyện và cho phép người dùng làm gián đoạn mô hình bất cứ lúc nào.

Ngôn ngữ:

  • Chỉ bằng tiếng Anh

Các điểm hạn chế:

  • Cả đầu vào âm thanh và đầu ra âm thanh đều ảnh hưởng tiêu cực đến khả năng sử dụng lệnh gọi hàm của mô hình.

Để tìm hiểu thêm về các tính năng và hạn chế của API, hãy xem Hướng dẫn tham khảo API trực tiếp đa phương thức.

Bạn có thể dùng thử API Trực tiếp đa phương thức trong Google AI Studio. Để bắt đầu phát triển, bạn có thể thử web console (được viết bằng React). Đối với nhà phát triển Python, hãy thử mã khởi động (sổ taytệp.py). Bạn có thể thấy rằng sổ tay là cách dễ nhất để bắt đầu, nhưng API trực tiếp hoạt động tốt nhất khi chạy từ thiết bị đầu cuối.

Tìm kiếm dưới dạng công cụ

Khi sử dụng tính năng Nền tảng bằng Google Tìm kiếm, bạn có thể cải thiện độ chính xác và mức độ mới của các câu trả lời từ mô hình. Kể từ Gemini 2.0, Google Tìm kiếm sẽ có sẵn dưới dạng một công cụ. Điều này có nghĩa là mô hình có thể quyết định thời điểm sử dụng Google Tìm kiếm. Ví dụ sau đây cho thấy cách định cấu hình Tìm kiếm làm một công cụ.

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)

Chức năng Tìm kiếm dưới dạng công cụ cũng cho phép tìm kiếm nhiều lượt và truy vấn nhiều công cụ (ví dụ: kết hợp tính năng Lấy thông tin cơ bản với Google Tìm kiếm và thực thi mã).

Tìm kiếm đóng vai trò là một công cụ hỗ trợ các câu lệnh và quy trình công việc phức tạp đòi hỏi phải lập kế hoạch, suy luận và tư duy:

  • Tìm hiểu thông tin cơ bản để tăng tính xác thực và tính mới mẻ, đồng thời cung cấp câu trả lời chính xác hơn
  • Truy xuất cấu phần phần mềm từ web để phân tích thêm
  • Tìm hình ảnh, video hoặc nội dung nghe nhìn có liên quan để hỗ trợ các nhiệm vụ suy luận hoặc tạo bằng nhiều phương thức
  • Lập trình, khắc phục sự cố kỹ thuật và các nhiệm vụ chuyên biệt khác
  • Tìm thông tin theo khu vực hoặc hỗ trợ dịch nội dung một cách chính xác
  • Tìm các trang web có liên quan để duyệt xem thêm

Bạn có thể bắt đầu bằng cách dùng thử sổ tay công cụ Tìm kiếm.

Cải tiến công cụ

Gemini 2.0 ra mắt các điểm cải tiến đối với lệnh gọi hàm và các công cụ hỗ trợ tốt hơn cho trải nghiệm tác nhân.

Gọi hàm có khả năng kết hợp

Gemini 2.0 hỗ trợ một chức năng gọi hàm mới: gọi hàm có khả năng kết hợp. Lệnh gọi hàm có khả năng kết hợp cho phép Gemini API tự động gọi nhiều hàm do người dùng xác định trong quá trình tạo phản hồi. Ví dụ: để phản hồi lời nhắc "Get the temperature in my current location", API Gemini có thể gọi cả hàm get_current_location() và hàm get_weather() lấy vị trí làm tham số.

Việc gọi hàm có cấu trúc bằng cách thực thi mã yêu cầu truyền trực tuyến hai chiều và chỉ được hỗ trợ bởi API trực tiếp đa phương thức mới. Dưới đây là ví dụ cho thấy cách bạn có thể sử dụng tính năng gọi hàm có khả năng kết hợp, thực thi mã và API trực tiếp đa phương thức cùng nhau:

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")

Nhà phát triển Python có thể thử tính năng này trong sổ tay Sử dụng công cụ API trực tiếp.

Sử dụng nhiều công cụ

Với Gemini 2.0, bạn có thể bật nhiều công cụ cùng một lúc và mô hình sẽ quyết định thời điểm gọi các công cụ đó. Dưới đây là ví dụ về việc bật hai công cụ, đó là công cụ Tìm kiếm trên Google và thực thi mã, trong một yêu cầu bằng API Trực tiếp đa phương thức.

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")

Nhà phát triển Python có thể thử tính năng này trong sổ tay Sử dụng công cụ API trực tiếp.

Phát hiện hộp giới hạn

Trong lần ra mắt thử nghiệm này, chúng tôi cung cấp cho nhà phát triển một công cụ mạnh mẽ để phát hiện và bản địa hoá đối tượng trong hình ảnh và video. Bằng cách xác định và phân định chính xác các đối tượng bằng hộp giới hạn, nhà phát triển có thể mở khoá một loạt ứng dụng và nâng cao tính thông minh của dự án.

Lợi ích chính:

  • Đơn giản: Dễ dàng tích hợp các tính năng phát hiện đối tượng vào ứng dụng, bất kể bạn có chuyên môn về thị giác máy tính hay không.
  • Có thể tuỳ chỉnh: Tạo hộp giới hạn dựa trên hướng dẫn tuỳ chỉnh (ví dụ: "Tôi muốn xem hộp giới hạn của tất cả các đối tượng màu xanh lục trong hình ảnh này") mà không cần phải huấn luyện mô hình tuỳ chỉnh.

Thông tin chi tiết về kỹ thuật:

  • Dữ liệu đầu vào: Câu lệnh và hình ảnh hoặc khung video liên quan.
  • Kết quả: Hộp giới hạn ở định dạng [y_min, x_min, y_max, x_max]. Góc trên cùng bên trái là gốc. Trục xy lần lượt chạy theo chiều ngang và chiều dọc. Giá trị toạ độ được chuẩn hoá thành 0-1000 cho mỗi hình ảnh.
  • Hình ảnh hoá: Người dùng AI Studio sẽ thấy các hộp giới hạn được lập biểu đồ trong giao diện người dùng. Người dùng Vertex AI nên trực quan hoá hộp giới hạn của họ thông qua mã trực quan hoá tuỳ chỉnh.

Đối với các nhà phát triển Python, hãy thử sổ tay hiểu biết không gian 2D hoặc sổ tay thử nghiệm về tính năng trỏ 3D.

Tạo lời nói (quyền truy cập sớm/danh sách cho phép)

Gemini 2.0 hỗ trợ một tính năng tạo đa phương thức mới: văn bản sang lời nói. Khi sử dụng tính năng chuyển văn bản sang lời nói, bạn có thể nhắc mô hình tạo ra đầu ra âm thanh chất lượng cao giống như giọng nói của con người (say "hi everyone") và bạn có thể tinh chỉnh thêm đầu ra bằng cách điều hướng giọng nói.

Tạo hình ảnh (quyền truy cập sớm/danh sách cho phép)

Gemini 2.0 hỗ trợ khả năng xuất văn bản có hình ảnh nội tuyến. Điều này cho phép bạn sử dụng Gemini để chỉnh sửa hình ảnh theo cách trò chuyện hoặc tạo đầu ra đa phương thức (ví dụ: một bài đăng trên blog có văn bản và hình ảnh trong một lượt). Trước đây, bạn phải nối nhiều mô hình với nhau.

Tính năng tạo hình ảnh có sẵn dưới dạng bản phát hành thử nghiệm riêng tư. API này hỗ trợ các phương thức và chức năng sau:

  • Chuyển văn bản thành hình ảnh
    • Câu lệnh ví dụ: "Tạo hình ảnh tháp Eiffel có pháo hoa ở nền sau."
  • Văn bản sang(các) hình ảnh và văn bản (xen kẽ)
    • Câu lệnh mẫu: "Tạo một công thức nấu ăn có hình minh hoạ cho món paella."
  • (Các) hình ảnh và văn bản thành(các) hình ảnh và văn bản (xen kẽ)
    • Câu lệnh mẫu: (Có hình ảnh một phòng được trang bị đồ nội thất) "Có màu sofa nào khác phù hợp với không gian của tôi không? Bạn có thể cập nhật hình ảnh không?"
  • Chỉnh sửa hình ảnh (văn bản và hình ảnh thành hình ảnh)
    • Câu lệnh ví dụ: "Chỉnh sửa hình ảnh này để trông giống như một bức tranh hoạt hình"
    • Câu lệnh ví dụ: [hình ảnh một con mèo] + [hình ảnh một chiếc gối] + "Tạo hình ảnh con mèo của tôi bằng mũi thêu chữ thập trên chiếc gối này".
  • Chỉnh sửa hình ảnh nhiều lượt (trò chuyện)
    • Câu lệnh mẫu: [tải hình ảnh một chiếc ô tô màu xanh dương lên.] "Chuyển đổi chiếc xe này thành xe mui trần." "Bây giờ, hãy thay đổi màu thành màu vàng."
  • Tạo hình mờ (synthID)

Các điểm hạn chế:

  • Không được phép tạo hình ảnh người và chỉnh sửa hình ảnh người đã tải lên.
  • Để đạt được hiệu suất tốt nhất, hãy sử dụng các ngôn ngữ sau: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Tính năng tạo hình ảnh không hỗ trợ đầu vào âm thanh hoặc video.
  • Tính năng tạo hình ảnh không phải lúc nào cũng kích hoạt:
    • Mô hình có thể chỉ xuất văn bản. Hãy thử yêu cầu đầu ra hình ảnh một cách rõ ràng (ví dụ: "tạo hình ảnh", "cung cấp hình ảnh khi bạn thực hiện", "cập nhật hình ảnh").
    • Mô hình có thể ngừng tạo trong quá trình tạo. Hãy thử lại hoặc thử một câu lệnh khác.