Thực hành với Gemini CLI

1. Giới thiệu

Trong lớp học lập trình này, bạn sẽ tìm hiểu về Gemini CLI, một tác nhân AI mã nguồn mở mang sức mạnh của Gemini ngay trên cửa sổ dòng lệnh.

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

  1. Cài đặt và định cấu hình Gemini CLI
  2. Khám phá các công cụ, lệnh tích hợp và định cấu hình máy chủ MCP trong Gemini CLI
  3. Tuỳ chỉnh Gemini CLI thông qua tệp GEMINI.md
  4. Khám phá một số trường hợp sử dụng với Gemini CLI

Bạn cần có

Bạn có thể chạy toàn bộ lớp học lập trình này trong Google Cloud Shell (được cài đặt sẵn Gemini CLI).

Ngoài ra, nếu muốn làm việc trên máy của riêng mình, bạn có thể cài đặt Gemini CLI cục bộ.

Bạn sẽ cần những thông tin sau:

  • Trình duyệt web Chrome
  • Tài khoản Gmail

Lớp học lập trình này được thiết kế cho người dùng và nhà phát triển ở mọi cấp độ (kể cả người mới bắt đầu). Các trường hợp sử dụng trong lớp học lập trình được phân loại thành các nhiệm vụ dành cho nhà phát triển và không dành cho nhà phát triển. Các trường hợp sử dụng của nhà phát triển minh hoạ cách sử dụng Gemini CLI để viết mã và làm việc với một kho lưu trữ trên GitHub để thực hiện các tác vụ phát triển phổ biến như giải thích/hiểu mã, tạo tài liệu, khắc phục vấn đề và nhiều việc khác. Bạn nên hoàn tất các trường hợp sử dụng này trong lớp học lập trình. Có một phần không bắt buộc ở cuối, bao gồm một số việc cần làm hằng ngày không dành cho nhà phát triển.

2. Trước khi bắt đầu

Tạo dự án

  1. Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud.
  2. Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không.
  3. Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud và được tải sẵn bq. Nhấp vào Kích hoạt Cloud Shell ở đầu bảng điều khiển Cloud.

Hình ảnh nút Kích hoạt Cloud Shell

  1. Sau khi kết nối với Cloud Shell, hãy kiểm tra để đảm bảo bạn đã được xác thực và dự án được đặt thành mã dự án của bạn bằng lệnh sau:
gcloud auth list
  1. Chạy lệnh sau trong Cloud Shell để xác nhận rằng lệnh gcloud biết về dự án của bạn.
gcloud config list project
  1. Nếu bạn chưa đặt dự án, hãy dùng lệnh sau để đặt:
gcloud config set project <YOUR_PROJECT_ID>

3. Cài đặt

Trước khi bạn thiết lập và chạy Gemini CLI, hãy tạo một thư mục mà chúng ta sẽ dùng làm thư mục chính cho tất cả các dự án mà chúng ta tạo bên trong thư mục đó. Đây là điểm xuất phát để Gemini CLI hoạt động, mặc dù nó cũng sẽ tham chiếu một số thư mục khác trên hệ thống của bạn và bạn sẽ truy cập vào các thư mục đó sau, khi cần.

Tiếp tục tạo một thư mục mẫu (gemini-cli-projects) rồi chuyển đến thư mục đó thông qua các lệnh bên dưới. Nếu bạn muốn sử dụng tên thư mục khác, vui lòng thực hiện.

mkdir gemini-cli-projects

Hãy chuyển đến thư mục đó:

cd gemini-cli-projects

Bạn có thể trực tiếp chạy Gemini CLI thông qua lệnh gemini.

Vui lòng chuyển thẳng đến phần tiếp theo (cấu hình Gemini CLI thông qua settings.json).

Nếu bạn muốn cài đặt Gemini CLI cục bộ, hãy làm theo hướng dẫn bên dưới. Xin lưu ý rằng Gemini CLI được cài đặt sẵn trên Cloud ShellCloud Workstations.

Bước đầu tiên là cài đặt Node 20 trở lên trên máy của bạn. Sau khi hoàn tất, bạn có thể cài đặt và chạy Gemini CLI bằng một trong những phương thức sau:

  1. Trước tiên, bạn có thể cài đặt Gemini CLI trên toàn hệ thống. Bạn có thể cần có quyền truy cập của Quản trị viên để thực hiện bước này.
# option 1: install Gemini CLI

npm install -g @google/gemini-cli

# .. and then run
gemini
  1. Kích hoạt bằng lệnh sau:
# option 2: run without installing Gemini CLI

npx https://github.com/google-gemini/gemini-cli

Bạn có thể xác nhận rằng CLI đã được cài đặt bằng cách chạy:

gemini --version

Giả sử bạn đã chạy Gemini CLI bằng một trong các phương thức nêu trên, trong lần chạy đầu tiên, bạn có thể được yêu cầu chọn một giao diện. Nếu có, bạn có thể chọn giao diện mặc định hoặc giao diện mà bạn muốn.

Điều quan trọng tiếp theo là Xác thực. Hệ thống sẽ yêu cầu bạn cung cấp Phương thức xác thực. Bạn nên sử dụng Tài khoản Google cá nhân chứ không nên dùng tài khoản không phải của Google hoặc tài khoản liên quan đến Google Workspace trong phòng thí nghiệm này.

Nếu hạn mức miễn phí hiện tại được cấp cho Tài khoản Google không đủ, bạn có thể chọn sử dụng Khoá Gemini API hoặc thậm chí là Google Cloud Vertex AI. Trong trường hợp này, bạn sẽ cần có mã dự án và tên vị trí cho dự án đó. Hãy tham khảo phần Xác thực trong tài liệu nếu bạn dự định sử dụng các phương thức xác thực khác.

57bad75cedaaaa38.png

Hãy nhấp vào Enter. Thao tác này sẽ mở trang Xác thực của Google trong trình duyệt. Tiến hành xác thực bằng Tài khoản Google của bạn, chấp nhận các điều khoản và sau khi xác thực thành công, bạn sẽ thấy Gemini CLI đã sẵn sàng và đang chờ lệnh của bạn.

Dưới đây là ảnh chụp màn hình mẫu:

8fc80ad44c19f782.png

Trong trường hợp này, chúng tôi đã chọn Vertex AI, nhưng bạn có thể chọn tài khoản cá nhân. Bạn sẽ thấy chúng tôi đã chọn mô hình Gemini 2.5 (xuất hiện ở dưới cùng bên phải). Bạn có thể chọn mô hình cụ thể bất cứ lúc nào bằng cách sử dụng lệnh /model.

4. Cấu hình Gemini CLI thông qua settings.json

Nếu bạn chọn Cloud Shell để chạy Gemini, thì một giao diện mặc định cho Gemini CLI và phương thức xác thực sẽ được chọn và định cấu hình sẵn cho bạn.

Nếu đã cài đặt Gemini CLI trên máy và chạy ứng dụng này lần đầu tiên, bạn đã chọn một giao diện rồi chọn một phương thức xác thực.

