Cách sử dụng Gemini để khám phá và cải thiện một ứng dụng hiện có

1. Tổng quan

Lớp học lập trình này sẽ minh hoạ cách sử dụng Gemini để tạo ứng dụng ngoài một phần phụ trợ API hiện có.

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

Phòng thí nghiệm này nhằm minh hoạ việc sử dụng Gemini với một ứng dụng hiện có. Trong phòng thí nghiệm này, bạn sẽ tìm hiểu cách thực hiện những việc sau:

Thiết lập – Tạo dự án mới

Tuỳ vào chính sách của tổ chức, bạn có thể không triển khai đúng giải pháp này.

Đề xuất: Sử dụng tài khoản mà bạn có toàn quyền (như tài khoản cá nhân) thay vì tài khoản công ty hoặc trường học

Lưu ý: Nếu gần đây, bạn đã tạo một dự án mà bạn có đầy đủ các quyền và đã bật Gemini API trong dự án đó, thì bạn có thể tiếp tục sử dụng dự án đó và bỏ qua bước này. Ví dụ: nếu gần đây đã hoàn thành một lớp học lập trình khác về Gemini, bạn có thể bỏ qua bước này.

  1. Truy cập Google Cloud Console
  2. Nhấp vào trình đơn thả xuống dự án hiện tại.
  3. Nhấp vào New ProjectNút Dự án mới (Dự án mới)
  4. Thêm tên dự án rồi nhấp vào TẠO
    • Đề xuất: Sử dụng tên dự án duy nhất để Project nameProject ID giống tạo biểu mẫu dự án

2. Triển khai giải pháp Khởi động nhanh

Jump Start Solutions là các mẫu giải pháp được tạo sẵn từ Google Cloud. Phòng thí nghiệm này sử dụng Giải pháp khởi động nhanh để chứng minh cách Gemini có thể giúp cải thiện một ứng dụng có sẵn.

  1. Truy cập vào trang chi tiết về Giải pháp bắt đầu ngay trong quy trình xử lý hình ảnh dựa trên trí tuệ nhân tạo (AI)/học máy (ML)
    • Nhấp vào trình đơn ba đường kẻ
    • Trong phần Sản phẩm & giải pháp, hãy nhấp vào Jump Start SolutionsCác bước thao tác để bắt đầu giải pháp (Giải pháp bắt đầu ngay)
    • Nhấp vào Xử lý hình ảnh dựa trên AI/ML trên Cloud FunctionsGiới thiệu giải pháp Bắt đầu nhanh về việc xử lý hình ảnh dựa trên công nghệ học máy bằng AI
  2. Nhấp vào KHÔI PHỤC
    • Nếu dự án của bạn chưa bật tính năng thanh toán, hãy bật tính năng thanh toán.
    • Xác nhận tên dự án rồi nhấp vào TIẾP TỤC
    • Chọn us-central1 (Iowa) làm khu vực.
    • Nếu được nhắc nhập thông tin khác, hãy chấp nhận các giá trị mặc định.
    • Nhấp vào KHÔI PHỤC.
    • Quá trình này có thể mất tới 15 phút.
    • Bạn không cần thực hiện bất kỳ thay đổi nào, nhưng hãy khám phá cách triển khai Giải pháp Jump Start.

Khắc phục sự cố

  1. Vấn đề: Bạn có thấy lỗi có nội dung Partial deployment. không?
    • Giải pháp: Rất tiếc, điều này có nghĩa là bạn có thể xoá hoạt động triển khai và bắt đầu lại. Bạn sẽ thấy một nút có nội dung XOÁ PHÂN KHÚC. Nhấp vào nút đó rồi triển khai lại Giải pháp Jump Start (Bắt đầu di chuyển).

3. Bật Gemini

