Tạo hàm tùy biến trong Google sheet để sử dụng AI

Với thông báo Gemini mở cửa cho các nhà phát triển, tôi vô cùng háo hức muốn thử nghiệm nó. Phải nói rằng tôi rất ấn tượng với hiệu suất của Gemini. Có rất nhiều đánh giá so sánh Gemini Pro với GPT-3.5 và GPT-4, và dường như Gemini Pro chiến thắng trong hầu hết các thử nghiệm. Là một người dùng hàng ngày của Trí tuệ Nhân tạo Sinh tạo, mối quan tâm chính của tôi thực sự là giá cả. Dưới đây là một so sánh nhanh (sử dụng quy đổi 1 token = 4 ký tự). Chúng ta có thể thấy rằng Gemini có giá gần tương đương với GPT-3.5 Turbo và chỉ bằng chưa đến 10% so với GPT-4 hoặc GPT-4 Turbo. Và bạn đoán xem, hiện tại Google đang cung cấp quyền truy cập miễn phí vào Gemini Pro miễn là Số Lượng Yêu Cầu Phút (QPM) nhỏ hơn 60.

Pricing Comparison (December 2023)

Dù sao thì, bài viết này không nhằm mục đích quảng cáo bất kỳ sản phẩm nào, mà là một số ví dụ đơn giản về cách chúng ta có thể sử dụng trí tuệ nhân tạo thế hệ mới (genAI) trong các công việc hàng ngày. Hôm nay, tôi sẽ thử sử dụng genAI trong Google Sheets để giúp tôi tạo một hàm tùy chỉnh để hỏi Gemini các câu hỏi từ các ô khác. Loại yêu cầu này thực sự rất phổ biến. Tôi sẽ sử dụng ví dụ dưới đây để minh họa.

  • Ô A1 là câu hỏi mẫu
  • Cột A là các biến cho câu hỏi
  • Hàm askGemini(inputText) là một Hàm Tùy Chỉnh sẽ gửi câu hỏi đến Gemini Pro để lấy câu trả lời

Lưu ý rằng bài viết này giả định rằng bạn có một số hiểu biết đơn giản về cách hoạt động của App Script trong Google Sheets. Nhưng bạn cũng có thể làm theo các bước mà không thực sự hiểu nó hoạt động như thế nào (không khuyến khích).

Tạo một dự án Google Cloud

Nếu bạn chưa có Dự án GCP, bạn có thể sử dụng liên kết này để tạo một dự án. Nó miễn phí và trong 3 tháng đầu tiên bạn sẽ có 300 đô la tín dụng để sử dụng trong hầu hết mọi thứ trên Google Cloud. Sau khi bạn đã tạo dự án, hãy đảm bảo rằng bạn đã bật API Vertex AI. Liên kết trên cũng nên giải thích cách thực hiện điều này.

Đăng nhập vào Google sheets

Hiện tại, hầu hết các cuộc gọi API đến GCP từ Google Sheets phải được thực hiện thông qua REST API. Để làm điều này, bước đầu tiên của chúng tôi là lấy token OAuth2 để xác thực chính mình.

Mở Apps Script bằng cách vào Extensions → Apps Script.

Trong Project Settings enable tùy chọn “Show appsscript.json manifest file in editor”

Mở appsscript.json file và thêm 3 oauth2 scope sau:

"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets.currentonly",
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/cloud-platform"
]

Trong file mặc định Code.gs, hãy tạo một hàm mới auth(). Trong hàm này, chúng ta sẽ yêu cầu mã token và lưu trữ nó trong bộ nhớ cache vì Hàm Tùy Chỉnh không cho phép xác thực người dùng. Bộ nhớ cache nên giữ mã token trong 10 phút (mặc định) hoặc tối đa 6 giờ.

function auth() {
cache = CacheService.getUserCache();
token = ScriptApp.getOAuthToken();
cache.put("token", token);
}

Tạo một nút hoặc menu tùy chỉnh và gán hàm auth() vào đó. Để hàm tùy chỉnh của chúng ta gọi Gemini hoạt động, cần phải nhấn nút này để lấy mã token.

