0
0
Lập trình
Admin Team
Admin Teamtechmely

Cách Tự Động Hóa Việc Viết Báo Cáo Hàng Ngày bằng Ruby và Google Gemini

Đăng vào 1 tháng trước

• 3 phút đọc

Mở Bài

Chào các bạn! Tôi đã đặt chuông báo thức với bài hát "Wake Me Up When September Ends" nhưng không có ai gọi dậy. Thú thật, tôi hơi dỗi một chút.

Mình đã sống ở Nhật gần 5 năm và điều khiến tôi cảm thấy phiền phức nhất chắc chắn là việc viết báo cáo hàng ngày. Mặc dù tôi đã thu thập rất nhiều kiến thức quản lý và kinh nghiệm làm việc, nhưng việc viết báo cáo bằng tiếng Nhật, một ngôn ngữ không dễ, với các ký tự Hán tự phức tạp, thường khiến tôi mất từ 1 đến 2 tiếng ngồi viết. Kết quả là, có nhiều lần sếp yêu cầu chỉnh sửa. Hát theo lời bài hát yêu thích của mình:

漢字も苦手 見たこともない単語が
ぐるぐるぐる 目が回りそうだ

Dịch:
“Kanji thì rõ là khó, lại còn chỗ từ vựng tôi chưa từng thấy bao giờ
Làm mắt tôi cứ đảo tròn đảo tròn đảo tròn hết cả lên.”

Để giảm bớt sự lười, tôi đã tìm cách tự động hóa viết báo cáo. Tôi chỉ cần ghi lại thông tin dự án, tiến độ công việc và một số nội dung cơ bản, nên đã quyết định sử dụng Google Gemini, một công cụ AI mới của Google.

Tiến Hành Dự Án

Chuẩn Bị API Key Google Gemini

Nếu bạn đã biết về ChatGPT, OpenAI, thì chắc chắn bạn cũng đã nghe nói đến Google Gemini. Ra mắt vào tháng 12 năm 2023 (trước đây là Google Bard), Google Gemini được coi là mô hình AI mạnh mẽ nhất của Google. Với khả năng vượt trội, nó sẽ hỗ trợ rất nhiều trong quá trình làm việc của bạn.

Để lấy key sử dụng Google Gemini, bạn chỉ cần có tài khoản Gmail. Bạn hãy vào Google AI Studio và nhấp vào "Tạo API key trong dự án mới" để nhận key.

Sau khi có key, bạn hãy lưu lại trong file .env của dự án.

Sử Dụng Ruby Để Viết Script

Tôi muốn thử thách bản thân bằng cách sử dụng Ruby, thay vì Python hay JavaScript. Để bắt đầu, bạn cần tạo một thư mục dự án cùng những file cần thiết như Gemfile, Gemfile.lock, và .gitignore. Dưới đây là cấu trúc thư mục:

  • Gemfile
  • Gemfile.lock
  • .gitignore
  • lib/
  • input/
  • result/

Trong file Gemfile, bạn hãy thêm các gem cần thiết:

Copy
gem 'gemini-ai', '~> 4.2.0'
gem 'dotenv'

Và sau đó, chạy lệnh bundle install để thiết lập môi trường.

Phần Code

Trong lib/main.rb, cần gọi các thư viện cần thiết:

Copy
require 'dotenv/load'
require 'gemini-ai'

Tiếp theo, bạn cần khai báo template email và đọc file:

ruby Copy
text_request = <<-TEXT

この日報フォーマットに情報を追加てください。…
TEXT

Và sau đó, bạn có thể kết nối tới Google Gemini để gửi yêu cầu:

ruby Copy
result = client.stream_generate_content({
  contents: { role: 'user', parts: { text: text_request } }
})

Để lấy kết quả và xuất nó vào file out.txt, bạn có thể sử dụng một shell script đơn giản:

bash Copy
echo "Job starts"
sleep .5
echo "Processing..."
ruby lib/main.rb > result/out.txt
echo "Done"

Viết README cho Dự Án

Đừng quên viết README cho dự án của bạn! Bạn có thể nhờ AI hỗ trợ để nhanh chóng có nội dung cho README.

Kết Quả

Bây giờ, chỉ mất 5 phút để tổng hợp thông tin từ các file và 1 phút tạo báo cáo. Công việc của một kỹ sư giờ trở nên nhẹ nhàng hơn rất nhiều.

Cải Tiến Trong Tương Lai

Trong các phiên bản tiếp theo, tôi dự định sẽ cải thiện dự án bằng cách thêm tính năng chuyển đổi file doc và sử dụng gem khác để nâng cao tính năng.

Kết Luận

Với công cụ này, bạn chỉ cần dành ít phút để tổng hợp thông tin là đã có thể hoàn thành báo cáo hàng ngày một cách nhanh chóng và dễ dàng. Hy vọng bài hướng dẫn này hữu ích với các bạn!

Nếu bạn thấy bài viết hữu ích, hãy ủng hộ mình tại đây: Buy Me A Coffee
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào