Gemini dành cho nhà phát triển

1. Giới thiệu 👋

35807388b800fbe0.png

Trong lớp học lập trình này, bạn sẽ tìm hiểu mọi thứ cần biết về hệ sinh thái Gemini với tư cách là nhà phát triển. Cụ thể hơn, bạn sẽ được tìm hiểu về các mô hình Gemini, các công cụ dựa trên Gemini, SDK AI tạo sinh của Google để tích hợp với Gemini. Bạn cũng sẽ khám phá nhiều tính năng của Gemini, chẳng hạn như ngữ cảnh dài, chế độ tư duy, khả năng hiểu không gian, Live API, đầu ra âm thanh và hình ảnh gốc, v.v.

Khi kết thúc lớp học lập trình này, bạn sẽ hiểu rõ về hệ sinh thái Gemini!

💡Kiến thức bạn sẽ học được

  • Các mô hình Gemini khác nhau.
  • Các công cụ được trang bị sức mạnh của các mô hình Gemini.
  • Cách tích hợp với Gemini bằng Google Gen AI SDK.
  • Cửa sổ ngữ cảnh dài của Gemini.
  • Chế độ suy nghĩ của Gemini.
  • Nhiều công cụ tích hợp như Google Tìm kiếm, Google Maps.
  • Cách tương tác với các trợ lý nghiên cứu bằng Interactions API.
  • Tạo hình ảnh và chuyển văn bản sang lời nói.
  • Khả năng hiểu không gian của Gemini.
  • Live API để tương tác bằng giọng nói và video theo thời gian thực.

⚠️ Điều kiện cần có

  • Khoá API cho các mẫu của Google AI Studio.
  • Một Dự án trên Google Cloud đã bật tính năng thanh toán cho các mẫu Vertex AI.
  • Môi trường phát triển cục bộ hoặc Cloud Shell Editor trong Google Cloud.

2. Nhóm Gemini 🫂

Gemini là mô hình AI của Google, giúp biến mọi ý tưởng thành hiện thực. Đây là một mô hình tuyệt vời để hiểu biết đa phương thức, lập trình theo cảm xúc và lập trình dựa trên tác nhân – tất cả đều được xây dựng trên nền tảng suy luận hiện đại. Bạn có thể xem video này để nắm thông tin tổng quan nhanh về mô hình Gemini:

Gemini không chỉ là một mô hình. Đây cũng là một thương hiệu chung được dùng trong các sản phẩm của Google

sử dụng mô hình Gemini. Có nhiều sản phẩm Gemini, từ ứng dụng GeminiNotebookLM dành cho người tiêu dùng đến AI Studio dành cho nhà phát triển và Vertex AI dành cho doanh nghiệp của Google Cloud. Ngoài ra, còn có các công cụ dành cho nhà phát triển như Gemini CLIGoogle Antigravity dựa trên Gemini.

3ceb2752ccfbc149.jpeg

3. Các công cụ dựa trên Gemini 🧰

Hãy cùng xem qua những công cụ dựa trên Gemini.

Ứng dụng Gemini 💬

Ứng dụng Gemini ( gemini.google.com) là một ứng dụng trò chuyện dành cho người tiêu dùng. Đây là cách dễ nhất để tương tác với Gemini. Gemini có các công cụ Deep Research, tạo hình ảnh, video, nhạc và nhiều công cụ khác. Công cụ này cũng có nhiều phiên bản của mô hình Gemini mới nhất (Nhanh, Tư duy, Pro). Ứng dụng Gemini là lựa chọn hoàn hảo cho việc sử dụng hằng ngày.

d3800f85bafe9a4a.png

NotebookLM 📓

NotebookLM ( notebooklm.google.com) là một cộng sự nghiên cứu dựa trên AI. Nhờ có khả năng hiểu biết đa phương thức của Gemini phiên bản mới nhất, bạn chỉ cần tải lên tệp PDF, trang web, video trên YouTube, tệp âm thanh, Google Tài liệu hoặc Google Trang trình bày và nhiều loại nội dung khác, NotebookLM sẽ tóm tắt và tạo mối liên kết thú vị giữa các chủ đề đó. Ngoài ra, Gemini còn tạo ra những bản tổng quan bằng âm thanh, bản tổng quan bằng video, bản đồ hoạ thông tin và nhiều nội dung khác thú vị và hấp dẫn từ các nguồn mà bạn tải lên.