Bây giờ chúng ta cần sử dụng hàm UrlFetchApp() để gọi REST API. Dưới đây là ví dụ về cách thực hiện. Tham khảo tài liệu này về các tùy chọn cho API. Về cơ bản, một số giá trị bắt buộc là role mà chúng ta cần đặt giá trị “user” và parts mà chúng ta sẽ đặt lời nhắc.

function askGemini(inputText) {
cache = CacheService.getUserCache();
token = cache.get("token");
if (token == "") return "ERROR";
Logger.log(`Token = ${token}`);
url = `https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/gemini-pro:streamGenerateContent`
data = {
contents: {
role: "USER",
parts: { "text": inputText }
},
generation_config: {
temperature: 0.9,
topP: 1
}
}
const options = {
method: "post",
contentType: 'application/json',
headers: {
Authorization: `Bearer ${token}`,
},
payload: JSON.stringify(data)
};

const response = UrlFetchApp.fetch(url, options);
if (response.getResponseCode() == 200) {
json = JSON.parse(response.getContentText());
answer = json[0].candidates[0].content.parts[0].text;
return answer;
}
return "ERROR";
}

Lưu mã và nó có thể được sử dụng ngay lập tức, không cần deploy.

Một điều cần lưu ý về Hàm Tùy Chỉnh này là nó có thể được kiểm tra lại nhiều lần và sẽ gọi lại API liên tục. Có nhiều cách để ngăn chặn hành động này, chẳng hạn như sử dụng một câu lệnh IF() để kiểm tra xem giá trị có rỗng hay không, nếu không rỗng thì không gọi hàm lại.

Hy vọng đây là thông tin hữu ích cho những người mới bắt đầu thử nghiệm với genAI và muốn áp dụng nó vào công việc hàng ngày.

0 Lời bình

Gửi Lời bình

Bạn cũng có thể đọc thêm:

Công nghệ và chuyển đổi AI trong công việc

[Chuyển đổi AI]  Công việc của tương lai gần sẽ hoàn toàn khác biệt so với công việc của quá khứ gần đây. Sự tiến bộ của công nghệ và trí tuệ nhân tạo (AI) đang làm thay đổi nền kinh tế trên toàn thế giới và buộc các doanh nghiệp phải suy nghĩ lại chiến lược nguồn...

Lực lượng lao động – AI Workforce là gì?

Nội dung:Làm thế nào để xây dựng lực lượng lao động AI (AI Workforce)?Các tác nhân AI (AI Agent) là gì?Tác nhân Co-Pilot - AI in the loopTác nhân Autopilot - Human in the loopAI in the loop (AITL) và Human in the loop (HITL)Hệ thống đa tác nhân là gì?AI Và...

Tiếp cận AI First: Kế hoạch dành cho doanh nhân

Hiểu về Cách tiếp cận "AI first"Triển khai Cách tiếp cận "AI first": Bài học từ ArkReachTương lai của Tinh thần Khởi nghiệp "AI first": Cơ hội và Thách thức Trí tuệ nhân tạo (AI) đang cách mạng hóa các ngành công nghiệp, định hình lại nền kinh tế và thay đổi hoàn toàn...

Đưa localhost lên internet mà không cần ngrok

Không cần cài đặt, không cần đăng ký ssh -R 80:localhost:3000 serveo.net Thay thế Ngrok Serveo là một sự thay thế tuyệt vời cho ngrok. Serveo lấy cảm hứng từ ngrok và cố gắng phục vụ nhiều mục đích giống nhau. Ưu điểm chính của Serveo so với ngrok là việc sử dụng ứng...

Công ty 1 người: Xu hướng tương lai hay viễn tưởng xa vời?

Sự phát triển vượt bậc của Trí tuệ nhân tạo (AI), đặc biệt là các mô hình ngôn ngữ lớn (LLM), đang mở ra những viễn cảnh mới cho tương lai của doanh nghiệp. Một trong những ý tưởng thu hút sự chú ý ngày càng tăng là mô hình "công ty một người" (one-man company), nơi...

Liên hệ