Thiết lập môi trường chỉnh sửa mã và bật Gemini

  1. Chuyển đến Trình chỉnh sửa Cloud Shell
    • Quay lại Google Cloud Console
    • Nhập Cloud Shell Editor vào thanh tìm kiếm rồi nhấp vào Cloud Shell Editor trong trình đơn thả xuống. Các bước để mở Cloud Shell Editor
    • Nhấp vào Dùng thử Trình chỉnh sửa mới nếu bạn đang sử dụng Trình chỉnh sửa cũ.
      • Lưu ý: Nếu không thấy nút Dùng thử Trình chỉnh sửa mới thì có thể bạn đang sử dụng Trình chỉnh sửa mới. Trình chỉnh sửa cũ sẽ hoạt động, nhưng chế độ xem sẽ hơi khác.
    • Nhấp vào biểu tượng Mở trong cửa sổ mới biểu tượng mở trong cửa sổ mớiCác bước để mở trong cửa sổ mới
  2. Nếu được nhắc, hãy đăng nhập hoặc cấp quyền cho tài khoản của bạn.
    • Tuỳ thuộc vào chế độ cài đặt của bạn, bạn có thể được nhắc cấp quyền cho tài khoản của mình nhiều lần trong phòng thí nghiệm này. Khi được yêu cầu, hãy chọn cấp quyền mỗi lần.
  3. Nhấp vào nút Cloud Code – Đăng nhập trên thanh trạng thái ở dưới cùng như minh hoạ. Uỷ quyền trình bổ trợ theo hướng dẫn. Nút đăng nhập để xem mã trên đám mây
  4. Nếu được nhắc, hãy nhấp vào Chọn dự án Google Cloud rồi chọn dự án bạn đang dùng Nhấp vào "Chọn một dự án Google Cloud"
  5. Bật Gemini
    • Nhấp vào Mã đám mây biểu trưng mã đám mây
      • Lưu ý: Tuỳ thuộc vào kích thước màn hình, quá trình này có thể mất một bước hoặc hai bước. mở mã trên đám mây
    • Nhấp vào Thay đổi cài đặt trong phần GIÚP VÀ PHẢN HỒI
    • Loại Gemini: Enable
    • Chọn hộp đánh dấu (nếu chưa chọn) Bật chế độ cài đặt Duet trong Cloud Shell Editor
    • Tải lại IDE.
    • Thao tác này sẽ bật Gemini trong Cloud Code và thanh trạng thái Gemini sẽ xuất hiện trong IDE của bạn. Thanh trạng thái của Gemini sẽ xuất hiện.
  6. Nhấp vào nút Gemini ở góc dưới cùng bên phải như minh hoạ rồi chọn đúng dự án trên Google Cloud. Chọn dự án Gemini
    • Nếu bạn thấy lỗi Gemini has not been enabled for your selected project. Nhấp vào Bật Gemini APIChọn dự án Gemini
  7. Xác nhận rằng bạn có thể nhìn thấy đúng dự án Google Cloud ở bên trái (bạn sẽ thấy tên dự án của mình) và Gemini đã được bật ở bên phải, trong thanh trạng thái như minh hoạ dưới đây: Chế độ xem chính xác của Gemini khi được bật

4. Tải mã Chức năng đám mây xuống

Hãy tải mã này xuống và sử dụng Gemini để tìm hiểu thêm về Jump Start Solutions và mã mà bạn đã triển khai.

  1. Nếu bạn đã rời đi, hãy nhấp vào Cloud Code biểu trưng mã đám mây
  2. Nhấp vào Cloud Functions
      (Chức năng đám mây)
    • Nếu bạn thấy nút Select a project (Chọn dự án), hãy nhấp vào nút đó rồi chọn dự án mà bạn đang làm việc.
    • Nhấp vào hàm annotate-http
    • Nhấp vào biểu tượng Tải xuống không gian làm việc mới biểu tượng tải xuốngbiểu tượng tải xuống trong bảng mã trên đám mây
  3. Dùng annotate-http-1 làm tên không gian làm việc (nên đặt theo mặc định) rồi nhấp vào OK
  4. Mở tệp main.py
    • Nhấp vào biểu tượng Trình khám phá Biểu tượng điều hướng của người khám phá
    • Nhấp vào tệp main.py để mở tệp đó Mở Trình khám phá tệp bằng cách nhấp vào biểu trưng Gemini
  5. Nhấp vào biểu tượng Gemini Chat Biểu trưng Gemini
    • Lưu ý: Tuỳ thuộc vào kích thước màn hình, quá trình này có thể mất một bước hoặc hai bước. mở Gemini
  6. Hãy thử đặt câu hỏi cho Gemini. Nhập một câu lệnh như:
    • What is a Jump Start Solution in Google Cloud?
    • Explain this code.

Đang đặt lại Gemini Chat