4c3274795844251.png

Google AI Studio 🎨

Google AI Studio ( ai.dev) là cách nhanh nhất để bắt đầu xây dựng bằng Gemini. Bảng Playground (Sân chơi) trong AI Studio của Google cho phép bạn thử nghiệm nhiều mô hình để tạo văn bản, hình ảnh, video, cũng như dùng thử giọng nói và video theo thời gian thực bằng Gemini Live API. Bảng điều khiển Build (Xây dựng) trong Google AI Studio cho phép bạn viết mã ứng dụng web theo cảm hứng, triển khai ứng dụng đó vào Cloud Run trên Google Cloud và chuyển mã lên GitHub.

48fadc9d3d5f9500.png

Vertex AI Studio ☁️

Vertex AI là một nền tảng phát triển AI hợp nhất, được quản lý hoàn toàn để xây dựng và sử dụng AI tạo sinh trong Google Cloud. Vertex AI Studio ( console.cloud.google.com/vertex-ai/studio) giúp bạn kiểm thử, điều chỉnh và triển khai các ứng dụng AI tạo sinh sẵn sàng cho doanh nghiệp.

15b55a2b635d63e1.png

Gemini CLI ⚙️

Gemini CLI ( geminicli.com) là một tác nhân AI mã nguồn mở, mang sức mạnh của Gemini trực tiếp vào thiết bị đầu cuối của bạn. Đây là một công cụ mạnh mẽ, có thể mở rộng và ưu tiên thiết bị đầu cuối dành cho nhà phát triển, kỹ sư, kỹ sư độ tin cậy trang web (SRE) và nhiều đối tượng khác. Gemini CLI tích hợp với môi trường cục bộ của bạn. Công cụ này có thể đọc và chỉnh sửa tệp, thực thi các lệnh shell và tìm kiếm trên web, đồng thời duy trì ngữ cảnh dự án của bạn.

b2a7f0bf377ac7b0.png

Google Antigravity 🚀

Google Antigravity ( antigravity.google) là một nền tảng phát triển dựa trên tác nhân, giúp IDE phát triển thành nền tảng ưu tiên tác nhân. Antigravity cho phép nhà phát triển hoạt động ở cấp độ cao hơn, hướng đến tác vụ, quản lý các tác nhân trên nhiều không gian làm việc, đồng thời vẫn giữ được trải nghiệm IDE AI quen thuộc ở cốt lõi.

Antigravity trích xuất các tác nhân vào bề mặt riêng và cung cấp cho các tác nhân này những công cụ cần thiết để hoạt động độc lập trên trình chỉnh sửa, thiết bị đầu cuối và trình duyệt, đồng thời nhấn mạnh việc xác minh và giao tiếp ở cấp độ cao hơn thông qua các nhiệm vụ và cấu phần phần mềm. Khả năng này cho phép các tác nhân lập kế hoạch và thực hiện các tác vụ phần mềm phức tạp hơn, từ đầu đến cuối, nâng cao mọi khía cạnh của quá trình phát triển, từ việc xây dựng các tính năng, vòng lặp giao diện người dùng và sửa lỗi cho đến nghiên cứu và tạo báo cáo.

ee964351b100df93.png

Bạn có thể tải xuống và sử dụng các công cụ này. Sau đây là một số hướng dẫn chung về thời điểm sử dụng từng công cụ:

  • Nếu mới bắt đầu, có lẽ bạn sẽ sử dụng Ứng dụng Gemini để đặt câu hỏi hoặc tạo một số đoạn mã cơ bản.
  • Nếu bạn đang tạo mã ứng dụng web theo cảm hứng, thì có lẽ Google AI Studio là công cụ bạn nên chọn.
  • Nếu muốn tạo một ứng dụng phức tạp với ngữ cảnh từ môi trường phát triển cục bộ, thì bạn nên chọn Gemini CLI hoặc Google Antigravity.
  • Nếu muốn triển khai hoặc đang sử dụng Google Cloud và muốn có các tính năng cũng như dịch vụ hỗ trợ cấp doanh nghiệp, thì Vertex AI và Studio của Vertex AI là lựa chọn phù hợp với bạn.

Tất nhiên, bạn có thể kết hợp các công cụ này. Ví dụ: bắt đầu bằng cách viết mã rung trong AI Studio để chuyển sang GitHub, sau đó sử dụng Antigravity để tiếp tục viết mã rồi triển khai lên Google Cloud.