Giờ đây, trong những lần chạy Gemini CLI tiếp theo, bạn sẽ không được yêu cầu chọn lại một giao diện và phương thức xác thực. Điều này có nghĩa là tệp này được duy trì ở một nơi nào đó và tệp mà tệp này sử dụng có tên là settings.json. Đây là cách tuỳ chỉnh Gemini CLI.

Các chế độ cài đặt được áp dụng theo mức độ ưu tiên sau đây (Cloud Shell chỉ cung cấp chế độ cài đặt Người dùng):

  1. Hệ thống: /etc/gemini-cli/settings.json (áp dụng cho tất cả người dùng, ghi đè chế độ cài đặt của người dùng và không gian làm việc).
  2. Workspace: .gemini/settings.json (ghi đè chế độ cài đặt của người dùng).
  3. Người dùng: ~/.gemini/settings.json.

Người dùng Windows: %USERPROFILE%.gemini\settings.json (thường mở rộng thành C:\Users&lt;YourUsername>.gemini\settings.json)

Hệ thống: %ProgramData%\gemini-cli\settings.json (thường mở rộng thành C:\ProgramData\gemini-cli\settings.json)

Người dùng máy Mac: ~/.gemini/settings.json (mở rộng thành /Users/<YourUsername>/.gemini/settings.json)

Hệ thống: /etc/gemini-cli/settings.json

Nếu bạn nhớ lại, tại thời điểm chọn giao diện, bạn đã chọn lưu các chế độ cài đặt trong phần Cài đặt người dùng. Vì vậy, hãy truy cập vào ~/.gemini folder và bạn sẽ thấy tệp settings.json.

Tệp settings.json của tôi được minh hoạ bên dưới. Nếu đã chọn một giao diện khác, bạn sẽ thấy tên của giao diện đó ở đó.

{
  "security": {
    "auth": {
      "selectedType": "oauth-personal" or "cloud-shell"
    }
  },
  "ui": {
    "theme": "Default"
  }
}

5. Lần đầu tiên tương tác với Gemini CLI

Hãy bắt đầu với Gemini CLI và nhập truy vấn đầu tiên của bạn như minh hoạ dưới đây:

Give me a famous quote on Artificial Intelligence and who said that?

Phản hồi dự kiến được trình bày dưới đây:

 > Give me a famous quote on Artificial Intelligence and who said that?                 