Câu lệnh ảnh hưởng đến các câu lệnh trong tương lai. Ví dụ: Nếu bạn nhập sai chính tả trong mã dự án hoặc khu vực, thì những lỗi này sẽ được chuyển sang các lời nhắc và câu trả lời sau này. Việc này có thể ảnh hưởng tiêu cực đến trải nghiệm của bạn. Nếu có lỗi đánh máy hoặc muốn xoá nhật ký vì bất kỳ lý do nào khác, bạn có thể sử dụng biểu tượng thùng rác để đặt lại cuộc trò chuyện.

Đặt lại thùng rác của cuộc trò chuyện song song có thể làm nổi bật

5. Gọi điểm cuối hiện có của Cloud Function

Khám phá mã và gọi điểm cuối mà bạn đã triển khai trong Giải pháp Jump Start (Bắt đầu khởi động).

  1. Nhập câu lệnh:
    • QUAN TRỌNG Thay thế my-project-with-duet trong câu lệnh sau bằng mã dự án của bạn.
    • The region is us-central1 and the project id is my-project-with-duet. Write a curl post for the /annotate-http/annotate Cloud Function endpoint that performs label detection on the default eiffel tower image.
    • Bạn sẽ nhận được phản hồi có chứa lệnh curl như sau:
      curl -X POST \
          -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      ...
      
    • Sao chép lệnh curl này để sử dụng trong bước tiếp theo
  2. Kiểm tra lệnh trong thiết bị đầu cuối mới
    • Nhấp vào trình đơn ba đường kẻ
    • Nhấp vào Terminal (Thiết bị đầu cuối)
    • Nhấp vào New TerminalCác bước để mở cửa sổ dòng lệnh mới trong Cloud Shell Editor (Nhà ga mới)
    • Dán lệnh curl ở bước trước vào cửa sổ dòng lệnh rồi nhấn Enter để chạy lệnh
    • Bạn sẽ nhận được phản hồi có nội dung như sau:
      {
          "labelAnnotations": [
          {
          "mid": "/m/0csby",
          "description": "Cloud",
          "score": 0.97885925,
          "topicality": 0.97885925,
      ...
      
  3. (Không bắt buộc) Thực hiện việc này với một hình ảnh khác trên Internet công cộng bằng cách nhắc Duet bằng những câu lệnh như:
    • Do the same thing with the image https://storage.googleapis.com/cloud-samples-data/vision/eiffel_tower.jpg

Khắc phục sự cố

Lưu ý về tính không tất định: Gemini và các sản phẩm khác sử dụng Mô hình ngôn ngữ lớn (LLM) là không tất định: nghĩa là với cùng một dữ liệu đầu vào, bạn có thể nhận được nhiều kết quả đầu ra. Ngay cả khi bạn làm theo các bước một cách hoàn hảo, vẫn có thể không nhận được các lệnh hoạt động. Các bước khắc phục sự cố sau sẽ giúp giải quyết những vấn đề đó.

Lệnh curl được tạo sẽ có dạng như sau:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
  "image_uri": "gs://cloud-samples-data/vision/eiffel_tower.jpg",
  "features": "LABEL_DETECTION"
}' \
    "https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate"

Gemini đang sử dụng TEST_IMAGE trong tệp main.py, đây là hình ảnh Tháp Eiffel.

Nếu lệnh curl không hoạt động với bạn, dưới đây là một vài điều cần kiểm tra:

  1. Vấn đề: Điểm cuối URL có bao gồm .a.run.app không?
    • Giải pháp: Duet có thể cho rằng bạn đang triển khai lên Cloud Run. Thay thế my-project-with-duet bằng mã dự án của bạn trong https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate để nhận điểm cuối chính xác của Cloud Functions và sử dụng điểm cuối đó cho lệnh curl.
  2. Vấn đề: Điểm cuối URL có bao gồm my-project-with-duet không?
    • Giải pháp: Thay thế my-project-with-duet bằng mã dự án.
  3. Vấn đề: Điểm cuối URL có bị thiếu us-central1 không?
    • Giải pháp: Đảm bảo URL bắt đầu bằng us-central1, chẳng hạn như: https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate kèm theo mã dự án.
  4. Vấn đề: Tuỳ thuộc vào câu lệnh được sử dụng, đôi khi điểm cuối được tạo sẽ có dạng cloudfunctions.net/annotate-http hoặc cloudfunctions.net/annotate. Có phải điểm cuối URL bị thiếu /annotate-http/annotate ở cuối không?
    • Giải pháp: Đảm bảo điểm cuối URL kết thúc bằng đường dẫn ứng dụng API đầy đủ cloudfunctions.net/annotate-http/annotate
  5. Vấn đề: Yêu cầu cURL hoạt động, nhưng không nhận lại được nhiều thông tin. Yêu cầu này có bao gồm các tính năng không?
    • Giải pháp: Đây không phải là vấn đề lớn. Nếu bạn tiếp tục mà không thay đổi bất kỳ điều gì, phần còn lại của phòng thí nghiệm sẽ vẫn hoạt động. Nếu muốn biết thêm thông tin, bạn có thể yêu cầu Duet thêm tính năng vào yêu cầu cURL.
  6. Vấn đề: Câu trả lời có vẻ không chính xác hoặc có vẻ thiếu ngữ cảnh cụ thể về mã. Bạn có đang sử dụng Gemini Chat trong Cloud Shell Editor không?
    • Giải pháp: Thử mở tệp main.py và đánh dấu đoạn mã liên quan đến câu lệnh của bạn khi bạn sử dụng Gemini Chat trong Trình chỉnh sửa Cloud Shell. Trợ lý Gemini trên Google Cloud có các ngữ cảnh khác nhau, do đó, sẽ có những câu trả lời khác nhau.
  7. Sự cố: Câu trả lời cho câu lệnh vẫn chưa chính xác.
    • Giải pháp: Thử một câu lệnh khác để đưa ra cho Gemini thêm hướng dẫn về những gì bạn muốn Gemini tạo. Hãy nhớ thay thế my-project-with-duet bằng mã dự án của bạn. Sau đây là một ví dụ:
      Give me the curl command for:
      
      1- Cloud Function running in us-central1 and project my-project-with-duet
      2- HTTP POST to the following endpoint: /annotate-http/annotate endpoint
      3- JSON in the body: { "image_uri": "gs://cloud-samples-data/vision/eiffel_tower.jpg", "features": "LABEL_DETECTION" }
      
  8. Sự cố: Sau tất cả các bước khắc phục sự cố này, thiết bị vẫn không khắc phục được sự cố.
    • Giải pháp: Do tính chất không tất định của các LLM, có thể Duet đã tạo ra câu trả lời không hoạt động. Nếu điều đó xảy ra, hãy sao chép lệnh curl mẫu ở trên và thử chạy lệnh đó trong cửa sổ dòng lệnh. Hãy nhớ thay thế my-project-with-duet bằng mã dự án của bạn.

6. Tạo một ứng dụng web cho API

Dùng Gemini để tạo một tệp index.html gọi điểm cuối trong Chức năng đám mây của giải pháp Jump Start Solution. Sau đó, triển khai tệp index.html cho Lưu trữ Firebase để xem mã hoạt động.

  1. Tạo mã phía máy khách
    • Quay lại hộp trò chuyện Gemini, hãy nhập câu lệnh:
      • Write an index.html file that takes two inputs: a text input for the image_uri and a dropdown for the features. It should make a post request and display the raw json result to the DOM. The fetch call should use the full url beginning with https. The default image_uri should be gs://cloud-samples-data/vision/eiffel_tower.jpg.
    • Sao chép tệp index.html được tạo trong phản hồi.
      • LƯU Ý: Bạn sẽ cần mã này sau, vì vậy hãy lưu mã này vào nơi nào đó nếu bạn lo ngại mình có thể bị mất mã.
    • Đóng main.py.
  2. Tạo thư mục frontend mới
    • Bạn có thể hỏi Gemini những câu như:
      • What are the console commands to create and navigate to a new frontend directory?
    • Bạn sẽ thấy các kết quả như mkdir frontendcd frontend.
    • Sử dụng Cloud Shell Terminal để xác nhận rằng bạn vẫn đang ở trong thư mục annotate-http-1 và chạy các lệnh đó:
      • cd ~/annotate-http-1
      • mkdir frontend
      • cd frontend
  3. Xác nhận rằng bạn đã đăng nhập vào đúng dự án trong thiết bị đầu cuối Cloud Shell
    • Bạn có thể hỏi Gemini những câu như:
      • What is the gcloud command to set my project?
    • Bạn sẽ thấy một kết quả có dạng gcloud config set project my-project-with-duet
      • Xác nhận mã dự án là chính xác, sau đó chạy lệnh trong cửa sổ dòng lệnh của Cloud Shell.
  4. Bật Firebase
    • Trong thẻ mới (để nguyên Trình chỉnh sửa Cloud Shell hiện tại ở trạng thái mở), hãy truy cập https://console.firebase.google.com/
    • Nhấp vào Thêm dự án
    • Nhập mã dự án của bạn rồi chờ mã này xuất hiện trong trình đơn thả xuống
    • Nhấp vào mã dự án của bạn
    • Nhấp vào Tiếp tục
    • Nhấp vào Xác nhận gói
    • Nhấp vào Tiếp tục
    • Bỏ chọn Bật Google Analytics cho dự án này
      • Firebase khuyên bạn nên sử dụng Google Analytics, nhưng ứng dụng này sẽ không dùng những công cụ này.
    • Nhấp vào Tiếp tục
    • Đóng thẻ này và quay lại Trình chỉnh sửa Cloud Shell
    • Lưu ý: Các bước này chỉ cần thiết cho người dùng chưa từng sử dụng Firebase, nhưng điều này cho phép mọi người thực hiện theo cùng một đường dẫn. Nếu tiếp tục làm như vậy trong tương lai, bạn có thể bỏ qua bước này.
  5. Đăng nhập vào Firebase trong Cloud Shell
    • Trong cửa sổ dòng lệnh của Cloud Shell Editor, hãy chạy lệnh firebase login --no-localhost
    • Truy cập vào URL được cung cấp
      • Nhấp vào Có, tôi vừa chạy lệnh này
      • Nhấp vào Có, đây là mã phiên của tôi
      • Nhấp vào Sao chép
    • Quay lại thiết bị đầu cuối của Cloud Shell Editor
    • Dán giá trị đã sao chép vào thiết bị đầu cuối có nội dung: Enter authorization code:
    • Nhấn Enter
  6. Triển khai một trang web mới cho tính năng Lưu trữ Firebase
    • Khởi chạy một dự án Firebase mới
      • Bạn có thể hỏi Gemini những câu như:
        • What are the commands to initialize and deploy a new firebase application?
      • Bạn sẽ thấy các kết quả như firebase initfirebase deploy kèm theo hướng dẫn.
      • Có nhiều cách để làm việc này và Gemini có thể đề xuất tuỳ thuộc vào lựa chọn ưu tiên của bạn, nên sau đây là một đề xuất cụ thể để bạn áp dụng:
        • firebase init
          • Mũi tên xuống Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys
            • Nhấn thanh Space
            • Nhấn Enter
          • Mũi tên xuống Use an existing project
            • Nhấn Enter
          • Nếu bạn thấy danh sách các dự án, hãy nhấn mũi tên xuống để chuyển đến dự án bạn đang sử dụng hiện tại
            • Nhấn Enter
          • Nếu bạn được yêu cầu Please input the ID of the Google Cloud Project you would like to add Firebase:
            • Nhập mã dự án cho dự án của bạn.
            • Nhấn Enter
          • Đối với tất cả câu lệnh còn lại, hãy nhấn phím Enter
        • firebase deploy
  7. Triển khai lại ứng dụng của bạn bằng lệnh gọi đến điểm cuối API Cloud Functions
    • Các lệnh trước nên tạo thư mục public có tệp index.html bên trong thư mục frontend mà bạn đã tạo trước đó. Tệp ~/annotate-http-1/frontend/public/index.html là nơi bạn nên thực hiện một số thay đổi tiếp theo.
    • Mở tệp index.html.
      • Nhấp vào biểu tượng Trình khám phá Biểu tượng điều hướng của người khám phá
      • Nhấp vào thư mục frontend
      • Nhấp vào thư mục public
      • Nhấp vào tệp index.html Điều hướng đến tệpindex.html
    • Dọn sạch tệp index.html hiện có.
    • Dán mã mà bạn đã sao chép trước đó vào tệp index.html
    • Chạy firebase deploy để triển khai ứng dụng mới
    • Hãy truy cập vào URL lưu trữ của Firebase để xem URL này có hoạt động không!
      • Lưu ý: Có thể bạn cần phải làm mới thường xuyên trang web để xem nội dung cập nhật của mình.

Khắc phục sự cố

Tệp index.html có dạng như sau:

<!DOCTYPE html>
<html>
<head>
<title>Vision API Annotate Image</title>
</head>
<body>
<h1>Vision API Annotate Image</h1>
<form id="annotate-form" action="https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate" method="POST">
    <label for="image-uri">Image URI:</label>
    <input type="text" id="image-uri" name="image_uri" value="gs://cloud-samples-data/vision/eiffel_tower.jpg">
    <br>
    <label for="features">Features:</label>
    <select id="features" name="features">
    <option value="LABEL_DETECTION">LABEL_DETECTION</option>
    <option value="TEXT_DETECTION">TEXT_DETECTION</option>
    <option value="IMAGE_PROPERTIES">IMAGE_PROPERTIES</option>
    </select>
    <br>
    <input type="submit" value="Annotate">
</form>

<div id="result"></div>

<script>
    const form = document.getElementById('annotate-form');

    form.addEventListener('submit', (event) => {
    event.preventDefault();

    const imageUri = document.getElementById('image-uri').value;
    const features = document.getElementById('features').value;

    const data = {
        image_uri: imageUri,
        features: features,
    };

    fetch('https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate', {
        method: 'POST',
        headers: {
        'Content-Type': 'application/json',
        },
        body: JSON.stringify(data),
    })
        .then((response) => response.json())
        .then((result) => {
        const resultElement = document.getElementById('result');
        resultElement.innerHTML = JSON.stringify(result, null, 2);
        });
    });
</script>
</body>
</html>

Nếu trang web không hoạt động cho bạn, dưới đây là một vài điều bạn cần kiểm tra:

  1. Vấn đề: 404 (Không tìm thấy) URL dùng trong phương thức fetch có bao gồm my-project-with-duet không?
    • Giải pháp: Thay thế my-project-with-duet bằng mã dự án.
  2. Vấn đề: 404 (Không tìm thấy) URL dùng trong phương thức fetch có thiếu URL đầy đủ không?
    • Giải pháp: Đảm bảo đưa URL đầy đủ vào phương thức fetch. Mã này sẽ có dạng như https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate
  3. Sự cố: Câu trả lời cho câu lệnh vẫn chưa chính xác.
    • Giải pháp: Thử một câu lệnh khác để đưa ra cho Gemini thêm hướng dẫn về những gì bạn muốn Gemini tạo. Hãy nhớ thay thế my-project-with-duet bằng mã dự án của bạn. Sau đây là ví dụ:
      • Write an index.html file that takes two inputs: a text input for the image_uri and a dropdown for the features. It should make a post request and display the raw json result to the DOM. The fetch call should use https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate. The default image_uri should be gs://cloud-samples-data/vision/eiffel_tower.jpg.
  4. Vấn đề: Trang web của bạn đã được triển khai nhưng không hoạt động?
    • Giải pháp: Do tính chất không tất định của các LLM, có thể Duet đã tạo ra câu trả lời không hoạt động. Nếu điều đó xảy ra, hãy sao chép ví dụ index.html ở trên rồi thử triển khai lại bằng firebase deploy. Hãy nhớ thay thế my-project-with-duet bằng mã dự án của bạn.

7. (Không bắt buộc) Dữ liệu khám phá mở

  1. Hãy sử dụng Gemini và trợ lý trong trình chỉnh sửa để thêm kiểu CSS vào ứng dụng của bạn và triển khai lại ứng dụng khi bạn hoàn tất! Nếu đang tìm nguồn cảm hứng, bạn có thể thử một câu lệnh mẫu sau đây:
    • Make this index.html file use material design.ảnh về trang web được tạo kiểu bằng Material Design
  2. Thử những cách khác:
    • Trang web đã tạo phải hoạt động với mọi hình ảnh http công khai. Hãy làm việc với Duet để hiển thị hình ảnh trên trang.

8. (Không bắt buộc) Xoá dự án

Nếu không muốn bị tính phí cho các tài nguyên mình đã tạo hôm nay, bạn có thể hỏi Duet về cách thực hiện.

  1. Nhập câu lệnh:
    • How can I delete my project?
    • Bạn sẽ thấy một kết quả như gcloud projects delete my-project-with-duet.
    • QUAN TRỌNG Thay thế my-project-with-duet trong lệnh trước bằng mã dự án của bạn.
  2. Chạy lệnh gcloud projects delete để xoá tất cả tài nguyên bạn đã tạo hôm nay.