4. Các mô hình Gemini 🧠

Các mô hình Gemini không ngừng cải thiện và ra mắt phiên bản mới vài tháng một lần. Tính đến hôm nay (tháng 2 năm 2026), đây là những mô hình nổi bật trên Vertex AI của Google Cloud:

d2e4a116eaccf2fc.png

Ngoài ra còn có nhiều Mô hình Gemini được cung cấp công khai, Mô hình Gemini dùng thử, Mô hình Gemma nguồn mở, Mô hình nhúng, Mô hình Imagegen, Mô hình Veo và nhiều mô hình khác.

Hãy truy cập vào trang tài liệu Google Models để khám phá các mô hình chính có trên Vertex AI cho nhiều trường hợp sử dụng.

5. SDK Google Gen AI 📦

Để tích hợp Gemini với ứng dụng của mình, bạn có thể sử dụng Google Gen AI SDK.

Như chúng ta đã thảo luận trước đó, bạn có thể truy cập vào các mô hình Gemini thông qua Google AI Studio hoặc Vertex AI Studio. Google Gen AI SDK cung cấp một giao diện hợp nhất cho các mô hình Gemini thông qua cả Google AI API và Google Cloud API. Với một số 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.

485e9a003d26f8d.png

SDK AI tạo sinh của Google hiện hỗ trợ Python, Go, Node, JavaC#.

Ví dụ: đây là cách bạn trò chuyện với Gemini trong Google AI bằng Python:

client = genai.Client(
  api_key=your-gemini-api-key)

response = client.models.generate_content(
  model="gemini-3-flash-preview",
  contents="Why is the sky blue?")

Để thực hiện thao tác tương tự với Gemini trong Vertex AI, bạn chỉ cần thay đổi quá trình khởi tạo ứng dụng và phần còn lại vẫn giữ nguyên:

client = genai.Client(
  vertexai=True,
  project=your-google-cloud-project,
  location="us-central1")

response = client.models.generate_content(
  model="gemini-3-flash-preview",
  contents="Why is the sky blue?")

Để tự chạy các mẫu này, bạn có thể chạy main.py trong github.com/meteatamel/genai-samples/tree/main/vertexai/gemini2/hello-world.

6. Interactions API 🔄

Interactions API (bản thử nghiệm) là một giao diện hợp nhất mới để tương tác với các mô hình và tác nhân Gemini. Là một giải pháp thay thế cải tiến cho API generateContent, API này giúp đơn giản hoá việc quản lý trạng thái, điều phối công cụ và các tác vụ chạy trong thời gian dài.

Đây là cách bạn tương tác cơ bản với API mới:

interaction =  client.interactions.create(
    model="gemini-3-flash-preview",
    input="Tell me a short joke."
)
print(interaction.outputs[-1].text)

Bạn có thể trò chuyện theo trạng thái bằng cách truyền mã nhận dạng lượt tương tác từ lượt tương tác trước:

interaction1 = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Hi, my name is Phil."
)
print(f"Model: {interaction1.outputs[-1].text}")

interaction2 = client.interactions.create(
    model="gemini-3-flash-preview",
    input="What is my name?",
    previous_interaction_id=interaction1.id
)
print(f"Model: {interaction2.outputs[-1].text}")

Interactions API được thiết kế để tạo và tương tác với các tác nhân, đồng thời hỗ trợ tính năng gọi hàm, các công cụ tích hợp, đầu ra có cấu trúc và Giao thức ngữ cảnh mô hình (MCP). Để xem cách sử dụng tính năng này với Deep Research Agent, hãy xem bước Agents 🤖 (Trợ lý) bên dưới.

Để tự chạy các mẫu này, bạn có thể chạy main.py trong github.com/meteatamel/genai-samples/blob/main/vertexai/interactions-api.

7. Cửa sổ ngữ cảnh dài 🪟

Nhiều mô hình Gemini có cửa sổ ngữ cảnh lớn gồm 1 triệu token trở lên. Trước đây, các mô hình ngôn ngữ lớn (LLM) bị giới hạn đáng kể về lượng văn bản (hoặc mã thông báo) có thể được truyền đến mô hình cùng một lúc. Cửa sổ ngữ cảnh dài của Gemini mở ra nhiều trường hợp sử dụng và mô hình nhà phát triển mới.

