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:
- Triển khai giải pháp Bắt đầu chuyển thẳng về quy trình xử lý hình ảnh dựa trên trí tuệ nhân tạo/học máy
- Sử dụng Gemini để khám phá ứng dụng API
- Sử dụng Gemini để tạo ứng dụng cho ứng dụng API
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.
- Truy cập Google Cloud Console
- Nhấp vào trình đơn thả xuống dự án hiện tại.
- Nhấp vào New Project (Dự án mới)
- 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 name
vàProject ID
giống
- Đề xuất: Sử dụng tên dự án duy nhất để
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.
- 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 Solutions (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 Functions
- 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ố
- 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
- 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. - 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
- 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.
- 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ế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
- Bật Gemini
- Nhấp vào 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.
- 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)
- 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.
- Nhấp vào Mã đám mây
- 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.
- Nếu bạn thấy lỗi
Gemini has not been enabled for your selected project
. Nhấp vào Bật Gemini API
- Nếu bạn thấy lỗi
- 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:
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.
- Nếu bạn đã rời đi, hãy nhấp vào Cloud Code
- 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
- 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
- Mở tệp
main.py
- Nhấp vào biểu tượng Trình khám phá
- Nhấp vào tệp
main.py
để mở tệp đó
- Nhấp vào biểu tượng Gemini Chat
- 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.
- 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.
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).
- 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
- QUAN TRỌNG Thay thế
- 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 Terminal (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, ...
- (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:
- 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 tronghttps://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.
- Giải pháp: Duet có thể cho rằng bạn đang triển khai lên Cloud Run. Thay thế
- 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.
- Giải pháp: Thay thế
- 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.
- Giải pháp: Đảm bảo URL bắt đầu bằng
- 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ặccloudfunctions.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
- 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 đủ
- 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.
- 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.
- Giải pháp: Thử mở tệp
- 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" }
- 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ế
- 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.
- 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ế
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.
- 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
.
- Quay lại hộp trò chuyện Gemini, hãy nhập câu lệnh:
- 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 frontend
vàcd 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
- Bạn có thể hỏi Gemini những câu như:
- 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.
- Bạn có thể hỏi Gemini những câu như:
- 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.
- Đă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
- Trong cửa sổ dòng lệnh của Cloud Shell Editor, hãy chạy lệnh
- 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 init
vàfirebase 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
- Nhấn thanh
- Mũi tên xuống
Use an existing project
- Nhấn
Enter
- Nhấn
- 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
- Nhấn
- 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
- Mũi tên xuống
firebase deploy
- Bạn có thể hỏi Gemini những câu như:
- Khởi chạy một dự án Firebase mới
- 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ệpindex.html
bên trong thư mụcfrontend
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á
- Nhấp vào thư mục
frontend
- Nhấp vào thư mục
public
- Nhấp vào tệp
index.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.
- Các lệnh trước nên tạo thư mục
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:
- Vấn đề: 404 (Không tìm thấy) URL dùng trong phương thức
fetch
có bao gồmmy-project-with-duet
không?- Giải pháp: Thay thế
my-project-with-duet
bằng mã dự án.
- Giải pháp: Thay thế
- 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
- Giải pháp: Đảm bảo đưa URL đầy đủ vào phương thức
- 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.
- 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ế
- 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ằngfirebase deploy
. Hãy nhớ thay thếmy-project-with-duet
bằng mã dự án của bạn.
- 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ụ
7. (Không bắt buộc) Dữ liệu khám phá mở
- 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.
- 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.
- Trang web đã tạo phải hoạt động với mọi hình ảnh
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.
- 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.
- Chạy lệnh
gcloud projects delete
để xoá tất cả tài nguyên bạn đã tạo hôm nay.