✦ "The only way to do great work is to love what you do." - Steve Jobs (While not directly about AI, it's a famous quote related to technology and innovation, which underpins AI development.)
Alternatively:
  "The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking

Để nhanh chóng tìm hiểu về Gemini CLI và các lệnh mà công cụ này hỗ trợ, bạn có thể nhập /help (dấu gạch chéo) để xem nhiều lệnh và tổ hợp phím.

Tạm thời thoát Gemini CLI. Bạn có thể thực hiện việc này thông qua lệnh /quit hoặc thực hiện lệnh Ctrl-C hai lần trong phiên tương tác của giao diện dòng lệnh Gemini. Khi bạn thoát Gemini CLI, công cụ này sẽ cho bạn biết số liệu thống kê về phiên, giúp bạn hiểu rõ hơn về phiên, mức sử dụng mô hình và các chỉ số khác.

6. Gemini CLI – Tham số lệnh

Có một số tham số dòng lệnh mà bạn có thể cung cấp khi khởi động Gemini CLI. Để xem danh sách đầy đủ các lựa chọn, bạn có thể sử dụng --help như minh hoạ dưới đây.

gemini --help

Thao tác này sẽ cho thấy đầy đủ các lựa chọn có sẵn. Bạn nên xem tài liệu tại đây.

Hãy cùng xem xét một vài ví dụ. Cách đầu tiên là định cấu hình Gemini CLI để sử dụng một chế độ cụ thể của Gemini. Hiện tại, vào thời điểm cập nhật lớp học này, đây là danh sách các mô hình được hỗ trợ. Để sử dụng một mô hình cụ thể, bạn có thể thực hiện việc này tại thời điểm bắt đầu Gemini CLI thông qua tham số -m như minh hoạ bên dưới:

gemini -m "gemini-2.5-flash"

Bạn sẽ nhận thấy rằng nếu bắt đầu theo cách trên, bạn có thể kiểm tra mô hình ở dưới cùng bên phải của cửa sổ dòng lệnh Gemini CLI.

Sau khi vào ứng dụng Gemini CLI, bạn có thể dùng lệnh /model để mở một hộp thoại cho phép bạn chọn mô hình. Dưới đây là một ví dụ về quy trình chạy thử và tuỳ thuộc vào yêu cầu cũng như hướng dẫn được đưa ra, bạn có thể tiếp tục chuyển đổi mô hình để chọn mô hình phù hợp cho tác vụ tuỳ thuộc vào độ phức tạp và nhu cầu kiểm soát chi phí.

69154a6bf6553f35.png

Chế độ không tương tác

Một lựa chọn thú vị là chạy Gemini CLI ở chế độ không tương tác. Điều này có nghĩa là bạn cung cấp trực tiếp câu lệnh cho Gemini và Gemini sẽ tiếp tục phản hồi câu lệnh đó mà không cần mở cửa sổ dòng lệnh tương tác của Gemini CLI. Điều này rất hữu ích nếu bạn dự định sử dụng Gemini CLI theo cách tự động trong tập lệnh hoặc bất kỳ quy trình tự động hoá nào khác. Bạn dùng tham số -p để cung cấp câu lệnh cho Gemini CLI như minh hoạ dưới đây:

gemini -p "What is the gcloud command to deploy to Cloud Run"

Xin lưu ý rằng bạn không thể tiếp tục cuộc trò chuyện bằng cách đặt câu hỏi nối tiếp. Chế độ này cũng không cho phép bạn uỷ quyền cho các công cụ (bao gồm cả WriteFile) hoặc chạy các lệnh shell.

Xin lưu ý rằng nếu bạn bỏ lỡ tham số -p và chỉ cung cấp nội dung sau, thì Gemini CLI sẽ mở ra với câu lệnh và tiếp tục bên trong câu lệnh đó.

gemini "What is the gcloud command to deploy to Cloud Run"

7. Gemini CLI – Các công cụ tích hợp

Gemini CLI đi kèm với một bộ công cụ tích hợp và tài liệu về công cụ nêu rõ "Mô hình Gemini sử dụng các công cụ này để tương tác với môi trường cục bộ của bạn, truy cập thông tin và thực hiện các hành động. Những công cụ này giúp tăng cường khả năng của CLI, cho phép công cụ này không chỉ tạo văn bản mà còn hỗ trợ nhiều nhiệm vụ."

Để xem danh sách các Công cụ tích hợp hiện tại, hãy gọi lệnh /tools như minh hoạ bên dưới:

Available Gemini CLI tools:
  - Activate Skill (activate_skill)
  - Ask User (ask_user)
  - Edit (replace)
  - Enter Plan Mode (enter_plan_mode)
  - FindFiles (glob)
  - GoogleSearch (google_web_search)
  - Invoke Subagent (invoke_agent)
  - List Background Processes (list_background_processes)
  - Read Background Output (read_background_output)
  - ReadFile (read_file)
  - ReadFolder (list_directory)
  - SearchText (grep_search)
  - Shell (run_shell_command)
  - Update Topic Context (update_topic)
  - WebFetch (web_fetch)
  - WriteFile (write_file)

Một trong những điều bạn cần làm ngay lập tức là tự hỏi liệu Gemini CLI có thể gọi những công cụ này một cách đơn giản khi muốn hay không? Câu trả lời mặc định là không, khi nói đến các thao tác nhạy cảm có thể liên quan đến việc ghi vào hệ thống cục bộ, đọc từ hệ thống bên ngoài, truy cập vào mạng bên ngoài, v.v.

Mặc dù có một --yolo khi bạn khởi động CLI (thường không được khuyến khích), nhưng bạn sẽ thấy Gemini CLI nhắc bạn cấp quyền chạy công cụ mà công cụ này đã chọn. Bạn có thể từ chối cấp quyền, cho phép chạy một lần hoặc cấp quyền chung để luôn chạy. Bạn đang và nên nắm toàn quyền kiểm soát mọi việc.

Hãy sử dụng một câu lệnh để Gemini CLI chọn một trong các công cụ tích hợp để thực thi. Câu lệnh này sẽ giúp bạn hiểu rõ cách thức hoạt động của mọi thứ.

Hãy tưởng tượng một tình huống mà bạn muốn lấy thông tin về tin tức tài chính mới nhất trên toàn thế giới và lưu thông tin đó vào một tệp trong thư mục làm việc cục bộ nơi bạn chạy Gemini CLI. Hãy sử dụng câu lệnh sau:

Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt

Hãy tưởng tượng xem nó cần làm gì. Lý tưởng nhất là nó cần truy cập Google Tìm kiếm để lấy tin tức từ một số nguồn thông tin có liên quan có thể cung cấp tin tức tài chính. Sau đó, nó cần tạo một tệp có tên là finance-news-today.txt (một thao tác ghi trên hệ thống cục bộ sẽ yêu cầu bạn cấp quyền) cùng với nội dung của tệp đó.

Hãy xem điều gì sẽ xảy ra (bạn nên tiếp tục thực hiện quy trình tương tự trên máy của mình).

Việc đầu tiên mà công cụ này làm là gọi công cụ GoogleSearch để tìm kiếm trên web và truy xuất kết quả, như minh hoạ dưới đây:

 Searching for Finance News: 
  I will first search for the latest finance headlines and then save them to a file.
  ✓  GoogleSearch  Searching the web for: "latest finance headlines"
   → Search results for "latest finance headlines" returned.
  Saving Finance News: I will now save the finance headlines to the file 'finance-news-today.txt'.

Sau khi hoàn tất, bạn có thể ghi nội dung này vào tệp và nội dung sẽ sử dụng công cụ WriteFile. Tuy nhiên, vì đây là một thao tác nhạy cảm (ghi), nên nội dung sẽ yêu cầu bạn cấp quyền. Bạn có thể quyết định loại quyền, tức là cho phép một lần, luôn cho phép, v.v. Hãy chọn cho phép một lần.

Sau đó, thông tin này sẽ được ghi vào tệp và một thông báo thành công sẽ xuất hiện bên dưới:

✦ I have saved the latest finance news to finance-news-today.txt.
  Finance News Saved: The task is complete.

Làm cách nào để kiểm tra xem tệp có được ghi hay không? Bạn có thể dùng biểu tượng @file để yêu cầu đọc nội dung. Khi bạn nhập @, danh sách các tệp trong thư mục hiện tại sẽ xuất hiện và tệp vừa tạo cũng xuất hiện. Chọn câu lệnh đó rồi gửi. Câu lệnh của tôi được trình bày dưới đây:

read the contents of @finance-news-today.txt

Thao tác này sẽ dẫn đến việc các công cụ bắt buộc (ReadManyFiles, ReadFile) được gọi và nội dung sẽ xuất hiện như minh hoạ dưới đây:

    ReadManyFiles  Attempting to read files from finance-news-today.txt  Read 1 file(s)
  Topic: Summarizing the financial news headlines.
 The latest finance headlines as of May 15, 2026, include:
  Global Markets & Economy:
   * The Dow Jones Industrial Average surpassed 50,000 for the first time, driven by strong earnings from Cisco
     Systems and a 2% rise in Nasdaq due to tech stocks.
   * Inflation concerns are growing, hinting at potential Fed interest rate hikes.
   * Kevin Warsh has been confirmed as the new Federal Reserve head.
   * A "constructive" U.S.-China summit took place in Beijing between President Trump and President Xi, with
     markets watching for impacts from proposed tariffs.
  Corporate & Tech News:
   
<REST OF THE CONTENT>

8. Gemini CLI – Chế độ shell

Đây là thời điểm thích hợp để tìm hiểu cách làm việc trực tiếp với Shell trong Gemini CLI. Bạn có thể chuyển sang chế độ shell bằng cách nhấn ! trong hộp tin nhắn. Thao tác này sẽ chuyển sang chế độ Shell. Bạn có thể quay lại bằng cách nhấn lại phím ! hoặc nhấn phím ESC.

Khi ở chế độ shell, bạn sẽ thấy ! ở đầu lời nhắc như minh hoạ dưới đây:

aab5d032116fa5e8.png

Bạn có thể kiểm tra trực tiếp bằng các lệnh tiêu chuẩn như pwdls như minh hoạ bên dưới. Xin lưu ý rằng các lệnh này giả định một hệ điều hành thuộc loại Linux. Nếu bạn đang dùng một hệ điều hành khác (Windows), vui lòng sử dụng các lệnh tương đương như (cd, dirtype). Xin lưu ý rằng đầu ra của các lệnh gọi này được đưa vào cửa sổ ngữ cảnh của mô hình.

f6e6d45174a9997d.png

Bạn cũng có thể in nội dung của tệp thông qua lệnh cat, tức là cat finance-news-today.txt.

Bài tập: Sau đây là một bài tập ngắn để bạn thử. Chọn một nguồn cấp dữ liệu RSS mà bạn muốn. Đưa ra một câu lệnh cho Gemini CLI để tìm nạp nội dung của nguồn cấp dữ liệu RSS và định dạng kết quả theo một cách cụ thể. Đây là một cách hay để tự động hoá một việc nào đó vào đầu ngày. Bạn thậm chí có thể yêu cầu Gemini CLI tìm hiểu xem có Nguồn cấp dữ liệu RSS cho một khu vực cụ thể hay không, chẳng hạn như Ghi chú phát hành của Google Cloud Platform.

Dưới đây là một câu lệnh mẫu:

Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.

Lý tưởng nhất là lời nhắc này nên gọi công cụ GoogleSearch trước để tìm nguồn cấp dữ liệu RSS của Google Cloud Platform, sau đó sử dụng công cụ WebFetch để lấy nội dung của nguồn cấp dữ liệu RSS và hiển thị nội dung đó. Bạn có thể được yêu cầu cấp quyền để sử dụng các công cụ này, vui lòng cấp quyền cần thiết.

9. Tiện ích của Gemini CLI

Như tài liệu đã nêu, các tiện ích Gemini CLI đóng gói câu lệnh, máy chủ MCP và lệnh tuỳ chỉnh thành một định dạng quen thuộc và thân thiện với người dùng. Với các tiện ích, bạn có thể mở rộng các chức năng của Gemini CLI và chia sẻ những chức năng đó với người khác. Đây là cơ chế chính để mở rộng chức năng của Gemini CLI ngoài các công cụ tích hợp sẵn.

Tiện ích là một gói độc lập, có thể phân phiên bản và dễ dàng phân phối. Hãy coi đây là "vùng chứa" cho các chế độ tuỳ chỉnh Gemini CLI, kết hợp mọi thứ cần thiết cho một quy trình làm việc cụ thể vào một gói duy nhất, gọn gàng.

f5ae3e229462c130.png

Tiện ích có thể kết hợp bất kỳ tổ hợp nào sau đây:

  • Lệnh dấu gạch chéo tuỳ chỉnh (tệp .toml của bạn).
  • Cấu hình máy chủ MCP (trước đây nằm trong settings.json).
  • Tệp bối cảnh (GEMINI.md) để cung cấp hướng dẫn và nguyên tắc cụ thể cho mô hình.
  • Hạn chế công cụ (excludeTools) để tạo một môi trường an toàn và tập trung hơn.

Thư viện tiện ích là thị trường trung tâm để khám phá tất cả tiện ích chính thức do Google và bên thứ ba xây dựng:

  1. Mở URL sau trong trình duyệt của bạn: https://geminicli.com/extensions/
  2. Thư viện này là công cụ giúp mọi người khám phá hệ sinh thái. Bạn có thể xem các Tiện ích của những công ty như GitHub, Redis và DynaTrace, cho thấy phạm vi của các công cụ hiện có.
  3. Di chuyển xuống và tìm thẻ tiện ích cho Cloud Run hoặc truy cập vào đường liên kết này.
  4. Xin lưu ý rằng thẻ này cung cấp nội dung mô tả, tác giả (Google) và nút lệnh Copy chỉ bằng một lần nhấp. Đây là cách đơn giản nhất để nhận lệnh cài đặt cho một tiện ích.

Tiện ích Gemini CLI – Lệnh quản lý

Lệnh gemini extensions là điểm truy cập để quản lý các Tiện ích cục bộ.

Chạy lệnh này trong thiết bị đầu cuối để xem danh sách các lệnh có sẵn.

gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
  gemini extensions install <source> [--auto-update] [--pre-release]
    Installs an extension from a git repository URL or a local path.
  gemini extensions uninstall [names..]                      
    Uninstalls one or more extensions.
  gemini extensions list                                     
    Lists installed extensions.
  gemini extensions update [<name>] [--all]                  
    Updates all extensions or a named extension to the latest version.
  gemini extensions disable [--scope] <name>                 
    Disables an extension.
  gemini extensions enable [--scope] <name>                  
    Enables an extension.
  gemini extensions link <path>                              
    Links an extension from a local path. Updates made to the local path 
    will always be reflected.
  gemini extensions new <path> [template]                    
    Create a new extension from a boilerplate example.
  gemini extensions validate <path>                          
    Validates an extension from a local path.
  gemini extensions config [name] [setting]                  
    Configure extension settings.
Options:

Các lệnh này rất đơn giản (cài đặt/gỡ cài đặt, liệt kê, cập nhật, bật/tắt, v.v.) và chúng ta sẽ sử dụng một số lệnh trong số này trong lớp học lập trình này.

Kiểm tra danh sách tiện ích hiện tại

Trước khi cài đặt bất cứ thứ gì, hãy kiểm tra "trạng thái ban đầu" của chúng ta.

  1. Chạy lệnh gemini extensions list:
  2. Bạn sẽ thấy kết quả sau đây, xác nhận rằng bạn chưa cài đặt Tiện ích nào.
No extensions installed.

Định cấu hình Máy chủ MCP Cloud Run

Tiện ích Cloud Run có trong thư viện Tiện ích Gemini CLI là một MCP Server cho phép chúng ta triển khai các ứng dụng của mình lên Cloud Run.

Thẻ Tiện ích Cloud Run trong Thư viện tiện ích xuất hiện như bên dưới:

ed9b19eac1fbde78.png

Trước tiên, hãy cài đặt Tiện ích Cloud Run bằng cách nhấp vào Sao chép lệnh cài đặt như minh hoạ ở trên. Sau đó, hãy dán lệnh đó vào thiết bị đầu cuối Cloud Shell (lệnh này sẽ tương tự như lệnh sau):

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

Khi chạy lệnh trên, bạn sẽ thấy một thông báo yêu cầu bạn xác nhận. Hãy tiếp tục và phê duyệt yêu cầu đó. Tiện ích Cloud Run sẽ yêu cầu bạn cung cấp mã dự án và vị trí dự án của bạn trên Google. Hãy cung cấp thông tin đó. Sau đó, Tiện ích Cloud Run sẽ cài đặt thành công.

Nếu thực thi lệnh gemini extensions list ngay bây giờ, bạn sẽ thấy tiện ích Cloud Run được cài đặt như minh hoạ dưới đây:

✓ cloud-run (1.0.0)
 ID: 3c1a38909b6d7d90b6acc8ca1e80d97b4a867253a3cd12d841b2aab4e556a58f
 name: 0b1820c1f0c043bbb3b54f496d862c02172424c930eb965d61f468be52e6f127
 Path: /Users/romin/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.10.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  /Users/romin/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run
 Settings:
  Project ID: YOUR_GCP_PROJEC_ID (User - /Users/romin/.gemini/extensions/cloud-run/.env)
  Region: YOUR_GCP_PROJECT_LOCATION (User - /Users/romin/.gemini/extensions/cloud-run/.env)

Nếu khởi chạy Gemini CLI ngay bây giờ và thực thi lệnh /mcp list, bạn sẽ thấy nội dung sau. Lưu ý các công cụlệnh của Máy chủ MCP Cloud Run.

Configured MCP servers:
🟢 cloud-run (from cloud-run) - Ready (8 tools, 2 prompts)
  Tools:
  - mcp_cloud-run_create_project
  - mcp_cloud-run_deploy_container_image
  - mcp_cloud-run_deploy_file_contents
  - mcp_cloud-run_deploy_local_folder
  - mcp_cloud-run_get_service
  - mcp_cloud-run_get_service_log
  - mcp_cloud-run_list_projects
  - mcp_cloud-run_list_services
  Prompts:
  - deploy
  - logs

Đây chỉ là một ví dụ về Tiện ích Gemini CLI mà chúng tôi đã hướng dẫn cách định cấu hình. Bạn có thể xem Thư viện tiện ích để khám phá thêm nhiều tiện ích khác.

10. Các trường hợp sử dụng để thử

Bạn có thể áp dụng Gemini CLI cho nhiều trường hợp sử dụng, áp dụng cho cả nhà phát triển và người dùng không phải nhà phát triển. Sau đây là một số trường hợp và tuỳ thuộc vào lĩnh vực mà bạn quan tâm, bạn có thể thử bất kỳ hoặc tất cả các trường hợp này.

Trong mỗi trường hợp này, lời nhắc sẽ được cung cấp. Bạn có thể dùng thử chế độ tương tác hoặc chế độ không tương tác của Gemini CLI thông qua tham số -p tại thời điểm chạy Gemini CLI.

Lập trình theo cảm hứng bằng Gemini CLI

Hãy sử dụng Gemini CLI để tạo mã cho một ứng dụng. Trong nhiệm vụ này, bạn sẽ yêu cầu Gemini CLI tạo một ứng dụng, sau đó đẩy phiên bản ban đầu vào một kho lưu trữ GitHub.

Điều kiện tiên quyết

Để thực hiện các tác vụ trong phần này, bạn cần đáp ứng một số điều kiện tiên quyết:

  • Git
  • Gemini CLI
  • Thiết lập gh ( công cụ GitHub CLI).
  • Làm quen với các kiến thức cơ bản về Git và có một chút kiến thức về lập trình

Chúng tôi giả định rằng bạn đã chạy Gemini CLI trong một thư mục cụ thể mà bạn chọn. Trong trường hợp này, chúng ta đã khởi chạy Gemini CLI từ thư mục chính ban đầu : gemini-cli-projects và một thư mục khác event-website bên trong thư mục đó.

Bắt đầu bằng một câu lệnh ban đầu. Hãy xem đây là một quy cách cho ứng dụng của bạn. Bạn có thể sửa đổi nội dung này theo ý mình. Xin lưu ý rằng trong suốt phiên làm việc với Gemini CLI, công cụ này sẽ yêu cầu bạn cấp quyền tạo tệp, v.v. Hãy cấp các quyền cần thiết.

Trong nhiệm vụ này, chúng ta không cần Gemini CLI chạy ứng dụng hoặc kiểm thử ứng dụng cho chúng ta vì chúng ta muốn có thêm quyền kiểm soát. Tuy nhiên, bạn hoàn toàn có thể làm vậy nếu muốn.

Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.

I would like you to proceed in the following way: 
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally. 

Một vài câu lệnh và câu trả lời tiếp theo là một quy trình mẫu đã được quan sát. Gemini CLI sẽ đưa ra một kế hoạch và yêu cầu bạn xác nhận / làm rõ hoặc tiếp tục. Vui lòng làm theo hướng dẫn. Ví dụ: đây là chuỗi hội thoại mẫu của tôi:

    Of course. I will start by creating a plan for the application.
  Plan:
   1. Backend (Node.js):
       * I'll set up a simple Node.js server using the Express.js framework.
       * This server will have two main purposes:
           1. Serve the static frontend files (HTML, CSS, JavaScript).
           2. Provide an API endpoint (e.g., /api/talks) that will send the event schedule data to the frontend as a JSON object.
       * The talk data will be stored in a separate talks.json file for easy management.
   2. Frontend (HTML, CSS, JS):
       * HTML: A single index.html file will define the structure of the page, including a container for the schedule and a search input field for filtering by category.
       * CSS: A style.css file will be used to style the website for a clean and professional look, ensuring the schedule is easy to read.
       * JavaScript: A script.js file will handle the dynamic aspects of the site:
           1. It will fetch the talk data from the backend API when the page loads.
           2. It will dynamically render the schedule on the page based on the fetched data.
           3. It will implement the search functionality. As the user types in the search box, it will filter the displayed talks based on the category keywords.
   3. Project Structure:
      I will organize the project with a clear and standard structure:
   1     /
   2     ├── public/
   3        ├── index.html
   4        ├── style.css
   5        └── script.js
   6     ├── talks.json
   7     └── server.js
   8     └── package.json
  Before I proceed with generating the code, I have a few questions to ensure the final product meets your expectations:

Công cụ này thậm chí còn hỏi tôi một vài câu hỏi (như bên dưới và tôi sẽ trả lời):

c6127207c54a776c.png

Sau đó, công cụ này tiếp tục tạo mã, yêu cầu tôi xác nhận tại một số điểm và tôi đã cấp quyền cần thiết để tiếp tục.

Cuối cùng, nó đã khởi động máy chủ và yêu cầu tôi tiếp tục kiểm tra trang:

The server is now running in the background.
  3. View Your Website
  You can now open your web browser and navigate to the following address to see your website:
  http://localhost:3000 (http://localhost:3000)
  4. Test the Search Functionality
  Once the page is loaded, you can test the search functionality by typing a category into the search bar (e.g., "AI", "Frontend", "Cybersecurity"). The list of talks
  will filter in real-time.
  This completes the setup and implementation of your event website. Let me know if you have any other questions.

Sau đây là trang mẫu mà công cụ này đã tạo:

12664933302b3867.png

Bạn có thể tiếp tục thực hiện các thay đổi khác với sự trợ giúp của Gemini CLI. Sau khi hài lòng với các thay đổi, bạn có thể chuyển các thay đổi này vào một kho lưu trữ trên GitHub.

Trước tiên, hãy tạo một tệp .gitignore và bạn có thể nhờ đến sự trợ giúp của Gemini CLI.

Create a .gitignore file for this project.

Bước tiếp theo là bạn cần đưa ra chỉ dẫn cho Gemini CLI để đẩy kho lưu trữ này vào tài khoản GitHub của chúng tôi. Thao tác này sẽ thực hiện các công cụ Máy chủ MCP của GitHub ở chế độ nền.

Đưa ra một câu lệnh tương tự như câu lệnh bên dưới:

Great! I would now like to push all of this to a new repository in my GitHub account. I would like to name this repository <Your-Name>-event-talks-app

Thao tác này sẽ thực hiện một số lệnh sau:

  1. Tạo kho lưu trữ.
  2. Thao tác này sẽ sử dụng nhiều lệnh Git : init, add, commit để quản lý kho lưu trữ Git cục bộ.
  3. Sau đó, nó sẽ thiết lập Git từ xa và thực hiện thao tác đẩy

Lưu ý: Có những trường hợp Gemini CLI có thể hết thời gian chờ hoặc sử dụng tên người dùng không chính xác, v.v. Hãy tương tác với Gemini CLI và đề xuất các bản sửa lỗi.

Nếu mọi việc diễn ra suôn sẻ, bạn sẽ có một kho lưu trữ GitHub. Dưới đây là ảnh chụp màn hình mẫu:

b393c67b13ddf19a.png

Xin lưu ý rằng bạn chưa tạo README.md cho dự án này và đó là một bài tập hay cho phần tiếp theo, nơi chúng ta sẽ làm việc với kho lưu trữ mà bạn vừa tạo.

Sử dụng Gemini CLI để làm việc trên một kho lưu trữ GitHub

Trong trường hợp sử dụng này, bạn sẽ dùng Gemini CLI để làm việc với một kho lưu trữ trên GitHub. Bạn sẽ thực hiện nhiều nhiệm vụ, bao gồm:

  • Tìm hiểu cơ sở mã
  • Tạo tài liệu
  • Triển khai một tính năng mới
  • Xác nhận và đẩy các thay đổi trở lại kho lưu trữ
  • Xử lý một vấn đề trên GitHub và triển khai các thay đổi được đề xuất

Điều này sẽ giúp bạn có nền tảng vững chắc để làm việc với các kho lưu trữ và sử dụng Gemini CLI làm trợ lý cho những tác vụ dành riêng cho nhà phát triển này.

Điều kiện tiên quyết

Để thực hiện các thao tác trong phần này, bạn cần phải làm những việc sau:

  • Git
  • Gemini CLI và gh ( công cụ GitHub CLI).
  • Quen thuộc với các kiến thức cơ bản về Git và có một chút kiến thức về lập trình (chúng ta sẽ sử dụng Node.js trong ví dụ này vì có thể bạn đã chuẩn bị sẵn môi trường trên máy do đã cài đặt Gemini CLI). Tuy nhiên, sau này, bạn có thể chọn một kho lưu trữ tuỳ ý bằng ngôn ngữ lập trình và khung khác.
  • Bạn nên hoàn thành phần trước và có sẵn kho lưu trữ, nơi chúng ta đã tạo một trang web Event Talks.

Hãy tiếp tục sử dụng Gemini CLI trong thư mục/thư mục mà bạn đã dùng để tạo ứng dụng Event Talks. Nếu cần, bạn có thể sao chép kho lưu trữ vào máy cục bộ rồi khởi động Gemini CLI trong thư mục đó. Hãy thử các trường hợp sau đây như được liệt kê bên dưới:

Tìm hiểu cơ sở mã

  • Tôi muốn hiểu rõ về dự án này. Giúp tôi hiểu các tính năng chính, sau đó chia nhỏ thành phía máy chủ và phía máy khách. Lấy một quy trình mẫu và cho tôi biết cách hoạt động của yêu cầu và phản hồi.
  • Explain @server.js

Tạo tệp README

  • Tạo tệp README cho dự án này.

Triển khai một tính năng mới

  • Tôi muốn triển khai một tính năng mới cho phép người dùng tìm kiếm theo một Diễn giả cụ thể. Trước tiên, hãy cho tôi xem kế hoạch về cách bạn sẽ triển khai thay đổi này, sau đó chúng ta có thể tạo mã.

Hệ thống sẽ cung cấp cho bạn một kế hoạch mà bạn có thể phê duyệt. Sau khi được phê duyệt, Gemini CLI sẽ tiến hành thực hiện những thay đổi đó. Hãy thử nghiệm các thay đổi của bạn và nếu có lỗi (rất có thể), hãy yêu cầu Gemini CLI khắc phục.

Sau khi các thay đổi trông ổn, bạn có thể làm theo các bước tương tự để xác nhận và đẩy các thay đổi đó lên kho lưu trữ từ xa. Thậm chí, hệ thống có thể tự động thực hiện những việc này cho bạn. Bạn luôn có thể đưa ra câu lệnh để hỏi Gemini CLI có thể làm gì hoặc không thể làm gì.

Tạo vấn đề dựa trên các tính năng được đề xuất

Hãy thử một điều gì đó thú vị ở đây. Bạn sẽ hỏi Gemini CLI về cách cải thiện trải nghiệm người dùng của ứng dụng này. Dựa trên đánh giá của mình, Gemini CLI có thể tạo những đề xuất đó dưới dạng vấn đề trong cùng một kho lưu trữ GitHub. Thao tác này sẽ sử dụng công cụ "create_issue" (tạo vấn đề) từ Máy chủ MCP của GitHub.

Hãy thử câu lệnh sau:

  • Tôi muốn bạn đánh giá ứng dụng này dưới góc độ trải nghiệm người dùng. Dễ sử dụng, phản hồi nhanh, thông báo hữu ích và nhiều tính năng khác. Vui lòng đưa ra danh sách các điểm cần cải thiện, sau đó tạo các điểm đó dưới dạng Vấn đề trong kho lưu trữ GitHub.

Lý tưởng nhất là trước tiên, công cụ này sẽ chia sẻ những điểm cải tiến với bạn, sau đó tiến hành tạo vấn đề trong kho lưu trữ GitHub khi bạn cho phép. Sau đây là ảnh chụp màn hình mẫu từ lần chạy của chúng tôi:

10a31e665be46f9d.png

Xử lý một vấn đề trên GitHub và triển khai các thay đổi được đề xuất

Giờ đây, bạn có thể chọn một trong những vấn đề đã được tạo trước đó và yêu cầu Gemini CLI xử lý và triển khai vấn đề đó.

Dưới đây là một vấn đề mẫu mà công cụ này tạo ra:

2778bde35f41efe9.png

Lấy toàn bộ URL của vấn đề và đưa ra một câu lệnh như sau:

  • Vui lòng xem xét Vấn đề: <YOUR_ISSUE_URL> và hiểu rõ những thay đổi cần thực hiện. Trước tiên, hãy thảo luận về kế hoạch, sau đó cho thấy những thay đổi được đề xuất trong mã.

Bạn có thể phê duyệt các thay đổi và đẩy chúng vào kho lưu trữ. Bạn thậm chí có thể yêu cầu Gemini đóng vấn đề này.

(Không bắt buộc) Việc hằng ngày

Các trường hợp sử dụng dưới đây là những tác vụ mà bạn có thể thường xuyên thực hiện. Các tác vụ này bao gồm sắp xếp tệp vào thư mục, tìm nạp và tóm tắt nội dung trên web, xử lý tệp hình ảnh và trích xuất nội dung từ các tệp đó, làm việc với cơ sở dữ liệu và nhiều tác vụ khác.

Bạn có thể thoải mái khám phá bất kỳ trường hợp sử dụng nào mà bạn thích.

Sắp xếp tệp/thư mục

Bạn có thể dùng Gemini CLI để sắp xếp các tệp theo loại trong nhiều thư mục tuỳ theo nhu cầu. Chuyển đến một thư mục trên máy có nhiều tệp .txt, .png, .jpg, .pdf, .mp4 và các tệp khác. Đây thường là thư mục Desktop (Màn hình) hoặc thư mục Downloads (Tải xuống).

Dưới đây là một thư mục mẫu và nội dung của thư mục này (bạn có thể có các tệp khác):

7011e3dfaf628e9b.png

Chuyển đến thư mục đó rồi khởi động Gemini CLI. Trước tiên, bạn sẽ yêu cầu Gemini CLI tạo một số thư mục: Hình ảnh, Tài liệu, Video, sau đó bạn sẽ yêu cầu Gemini CLI sắp xếp các tệp trong các thư mục đó.

Gemini CLI thường sẽ nhắc bạn cấp quyền trước khi thực thi các lệnh, đặc biệt là những lệnh sửa đổi hệ thống tệp (chẳng hạn như ghi, di chuyển hoặc xoá tệp). Luôn xem xét kỹ những lời nhắc này trước khi cấp quyền. Đây là biện pháp dự phòng cho bạn.

Create the following folders "Images","Documents","Videos"

Sau đó, hãy đưa ra câu lệnh sau:

Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.

Dưới đây là ví dụ về trạng thái cuối cùng của thư mục. Bạn sẽ thấy các thư mục con mới được tạo và các tệp được di chuyển vào thư mục con tương ứng, tuỳ thuộc vào loại tệp.

4c1ee9ddea4b3f5f.png

Một số tình huống sắp xếp khác (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  1. Tóm tắt: Đối với mỗi tài liệu trong thư mục "Tài liệu", hãy tạo một tệp txt trong cùng thư mục có tên là "summary_ORIGINAL_FILENAME.txt" chứa bản tóm tắt gồm 3 câu về các điểm chính của tài liệu.
  2. Phân loại theo loại: Quét tất cả tệp PDF và DOCX trong thư mục này. Di chuyển tất cả tệp có tên hoặc nội dung chứa từ "hoá đơn" vào thư mục "Tài chính/Hoá đơn". Di chuyển các tệp có "biên nhận" vào thư mục "Tài chính/Biên nhận". Mọi tệp .docx khác sẽ được chuyển vào thư mục "Báo cáo".
  3. Trích xuất thông tin chính (và "gắn thẻ"): Đối với mỗi tệp PDF trong thư mục "Financial/Invoices" (Tài chính/Hoá đơn), hãy đọc nội dung của tệp đó. Nếu bạn tìm thấy ngày, hãy đổi tên tệp để thêm ngày đó theo định dạng YYYY-MM-DD, ví dụ: "hoá_đơn_2025-07-26_tên_gốc.pdf".

Sắp xếp hình ảnh

Hãy xem cách bạn có thể sắp xếp nội dung hình ảnh trong máy tính của mình.

Cách dùng thử:

  • Bạn sẽ cần có một thư mục chứa nhiều tệp hình ảnh (.jpg, .png, v.v.). Bao gồm một số ảnh có dữ liệu EXIF (hầu hết ảnh chụp bằng camera/điện thoại đều có dữ liệu này).
  • Chuyển đến thư mục này.
  • Khởi chạy Gemini CLI.

Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  • Đổi tên theo ngày (Dữ liệu EXIF): Đổi tên tất cả các tệp .jpg và .png trong thư mục này để thêm ngày tạo từ dữ liệu EXIF ở định dạng "YYYYMMDD_HHMMSS_original_name.jpg". Nếu không tìm thấy ngày EXIF, hãy sử dụng ngày sửa đổi gần đây nhất của tệp.
  • Tạo nội dung mô tả cho hình ảnh: Đối với mỗi hình ảnh trong thư mục này, hãy mô tả nội dung trong hình ảnh và lưu nội dung mô tả đó vào một tệp văn bản có tên là "description_ORIGINAL_FILENAME.txt" trong cùng thư mục.
  • Xác định nội dung trùng lặp (Dựa trên khái niệm, đòi hỏi logic nâng cao hơn): Tìm mọi hình ảnh trùng lặp trong thư mục này dựa trên nội dung trực quan và liệt kê tên tệp của các hình ảnh đó. Đừng xoá các tệp này vội.

Tóm tắt bài viết (Tệp cục bộ hoặc trên web)

Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.

Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  • Tóm tắt một bài viết trên web (một URL): Truy cập vào https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 rồi tóm tắt 3 điểm chính hàng đầu trong bài viết tin tức này.
  • Tóm tắt nhiều bài viết trên web (ví dụ: từ một cụm từ tìm kiếm): Tìm các bài viết tin tức mới nhất về "Gemini CLI" bằng Google Tìm kiếm. Đối với 5 bài viết liên quan hàng đầu, hãy tóm tắt mỗi bài trong 2 đến 3 câu và liệt kê URL của các bài viết đó.
  • Tóm tắt một tệp văn bản cục bộ: Tóm tắt những điểm chính của bài viết trong tệp "my_research_paper.txt". Tập trung vào phương pháp và kết luận.
  • Tóm tắt một tệp PDF trên thiết bị: Đọc "financial_report_Q2_2025.pdf". Tóm tắt hiệu quả hoạt động tài chính và những thách thức chính được đề cập.

Trích xuất thông tin cụ thể (Tệp cục bộ hoặc Web)

Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.

Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  • Trích xuất thực thể từ một bài viết trên máy: Từ "biography.txt", hãy liệt kê tất cả cá nhân được đặt tên và những ngày quan trọng liên quan đến họ.
  • Trích xuất dữ liệu từ một bảng trong tệp PDF: Trong tệp "quarterly_sales.pdf", hãy trích xuất dữ liệu từ bảng trên trang 3 cho biết "Doanh số bán sản phẩm theo khu vực" và trình bày dữ liệu đó ở định dạng bảng Markdown.
  • Trích xuất tiêu đề và nguồn tin tức từ một trang web tin tức: Truy cập vào "https://news.google.com/" (hoặc một trang web tin tức tương tự). Trích xuất các tiêu đề chính trên trang nhất và nguồn tin tức tương ứng. Trình bày dưới dạng danh sách có dấu đầu dòng.
  • Tìm thông số kỹ thuật của sản phẩm trên một trang thương mại điện tử: Duyệt xem "https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441" (ví dụ về một cuốn sách). Trích xuất tên sách, tác giả và các thông tin khác. Trình bày thông tin này ở định dạng JSON có cấu trúc.
  • Trích xuất thời lượng của một video ở một định dạng nhất định (ví dụ: "2h37m42s").

Trả lời câu hỏi dựa trên nội dung (hành vi tương tự như RAG)

Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần. Tên tệp được cung cấp là tên tệp mẫu, bạn có thể thay thế bằng tên tệp của các tệp có trên hệ thống của mình.

Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  • Hỏi và đáp về tài liệu tại địa phương: Tôi đang đính kèm "user_manual.pdf". Các bước khắc phục sự cố kết nối mạng là gì?
  • Hỏi và đáp trên trang web: Dựa vào nội dung trên"https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health", theo WHO, những nguy cơ chính đối với sức khoẻ liên quan đến biến đổi khí hậu là gì?
  • So sánh thông tin từ nhiều nguồn: Tôi có hai bài viết tin tức: "article1.txt" và "article2.txt", cả hai đều thảo luận về những thay đổi gần đây trong chính sách kinh tế. So sánh và đối chiếu quan điểm của họ về tác động tiềm ẩn đối với doanh nghiệp nhỏ.

Tạo nội dung dựa trên thông tin được trích xuất

Đối với mỗi trường hợp dưới đây, bạn có thể thay đổi URL, chủ đề quan tâm và tên tệp cục bộ nếu cần.

Hãy thử một trong các tình huống sau (các câu lệnh được đưa ra bên cạnh mỗi tình huống):

  • Tạo bản tin vắn tắt từ một bài viết: Đọc @tech_innovation_article.txt. Viết một bản tin ngắn gọn, hấp dẫn (khoảng 150 từ) phù hợp với bản tin của công ty, nêu bật công nghệ mới và tiềm năng của công nghệ đó.
  • Soạn thảo email tóm tắt bản chép lời của cuộc họp: Đây là tệp bản chép lời của cuộc họp: @meeting_transcript.txt. Soạn thảo một email cho nhóm để tóm tắt các quyết định chính đã đưa ra và việc cần làm được giao, bao gồm cả người chịu trách nhiệm cho từng việc.

Hỗ trợ đa phương thức của Gemini CLI

Gemini CLI hỗ trợ nhiều mô hình thông qua Gemini và bạn có thể yêu cầu Gemini CLI xử lý các tệp có nhiều định dạng nội dung theo yêu cầu của bạn.

Bạn sẽ xử lý một loạt hình ảnh hoá đơn bằng Gemini CLI và trích xuất thông tin chính từ các hình ảnh đó. Hãy làm theo các bước dưới đây:

  • Tạo một thư mục trên máy của bạn và tải một số hoá đơn xuống từ kho lưu trữ GitHub sau đây.
  • Khởi chạy Gemini CLI từ thư mục đó

Đưa ra câu lệnh sau để trích xuất thông tin từ hoá đơn dưới dạng bảng.

The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.

Lý tưởng nhất là bạn sẽ nhận được kết quả đầu ra có dạng như sau:

7203d699d875a91f.png

Sau đây là một trường hợp khác, trong đó bạn có thể yêu cầu thêm các cột phái sinh. Giả sử bạn muốn hiển thị biểu tượng dấu thập màu đỏ cho tất cả ngày đến hạn thanh toán hoá đơn đã qua. Bạn có thể đưa ra câu lệnh như sau:

list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.

Kết quả như sau:

e11fcde0400f5a0b.png

Áp dụng quy tắc này cho mọi tệp của riêng bạn ở các định dạng khác ngoài văn bản.

Sử dụng Gemini CLI để làm việc với cơ sở dữ liệu

Bạn có thể sử dụng Gemini CLI để làm việc hiệu quả hơn với nhiều cơ sở dữ liệu. Bạn có thể sử dụng công cụ này cho nhiều trường hợp: truy vấn bằng ngôn ngữ tự nhiên, xuất dữ liệu, thiết kế giản đồ cơ sở dữ liệu, tạo dữ liệu kiểm thử thực tế, v.v.

Bạn sẽ dùng SQLite3 để thực hiện nhiệm vụ này. Bạn sẽ cần cài đặt SQLite3 và có cơ sở dữ liệu mẫu Chinook.

Sau đây là hướng dẫn ngắn gọn về cách thiết lập SQLite3:

  1. macOS: SQLite3 được cài đặt sẵn. Xác minh bằng sqlite3 --version. Nếu cần, hãy cài đặt bằng Homebrew: brew install sqlite3.
  2. Windows: Tải các tệp nhị phân được biên dịch sẵn xuống từ trang web của SQLite. Giải nén các tệp vào một thư mục (ví dụ: C:\sqlite). Thêm thư mục đó vào biến môi trường PATH của hệ thống.
  3. Linux: Debian/Ubuntu: sudo apt update && sudo apt install sqlite3

Tải cơ sở dữ liệu Chinook mẫu xuống (đây là đường liên kết trực tiếp để tải cơ sở dữ liệu này xuống).

Để chạy các câu lệnh này, bạn nên tạo một thư mục (database-tasks) trong thư mục gemini-cli-projects. Sao chép tệp cơ sở dữ liệu Chinook vào thư mục đó. Đảm bảo bạn đã thiết lập công cụ sqlite3 trên hệ thống và có thể truy cập công cụ này trong đường dẫn để Gemini CLI có thể sử dụng. Khởi chạy Gemini CLI.

Sơ đồ giản đồ cơ sở dữ liệu được minh hoạ dưới đây:

4178b54e03a07d60.png

Giả sử bạn đang ở trong một thư mục có tên là database-tasks và tệp cơ sở dữ liệu Chinook có tên là chinook.db.

Dưới đây là một số câu lệnh có thể giúp bạn làm việc với cơ sở dữ liệu. Hãy xem qua nhanh quyền đầu tiên để minh hoạ quyền sẽ được yêu cầu.

Bắt đầu bằng câu lệnh liệt kê các bảng có trong cơ sở dữ liệu, đưa ra câu lệnh sau:

What tables are present in the file: chinook.db 

Thao tác này sử dụng công cụ để đọc tệp, sau đó muốn dùng phần mềm tiện ích sqlite3 có trên hệ thống của bạn để thực hiện những việc cần thiết:

a8d782201eba1eb8.png

Cấp quyền kích hoạt một lần để nhận được đầu ra như mong đợi:

69e96f22610e7892.png

Hãy thử các câu lệnh sau hoặc bất kỳ câu lệnh nào khác mà bạn chọn:

  • Có bao nhiêu nhân viên?
  • Cấu trúc của bảng hoá đơn là gì?
  • 3 hoá đơn nào có tổng giá trị cao nhất và khách hàng nào đã đặt những hoá đơn đó?

Bạn sẽ nhận thấy Gemini CLI xử lý 2 việc: Tạo câu lệnh SQL chính xác để đáp ứng yêu cầu của bạn và đưa ra lệnh sqlite3 chính xác.

Sử dụng Gemini CLI để tạo dữ liệu

Bạn có thể yêu cầu Gemini CLI tạo dữ liệu ở nhiều định dạng dữ liệu. Điều này có thể bao gồm từ các phần nội dung đến dữ liệu JSON mà bạn có thể cần mô phỏng. Hãy tập trung vào các trường hợp áp dụng cho nhà phát triển/người kiểm thử.

Sau đây là một số câu lệnh bạn có thể thử:

Tạo dữ liệu JSON của các bài đánh giá mẫu của khách hàng

Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).

Tạo phản hồi API mô phỏng (JSON)

Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').

Tạo câu lệnh chèn cơ sở dữ liệu mẫu (SQL)

Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.

Tạo dữ liệu CSV để tải/phân tích dữ liệu

Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).

Tạo tệp cấu hình (YAML)

Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.

Tạo dữ liệu kiểm thử cho các trường hợp biên/xác thực

Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).

11. Xin chúc mừng

Xin chúc mừng! Bạn đã khám phá thành công Gemini CLI, các chức năng của công cụ này và áp dụng cho một số trường hợp sử dụng.

Tài liệu tham khảo