3fb7123fc45e7cdf.png

Để xem cửa sổ ngữ cảnh dài hoạt động, bạn có thể truy cập vào Thư viện câu lệnh của Vertex AI Studio rồi chọn câu lệnh Extract Video Chapters. Câu lệnh này sẽ nhóm nội dung video thành các phân cảnh và cung cấp bản tóm tắt cho từng phân cảnh.

Sau khi chạy với video được cung cấp, bạn sẽ nhận được kết quả tương tự như sau:

[
  {
    "timecode": "00:00",
    "chapterSummary": "The video opens with scenic views of Rio de Janeiro, introducing the \"Marvelous City\" and its famous beaches like Ipanema and Copacabana, before pivoting to the existence of the favelas."
  },
  {
    "timecode": "00:20",
    "chapterSummary": "The narrator describes the favelas, home to one in five Rio residents, highlighting that while often associated with crime and poverty, this is only a small part of their story."
  },
  {
    "timecode": "00:36",
    "chapterSummary": "Google introduces its project to map the favelas, emphasizing that providing addresses to these uncharted areas is a crucial step in giving residents an identity."
  },
  {
    "timecode": "00:43",
    "chapterSummary": "The video concludes by focusing on the people of the favelas, inviting viewers to go beyond the map and explore their world through a 360-degree experience."
  }
]

Điều này chỉ có thể thực hiện được nhờ cửa sổ ngữ cảnh dài của Gemini!

8. Chế độ tư duy 🧠

Các mô hình Gemini sử dụng một quy trình tư duy nội bộ giúp cải thiện đáng kể khả năng suy luận cho các nhiệm vụ phức tạp. Các cấp độ suy nghĩ (Gemini 3) và ngân sách (Gemini 2.5) kiểm soát hành vi suy nghĩ. Bạn cũng có thể bật cờ include_thoughts để xem suy nghĩ thô của mô hình.

Để xem chế độ suy nghĩ hoạt động, hãy mở Google AI Studio ( ai.dev) và bắt đầu một cuộc trò chuyện mới. Trên bảng điều khiển bên phải, bạn có thể đặt cấp độ tư duy:

382b0c617ab5940e.png

Nếu nhấp vào nút Get code ở trên cùng bên phải, bạn cũng có thể xem cách đặt cấp độ tư duy trong mã, tương tự như sau:

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="How does AI work?",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(
          thinking_level="low",
          include_thoughts=True
        )
    ),
)

Thử nghiệm với nhiều câu lệnh và mức độ tư duy khác nhau để xem hành vi của mô hình.

9. Công cụ 🧰

Gemini có một số công cụ tích hợp như Google Tìm kiếm, Google Maps, Thực thi mã, Sử dụng máy tính, Tìm kiếm tệp và nhiều công cụ khác. Bạn cũng có thể xác định các công cụ tuỳ chỉnh bằng tính năng Gọi hàm. Hãy cùng tìm hiểu cách sử dụng các loại tệp này một cách ngắn gọn.

Google Tìm kiếm 🔎

Bạn có thể dựa vào kết quả trên Google Tìm kiếm để đưa ra câu trả lời chính xác, mới nhất và phù hợp hơn.

Trong Vertex AI Studio ( console.cloud.google.com/vertex-ai/studio) hoặc Google AI Studio ( ai.dev), bạn có thể bắt đầu một cuộc trò chuyện mới và đảm bảo tính năng liên kết thực tế với Google Tìm kiếm đang ở trạng thái tắt:

fb694a21e7eb7d5a.png

Sau đó, bạn có thể đặt câu hỏi về thời tiết hôm nay tại vị trí của bạn. Ví dụ:

How's the weather in London today?

Bạn thường nhận được câu trả lời cho một ngày trong quá khứ vì mô hình không có quyền truy cập vào thông tin mới nhất. Ví dụ:

In London today (Friday, May 24, 2025), the weather is a bit of a mixed bag, typical for late May.

Giờ đây, hãy bật tính năng cơ sở dữ liệu của Google Tìm kiếm và đặt câu hỏi tương tự. Bạn sẽ nhận được thông tin thời tiết mới nhất kèm theo đường liên kết đến các nguồn thông tin cơ sở:

In London today (Wednesday, February 11, 2026), the weather is cool and mostly cloudy with a chance of light rain.

Đây là cách bạn sẽ có cơ sở dữ liệu của Google Tìm kiếm trong mã của mình. Bạn cũng có thể nhấp vào nút Code (Mã) trong Vertex AI Studio để nhận một mẫu cơ sở:

google_search_tool = Tool(google_search=GoogleSearch())
response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents="How's the weather like today in London?",
    config=GenerateContentConfig(tools=[google_search_tool])
)

Google Maps 🗺️

Bạn cũng có thể dựa vào Google Maps để đưa ra câu trả lời cho mô hình. Google Maps có quyền truy cập vào thông tin của hơn 250 triệu địa điểm.

Để xem tính năng này hoạt động, bạn có thể chọn Google Maps thay vì Google Tìm kiếm trong phần cơ sở của chế độ cài đặt mô hình trong Vertex AI Studio và đặt một câu hỏi yêu cầu dữ liệu của Maps, ví dụ:

Can you show me some Greek restaurants and their map coordinates near me?

Mã cho thành phần này sẽ có dạng như sau:

google_maps_tool = Tool(google_maps=GoogleMaps())
response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=""What are the best restaurants near here?",
    config=GenerateContentConfig(tools=[google_maps_tool]),
       # Optional: Provide location context (this is in Los Angeles)
        tool_config=ToolConfig(
          retrieval_config=types.RetrievalConfig(
            lat_lng=types.LatLng(
                latitude=34.050481, longitude=-118.248526))),
)

Thực thi mã 🧑‍💻

Gemini có thể tạo và chạy mã Python bằng danh sách các thư viện được hỗ trợ (pandas, numpy, PyPDF2, v.v.). Điều này hữu ích cho những ứng dụng có lợi từ hoạt động suy luận dựa trên mã (ví dụ: giải phương trình)

Để dùng thử tính năng này, hãy chuyển sang Google AI Studio, bắt đầu một cuộc trò chuyện mới và đảm bảo bạn đã bật nút Code execution. Sau đó, hãy đặt một câu hỏi mà công cụ thực thi mã có thể hữu ích. Ví dụ:

What is the sum of the first 50 prime numbers? 

Gemini sẽ tạo một số mã Python và chạy mã đó. Cuối cùng, đáp án đúng là 5117.

Bạn có thể chạy công cụ thực thi mã từ mã như sau:

code_execution_tool = Tool(code_execution=ToolCodeExecution())
response = client.models.generate_content(
  model="gemini-3-flash-preview",
  contents="What is the sum of the first 50 prime numbers?",
  config=GenerateContentConfig(
    tools=[code_execution_tool],
    temperature=0))

Sử dụng máy tính 🖥️

Mô hình Sử dụng máy tính Gemini (bản dùng thử) cho phép bạn tạo các tác nhân kiểm soát trình duyệt để tự động hoá các tác vụ. Tính năng này hoạt động theo vòng lặp sau:

de6edbd0163e6ee3.png

Để xem tính năng này hoạt động, bạn có thể chạy main.py trong github.com/google-gemini/computer-use-preview.

Ví dụ: bạn có thể lấy khoá API từ Google AI Studio và yêu cầu Gemini tìm chuyến bay cho bạn:

export GEMINI_API_KEY=your-api-key

python main.py --query "Find me top 5 fights sorted by price with the following constraints:

Flight site to use: www.google.com/travel/flights
From: London
To: Larnaca
One-way or roundtrip: One way
Date to leave: Sometime next week
Date to return: N/A
Travel preferences:
-Direct flights
-No flights before 10am
-Carry-on luggage"

Bạn sẽ thấy Gemini mở một trình duyệt ẩn danh và bắt đầu tìm kiếm chuyến bay cho bạn!

Tìm kiếm tệp 📁

Công cụ tìm kiếm tệp giúp bạn dễ dàng thực hiện quy trình Tạo nội dung tăng cường dựa trên thông tin truy xuất (RAG). Bạn chỉ cần tải tệp lên và công cụ này sẽ xử lý tất cả thông tin chi tiết về RAG như phân đoạn, nhúng, truy xuất cho bạn.

Để xem cách hoạt động của công cụ này, bạn có thể chạy main.py trong github.com/meteatamel/genai-beyond-basics/blob/main/samples/grounding/file-search-tool.

Lấy khoá API của bạn từ Google AI Studio và tạo một kho lưu trữ tìm kiếm tệp:

export GEMINI_API_KEY=your-gemini-api-key

python main.py create_store my-file-search-store

Tải tệp PDF lên cửa hàng:

python main.py upload_to_store fileSearchStores/myfilesearchstore-5a9x71ifjge9 cymbal-starlight-2024.pdf

Đặt câu hỏi về tệp PDF trỏ đến cửa hàng:

python main.py generate_content "What's the cargo capacity of Cymbal Starlight?" fileSearchStores/myfilesearchstore-5a9x71ifjge9

Bạn sẽ nhận được câu trả lời dựa trên nội dung trong tệp PDF:

Generating content with file search store: fileSearchStores/myfilesearchstore-5a9x71ifjge9
Response: The Cymbal Starlight 2024 has a cargo capacity of 13.5 cubic feet, which is located in the trunk of the vehicle. It is important to distribute the weight evenly and not overload the trunk, as this could impact the vehicle's handling and stability. The vehicle can also accommodate up to two suitcases in the trunk, and it is recommended to use soft-sided luggage to maximize space and cargo straps to secure it while driving.
Grounding sources:  cymbal-starlight-2024.pdf

Gọi hàm 📲

Nếu các công cụ tích hợp không đủ, bạn cũng có thể xác định các công cụ (hàm) của riêng mình trong Gemini. Bạn chỉ cần gửi một hàm Python dưới dạng một công cụ (thay vì gửi một quy cách OpenAPI chi tiết của hàm). Mô hình và SDK sẽ tự động sử dụng công cụ này.

Ví dụ: bạn có thể có một hàm trả về vĩ độ và kinh độ của một vị trí:

def location_to_lat_long(location: str):
    """Given a location, returns the latitude and longitude

    Args:
        location: The location for which to get the weather.

    Returns:
        The latitude and longitude information in JSON.
    """
    logger.info(f"Calling location_to_lat_long({location})")
    url = f"https://geocoding-api.open-meteo.com/v1/search?name={location}&count=1"
    return api_request(url)

Bạn cũng có thể có một hàm trả về thông tin thời tiết từ vĩ độ và kinh độ:

def lat_long_to_weather(latitude: str, longitude: str):
    """Given a latitude and longitude, returns the weather information

    Args:
        latitude: The latitude of a location
        longitude: The longitude of a location

    Returns:
        The weather information for the location in JSON.
    """
    logger.info(f"Calling lat_long_to_weather({latitude}, {longitude})")
    url = (f"https://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}&current=temperature_2m,"
           f"relative_humidity_2m,surface_pressure,wind_speed_10m,wind_direction_10m&forecast_days=1")
    return api_request(url)

Giờ đây, bạn có thể truyền hai hàm đó dưới dạng công cụ cho Gemini và cho phép Gemini dùng để tìm nạp thông tin thời tiết cho một vị trí:

def generate_content_with_function_calls():
    client = genai.Client(
        vertexai=True,
        project=PROJECT_ID,
        location=LOCATION)

    response = client.models.generate_content(
        model=MODEL_ID,
        contents=PROMPT,
        config=GenerateContentConfig(
            system_instruction=[
                "You are a helpful weather assistant.",
                "Your mission is to provide weather information for different cities."
                "Make sure your responses are in plain text format (no markdown) and include all the cities asked.",
            ],
            tools=[location_to_lat_long, lat_long_to_weather],
            temperature=0),
    )

    print(response.text)
    #print(response.automatic_function_calling_history)

Để xem cách hoạt động của hàm này, bạn có thể chạy main_genaisdk.py trong github.com/meteatamel/genai-beyond-basics/blob/main/samples/function-calling/weather.

10. Nhân viên hỗ trợ 🤖

Interactions API của Gemini được thiết kế để tạo và tương tác với các trợ lý ảo. Bạn có thể dùng các tác nhân chuyên biệt như Tác nhân nghiên cứu chuyên sâu của Gemini. Tác nhân Gemini Deep Research tự động lập kế hoạch, thực hiện và tổng hợp các nhiệm vụ nghiên cứu nhiều bước. Gemini có thể điều hướng các thông tin phức tạp bằng cách sử dụng tính năng tìm kiếm trên web và dữ liệu của riêng bạn để tạo ra các báo cáo chi tiết có trích dẫn.

Dưới đây là cách bạn sử dụng tác nhân Deep Research với Interaction API:

interaction = client.interactions.create(
    input="Research the history of the Google TPUs.",
    agent="deep-research-pro-preview-12-2025",
    background=True
)

while True:
    if interaction.status == "completed":
        print("\nFinal Report:\n",
interaction.outputs[-1].text)
        break

Để tự chạy mẫu này, bạn có thể chạy main.py trong github.com/meteatamel/genai-samples/blob/main/vertexai/interactions-api.

export GOOGLE_API_KEY=your-api-key
python main.py agent

Sau một thời gian, bạn sẽ thấy kết quả nghiên cứu:

User: Research the history of the Google TPUs with a focus on 2025 and 2026

Status: in_progress
Status: in_progress
Status: in_progress
...
Model Final Report:
 # Architectural Convergence and Commercial Expansion: The History of Google TPUs (2015–2026)

## Key Findings
*   **Strategic Pivot (2025):** Google transitioned the Tensor Processing Unit (TPU) from a primarily internal differentiator to a commercial merchant-silicon competitor, epitomized by the massive "Ironwood" (TPU v7) deployment and external sales strategy.
*   **Technological Leap:** The introduction of TPU v7 "Ironwood" in 2025 marked a paradigm shift, utilizing 3nm process technology to deliver 42.5 exaFLOPS per pod, directly challenging NVIDIA's Blackwell architecture in the high-performance computing (HPC) sector.
...

11. Tạo hình ảnh 📷

Nano Banana 🍌 là tên gọi của các tính năng tạo hình ảnh gốc của Gemini. Gemini có thể tạo và xử lý hình ảnh theo cách đàm thoại bằng văn bản, hình ảnh hoặc kết hợp cả hai. Nhờ đó, bạn có thể tạo, chỉnh sửa và lặp lại các hình ảnh một cách dễ dàng.

Nano Banana đề cập đến 2 mô hình riêng biệt có trong Gemini API:

  • Nano Banana: Mô hình hình ảnh Gemini 2.5 Flash (gemini-2.5-flash-image). Mô hình này được thiết kế để có tốc độ và hiệu suất cao, đồng thời được tối ưu hoá cho các tác vụ có khối lượng lớn và độ trễ thấp.
  • Nano Banana Pro: Mô hình Xem trước hình ảnh của Gemini 3 Pro (gemini-3-pro-image-preview). Mô hình này được thiết kế để tạo tài sản chuyên nghiệp, sử dụng khả năng suy luận nâng cao để làm theo các chỉ dẫn phức tạp và kết xuất văn bản có độ trung thực cao.

Dưới đây là một đoạn mã mà bạn có thể truyền một hình ảnh hiện có và yêu cầu Nano Banana chỉnh sửa hình ảnh đó:

from google import genai
from google.genai import types
from PIL import Image

client = genai.Client()

prompt = (
    "Create a picture of my cat eating a nano-banana in a "
    "fancy restaurant under the Gemini constellation",
)

image = Image.open("/path/to/cat_image.png")

response = client.models.generate_content(
    model="gemini-2.5-flash-image",
    contents=[prompt, image],
)

for part in response.parts:
    if part.text is not None:
        print(part.text)
    elif part.inline_data is not None:
        image = part.as_image()
        image.save("generated_image.png")

Nano Banana có trong ứng dụng Gemini, AI Studio hoặc Vertex AI Studio. Cách đơn giản nhất để dùng thử là trong Ứng dụng Gemini. Trong Ứng dụng Gemini ( gemini.google.com), hãy chọn biểu tượng 🍌 Create images trong phần Tools. Sau đó, hãy tải một hình ảnh lên và thử làm điều gì đó thú vị. Ví dụ, bạn có thể nói:

Can you transform this picture of mine to a nice beach on a tropical island?

41a830bea8cf3c9f.png 2fc9ac5b7008aafb.png

12. Tạo lời nói từ văn bản 🎶

Gemini có thể chuyển đổi văn bản đầu vào thành âm thanh của một hoặc nhiều người nói bằng cách sử dụng các tính năng tạo văn bản thành lời nói (TTS) của Gemini. Bạn có thể kiểm soát quá trình tạo TTS, tức là bạn có thể sử dụng ngôn ngữ tự nhiên để cấu trúc các hoạt động tương tác và hướng dẫn về phong cách, giọng điệu, tốc độ và âm sắc của âm thanh.

Có 2 mô hình hỗ trợ TTS:

Khả năng TTS khác với khả năng tạo lời nói được cung cấp thông qua Live API. Live API được thiết kế cho âm thanh tương tác, không có cấu trúc, cũng như đầu vào và đầu ra đa phương thức. Mặc dù Live API vượt trội trong các ngữ cảnh trò chuyện linh hoạt, nhưng TTS thông qua Gemini API được thiết kế riêng cho những trường hợp yêu cầu đọc chính xác văn bản với khả năng kiểm soát chi tiết về phong cách và âm thanh, chẳng hạn như tạo podcast hoặc sách nói.

Dưới đây là một đoạn mã cho TTS một người nói:

from google import genai
from google.genai import types
import wave

# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
   with wave.open(filename, "wb") as wf:
      wf.setnchannels(channels)
      wf.setsampwidth(sample_width)
      wf.setframerate(rate)
      wf.writeframes(pcm)

client = genai.Client()

response = client.models.generate_content(
   model="gemini-2.5-flash-preview-tts",
   contents="Say cheerfully: Have a wonderful day!",
   config=types.GenerateContentConfig(
      response_modalities=["AUDIO"],
      speech_config=types.SpeechConfig(
         voice_config=types.VoiceConfig(
            prebuilt_voice_config=types.PrebuiltVoiceConfig(
               voice_name='Kore',
            )
         )
      ),
   )
)

data = response.candidates[0].content.parts[0].inline_data.data

file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory

Bạn có thể xem thêm các mẫu trong Tài liệu về tính năng tạo lời nói từ văn bản (TTS).

Bạn cũng có thể thử tạo lời nói trong sân chơi Google AI Studio. Thử dùng nhiều câu lệnh trong ứng dụng generate-speech:

6eb20d8a20e571fb.png

13. Spatial Understanding 🌐

Gemini có khả năng phát hiện vật thể và hiểu không gian vượt trội.

Cách dễ nhất để hiểu rõ điều này là xem ví dụ thực tế. Chuyển đến Ứng dụng cơ bản về nhận thức không gian trong AI Studio. Chọn một số hình ảnh và thử phát hiện một số vật thể trong hình ảnh bằng Gemini.

Ví dụ: bạn có thể phát hiện "bóng" hoặc "trái cây" trong nhiều hình ảnh:

6a521c961664339.png 2260ab81a8c9a5e8.png

Thử nghiệm với nhiều hình ảnh để xem Gemini phát hiện và gắn nhãn các đối tượng khác nhau hiệu quả đến mức nào.

14. Live API 🎤

Live API cho phép bạn tương tác với Gemini bằng giọng nói và video theo thời gian thực với độ trễ thấp. Nó xử lý luồng âm thanh, video hoặc văn bản liên tục để đưa ra phản hồi bằng giọng nói tức thì và giống như con người, tạo ra trải nghiệm trò chuyện tự nhiên cho người dùng.

9ada309ba0cd0888.png

Hãy dùng thử Live API trong Google AI Studio hoặc Live API trong Vertex AI Studio. Trong cả hai ứng dụng, bạn có thể chia sẻ giọng nói, video và màn hình, đồng thời trò chuyện trực tiếp với Gemini.

8b4901d2aecc5b62.png

Hãy bắt đầu chia sẻ video hoặc màn hình và hỏi Gemini những điều chung chung bằng giọng nói. Ví dụ:

Can you describe what you see on the screen?

Bạn sẽ ngạc nhiên khi nghe thấy câu trả lời tự nhiên của Gemini.

15. Kết luận

Trong lớp học lập trình này, chúng ta đã tìm hiểu về hệ sinh thái Gemini, bắt đầu từ nhóm sản phẩm Gemini và tìm hiểu cách tích hợp các mô hình này vào ứng dụng của mình bằng cách sử dụng Google Gen AI SDK hợp nhất. Chúng tôi đã khám phá các tính năng tiên tiến của Gemini, bao gồm Cửa sổ ngữ cảnh dài, Chế độ tư duy, các công cụ cơ sở tích hợp, Live API và Khả năng hiểu không gian. Bạn nên tìm hiểu kỹ hơn về tài liệu tham khảo và tiếp tục thử nghiệm để khai thác toàn bộ tiềm năng của Gemini.

Tài liệu tham khảo