Bài 1: Tổng Quan Google AI Studio & Khởi Tạo Gemini API Key
Khám phá môi trường phát triển AI của Google, cách phân biệt với Gemini App, Vertex AI và quy trình lấy API Key an toàn
Google AI Studio (truy cập tại aistudio.google.com) là cổng thử nghiệm (developer sandbox) chính thức được Google thiết kế dành riêng cho lập trình viên và nhà nghiên cứu nhằm tạo mẫu ứng dụng AI nhanh nhất bằng họ mô hình Gemini.
Ứng dụng trò chuyện dành cho người dùng cuối (B2C), có thể có tính năng lưu lịch sử và cá nhân hóa tùy tài khoản, tích hợp tiện ích Workspace, giao diện hội thoại thông thường.
Môi trường phát triển AI cấp thấp (Developer Playground): Tùy biến mọi tham số, điều chỉnh các thiết lập sinh nội dung được hỗ trợ, hỗ trợ System Prompt, JSON Mode, Function Calling và trích xuất code trực tiếp.
Nền tảng MLOps cấp doanh nghiệp (Enterprise), cung cấp cam kết dịch vụ SLA khắt khe, bảo mật dữ liệu cấp hạ tầng, tính cước qua tài khoản Google Cloud Project có hợp đồng chi tiết.
Quy Trình Tạo Và Quản Lý Gemini API Key
- Truy cập
aistudio.google.comvà đăng nhập bằng tài khoản Google. - Ở thanh menu bên trái, nhấp vào nút "Get API key".
- Chọn Create API key trong một Google Cloud Project mới hoặc dự án có sẵn.
- Sao chép khóa bí mật dạng chuỗi
AIzaSy...và lưu vào biến môi trường hệ thống. - Nhấp vào nút "< Dashboard" ở góc trên bên trái menu (hoặc mục "Playground" dưới phần EXPLORE).
- Hoặc nhấp nút "+ New app" / "Create prompt" để bắt đầu một phiên thử nghiệm chat mới.
- Đường dẫn trực tiếp vào không gian chat:
https://aistudio.google.com/prompts/new_chat
Khi bạn truy cập link tạo khóa hoặc đăng nhập lần đầu, Google AI Studio có thể mở sẵn trang quản lý khóa tại aistudio.google.com/api-keys. Để quay về trang chính chat và thử nghiệm mô hình:
# Linux / macOS
export GEMINI_API_KEY="AIzaSyYourSecretKeyHere"
# Windows PowerShell
$env:GEMINI_API_KEY="AIzaSyYourSecretKeyHere"
# File .env trong dự án
GEMINI_API_KEY=AIzaSyYourSecretKeyHere
Bổ sung kiến thức: Bảo mật API Key và dữ liệu học sinh
API key phải được giữ ở máy chủ hoặc dịch vụ bí mật; không đưa vào HTML/JavaScript chạy trên GitHub Pages. Giới hạn quyền, quota và theo dõi chi phí; khi nghi lộ khóa phải thu hồi và tạo khóa mới. Không nhập dữ liệu cá nhân của học sinh vào prompt khi chưa có căn cứ và biện pháp bảo vệ phù hợp. Free Tier, Paid Tier và giao diện AI Studio có thể áp dụng điều khoản dữ liệu khác nhau: cần kiểm tra tài liệu chính thức trước khi xử lý thông tin nhạy cảm.
Trắc nghiệm củng cố Bài 1
1. Mục đích trọng tâm nhất của Google AI Studio (aistudio.google.com) là gì?
2. Đâu là sự khác biệt cơ bản giữa AI Studio và Vertex AI?
3. Thực hành lưu trữ API Key nào sau đây là chuẩn mực an toàn?
4. Ở gói miễn phí (Free Tier) của Google AI Studio, điều khoản về dữ liệu quy định ra sao?
Bài 2: Các Thế Hệ Mô Hình Gemini & Chế Độ Suy Luận Thinking Mode
Lưu ý cập nhật: Các model ID, giá, quota và tính năng thay đổi theo thời điểm; luôn tra bảng Models chính thức trước khi viết code.
Tìm hiểu kiến trúc Gemini 2.0 Flash, 1.5 Pro, 1.5 Flash, Flash-Lite và cơ chế Chain-of-Thought trực quan
Trên bảng chọn mô hình (Model Selector) của Google AI Studio, bạn có thể lựa chọn nhiều phiên bản mô hình khác nhau phục vụ từng nhu cầu cụ thể về tốc độ, năng lực suy luận và chi phí:
Ví dụ mô hình thế hệ 2.0, từng được dùng cho các tác vụ cần phản hồi nhanh, đa phương thức và gọi hàm. Không nên mặc định mọi chế độ realtime đều được hỗ trợ.
Ví dụ lịch sử về mô hình Pro có ngữ cảnh dài, phù hợp thử nghiệm phân tích tài liệu lớn; chất lượng thực tế cần đánh giá trên từng tác vụ.
Ví dụ lịch sử về dòng Flash tối ưu độ trễ và chi phí; không thể kết luận luôn rẻ nhất khi so sánh các phiên bản hiện hành.
Ví dụ lịch sử về mô hình có khả năng suy luận; một số phiên bản có thể cung cấp tóm tắt suy luận, không phải toàn bộ suy luận nội bộ.
Cơ Chế Hoạt Động Của Gemini Thinking Mode
Với những mô hình có hỗ trợ chế độ suy luận, hệ thống có thể dành tài nguyên tính toán bổ sung trước khi đưa ra câu trả lời. Tính năng và tên thiết lập phụ thuộc từng phiên bản:
- Tự kiểm tra và tự sửa lỗi: Mô hình tự phân tích câu hỏi, vạch ra kế hoạch giải quyết, thử nghiệm các giả thiết và tự hiệu chỉnh sai lệch trước khi viết mã hay kết luận.
- Minh bạch quá trình tư duy: Trên giao diện AI Studio, bạn có thể nhấp mở khối "Thought Process" để xem phần giải thích hoặc tóm tắt suy luận được cung cấp (nếu có), không mặc định là toàn bộ suy luận nội bộ.
- Đặc biệt hữu ích: Giải các bài toán chứng minh, thuật toán phân loại đồ thị, phân tích mã nguồn đa luồng và bài toán logic hóc búa.
Bổ sung kiến thức: Chọn mô hình theo phiên bản đang hoạt động
Danh sách Gemini 1.5 và 2.0 trong phần trên dùng để tìm hiểu lịch sử phát triển, không phải danh sách khuyên dùng hiện tại. Vào Model Selector để kiểm tra model ID, trạng thái preview/stable/deprecated, modality, context window, output limit, chi phí và rate limit. Các dòng Pro, Flash, Flash-Lite có đánh đổi về chất lượng, tốc độ và giá. Thinking budget/level và bản tóm tắt suy luận chỉ khả dụng ở một số mô hình; không được đồng nhất với toàn bộ suy luận nội bộ.
Trắc nghiệm củng cố Bài 2
1. Kích thước cửa sổ ngữ cảnh (Context Window) tối đa của Gemini 1.5 Pro theo thông số lịch sử được công bố là bao nhiêu?
2. Mục đích cốt lõi của dòng mô hình Gemini Flash (1.5 Flash, 2.0 Flash) là gì?
3. Điểm đặc sắc nhất của mô hình "Gemini 2.0 Flash Thinking" là gì?
Trong bối cảnh các mô hình lịch sử, khi nào Gemini 1.5 Pro từng phù hợp hơn Flash?
Bài 3: Ba Chế Độ Prompting & Kỹ Thuật Few-Shot Trong Studio
So sánh Chat Prompt, Freeform Prompt, Structured Prompt và ứng dụng mẫu minh họa đa tình huống
Trong một số phiên bản trước đây, Google AI Studio có các hình thức Chat, Freeform và Structured Prompt. Giao diện hiện tại có thể thay đổi; ba cách tiếp cận dưới đây vẫn hữu ích để thiết kế prompt:
1. Chat Prompt (Hội thoại nhiều lượt - Multi-turn)
Mô phỏng trải nghiệm người dùng tương tác với chatbot. Cung cấp hai vai trò rõ ràng: User và Model. Hệ thống tự động duy trì lịch sử các lượt trao đổi trước đó để mô hình duy trì mạch tư duy. Phù hợp cho trợ lý ảo, gia sư hỏi đáp và tư vấn kỹ thuật.
2. Freeform Prompt (Khung tự do mở - Single Turn / Document Completion)
Một khung soạn thảo văn bản trắng thuần túy không có phân chia lượt nói. Bạn có thể tự do kết hợp văn bản mô tả, chèn các tệp hình ảnh, bảng dữ liệu hoặc video ở bất kỳ vị trí nào, rồi để mô hình hoàn thành văn bản tiếp theo. Lý tưởng cho việc viết tài liệu, phân tích mã nguồn và kiểm thử prompt phức hợp.
3. Structured Prompt (Bảng mẫu Few-Shot có cấu trúc)
Giao diện trực quan chia thành các cột bảng: Input và Output. Bạn có thể cung cấp từ 3 đến 10 ví dụ mẫu minh họa cụ thể (Few-shot Examples) để mô hình học theo phong cách, quy tắc chuẩn hóa và cấu trúc đầu ra mong muốn một cách ổn định hơn, nhưng không bảo đảm tuyệt đối.
Sức Mạnh Của Kỹ Thuật Few-Shot Trên Structured Prompt
Thay vì cố gắng giải thích bằng lời dài dòng một định dạng dữ liệu phức tạp (Zero-shot), việc đưa ra các cặp mẫu trực tiếp giúp mô hình giảm sự mơ hồ nhưng không loại bỏ hoàn toàn lỗi hoặc thông tin bịa đặt:
| Ví dụ (Input) | Mẫu mong muốn (Output) |
|---|---|
| Giao thức HTTP status 404 | {"code": 404, "status": "Not Found", "category": "Client Error"} |
| Giao thức HTTP status 502 | {"code": 502, "status": "Bad Gateway", "category": "Server Error"} |
| Giao thức HTTP status 200 (Thực tế test) | -> AI tự động sinh chuẩn: {"code": 200, "status": "OK", "category": "Success"} |
Bổ sung kiến thức: Prompt thực hành và đánh giá đầu ra
Một prompt hiệu quả nêu rõ vai trò, nhiệm vụ, ngữ cảnh, dữ liệu đầu vào, ràng buộc và định dạng kết quả. Few-shot là cung cấp ví dụ ngay trong ngữ cảnh, không phải huấn luyện trọng số. Không phải phiên bản giao diện nào cũng còn ba chế độ Chat/Freeform/Structured như hình thức cũ. Hãy dùng ví dụ trong một cuộc hội thoại và kiểm tra kết quả trên bộ dữ liệu thử, gồm cả trường hợp ngoại lệ.
Trắc nghiệm củng cố Bài 3
1. Chế độ "Structured Prompt" trong AI Studio được thiết kế tối ưu nhất cho trường hợp nào?
2. Điểm khác biệt lớn nhất giữa Chat Prompt và Freeform Prompt là gì?
3. Kỹ thuật Zero-Shot Prompting nghĩa là gì?
4. Tại sao Few-Shot lại giúp giảm hiện tượng "ảo giác" (hallucination)?
Bài 4: Tinh Chỉnh Siêu Tham Số (Hyperparameters) & Bộ Lọc Safety
Làm chủ thanh trượt Temperature, Top-P, Top-K, Max Tokens, Stop Sequences và cấu hình ngưỡng lọc an toàn
Tại bảng điều khiển bên phải (Run Settings) của Google AI Studio, bạn có quyền điều chỉnh một số đặc tính của quá trình sinh nội dung và chọn lọc từng token tiếp theo:
Temperature (0.0 đến 2.0)
Độ "ngẫu nhiên" hay tính sáng tạo của mô hình:
- 0.0 - 0.2: Có thể ít đa dạng hơn, nhưng không bảo đảm kết quả tất định. Rất thích hợp cho trích xuất dữ liệu JSON, viết code, giải toán, tra cứu sự thật.
- 0.7 - 1.0: Cân bằng tự nhiên giữa tính logic và sự linh hoạt trong hội thoại.
- 1.2 - 2.0: Độ ngẫu nhiên cao, phù hợp cho viết thơ ca, sáng tạo nội dung tiếp thị, brainstorm ý tưởng mới lạ.
Top-P & Top-K Sampling
Cơ chế lọc bớt các token có xác suất thấp:
- Top-K (ví dụ: 40): Chỉ giữ lại K token có xác suất cao nhất tại mỗi bước dự đoán, loại bỏ hoàn toàn các từ vô nghĩa.
- Top-P (Nucleus Sampling, ví dụ: 0.95): Cộng dồn xác suất từ cao xuống thấp cho đến khi đạt ngưỡng P, giúp mô hình linh hoạt điều chỉnh số lượng ứng viên theo ngữ cảnh.
Max Output Tokens & Stop Sequences
Kiểm soát độ dài và điểm dừng phản hồi:
- Max Output Tokens: Số lượng token tối đa mà AI được phép sinh ra trong một phản hồi (lên tới 8,192 tokens tùy model).
- Stop Sequences: Danh sách chuỗi ký tự (ví dụ:
END,###,\n\n). Ngay khi mô hình dự định sinh ra chuỗi này, phản hồi sẽ dừng ngay lập tức.
Safety Settings (Bộ Lọc An Toàn)
Google AI Studio cho phép tùy chỉnh ngưỡng lọc cho 4 hạng mục nhạy cảm:
- Hate Speech (Phát ngôn thù hận)
- Sexually Explicit (Nội dung khiêu dâm)
- Dangerous Content (Nội dung nguy hiểm)
- Harassment (Quấy rối)
- Có thể điều chỉnh từ "Block None" (cho nghiên cứu, tài khoản trả phí) đến "Block Few / Some / Most".
Bổ sung kiến thức: Thông số sinh và độ tin cậy
Temperature, top-p, top-k, seed, max output tokens và stop sequences có thể thay đổi khả dụng theo model. Temperature bằng 0 không bảo đảm đầu ra giống hệt mọi lần. Tăng context hoặc output token có thể tăng độ trễ và chi phí. Safety settings không thay thế việc kiểm duyệt đầu ra và bảo vệ dữ liệu; cần xử lý từ chối, lỗi 429 và timeout.
Trắc nghiệm củng cố Bài 4
1. Khi cần AI trích xuất thông tin thành chuỗi JSON cố định và không được sáng tạo bịa đặt, bạn nên chỉnh Temperature về mức nào?
2. Vai trò của "Stop Sequences" trong AI Studio là gì?
3. Tham số Top-P (Nucleus Sampling) hoạt động theo nguyên lý nào?
4. Nếu câu trả lời của bạn trong AI Studio bị chặn với thông báo FinishReason: "SAFETY", nguyên nhân là gì?
Bài 5: Khai Thác Đa Phương Thức (Multimodal) & Siêu Ngữ Cảnh 2M Token
Tải lên video dài cả tiếng, audio podcast, toàn bộ mã nguồn repo và tài liệu PDF nghìn trang vào Context Window
Điểm đột phá nhất của Gemini trên AI Studio là khả năng tiếp nhận đa phương thức nguyên bản (Native Multimodal) trong cùng một cửa sổ ngữ cảnh khổng lồ lên tới 2,000,000 tokens.
Tải lên trọn vẹn cuốn sách giáo khoa, báo cáo tài chính hàng trăm trang, hợp đồng pháp lý phức tạp để hỏi đáp đối chiếu tức thì.
Gemini phân tích video lên tới 1 giờ (trích xuất 1 khung hình mỗi giây - 1 fps), nhận diện mốc thời gian (timestamp) chính xác của từng hành động.
Nghe trực tiếp bản thu âm cuộc họp, bài giảng, podcast nhiều thứ tiếng, phân biệt giọng nói các diễn giả và dịch thuật bám sát sắc thái âm vực.
Tải lên hàng chục nghìn dòng code của cả một dự án phần mềm để tìm lỗi bảo mật tiềm ẩn, refactor kiến trúc và tự động sinh test case.
Kỹ Thuật "Needle In A Haystack" (Tìm Kim Đáy Bể)
Các bài kiểm tra học thuật độc lập xác nhận dòng Gemini 1.5 đạt tỷ lệ truy xuất gần như mức cao trong một số thử nghiệm được công bố đối với một thông tin nhỏ bất kỳ được giấu ngẫu nhiên trong một khối văn bản khổng lồ 1 triệu token. Bạn có thể tự kiểm chứng trong AI Studio bằng cách tải lên file dữ liệu khổng lồ và hỏi: "Tại phút thứ 42:15 trong video, nhân vật chính đã cầm vật gì trên tay trái?"
Bổ sung kiến thức: Multimodal và giới hạn tệp
Phân tích PDF, hình, âm thanh, video phụ thuộc loại model, giới hạn dung lượng, thời lượng, token và phương thức tải tệp. Không mặc định mọi video được xử lý ở 1 fps hoặc nhận timestamp chính xác. Với tài liệu dài: chia nguồn, đánh số trang, yêu cầu trích dẫn và kiểm chứng trên văn bản gốc. Không suy ra rằng context window lớn bảo đảm tìm đúng mọi thông tin.
Trắc nghiệm củng cố Bài 5
1. Cách Gemini trong AI Studio xử lý một tệp Video tải lên là gì?
2. Thuật ngữ "Needle In A Haystack" trong đánh giá mô hình LLM đề cập đến khả năng nào?
3. Khi tải toàn bộ repo mã nguồn vào AI Studio, lợi thế lớn nhất so với hệ thống RAG truyền thống là gì?
4. Định dạng tập tin nào sau đây KHÔNG được hỗ trợ tải lên trực tiếp trong giao diện AI Studio?
Bài 6: Thiết Lập System Instructions & Grounding Với Google Search
Định hình tính cách trợ lý, ranh giới phản hồi và kết nối nguồn dữ liệu thời gian thực của Google Search
System Instructions (Chỉ dẫn hệ thống) là khối lệnh ưu tiên cao nhất, được mô hình ghi nhớ xuyên suốt toàn bộ phiên làm việc, có độ ưu tiên cao hơn yêu cầu người dùng nhưng vẫn có thể bị ảnh hưởng bởi prompt injection hoặc giới hạn của mô hình trong quá trình tương tác.
You are a Senior Security Auditor specializing in Python and Cloud Architectures.
Rules:
1. Always analyze submitted code for OWASP Top 10 vulnerabilities.
2. Provide remediations with patched code snippets.
3. If no vulnerability is detected, explicitly confirm that the pattern conforms to best practices.
4. Respond in Vietnamese language, technical terms can remain in English.
Grounding Với Google Search: Cập Nhật Sự Thật Thời Gian Thực
Mô hình ngôn ngữ bị giới hạn bởi điểm mốc cắt tri thức (Knowledge Cutoff). Tuy nhiên, trên Google AI Studio, bạn có thể bật công tắc "Grounding with Google Search":
- Khi người dùng hỏi về các sự kiện hiện hành (tỷ số trận đấu hôm nay, giá cổ phiếu vừa cập nhật, tin tức công nghệ mới công bố sáng nay), Gemini sẽ tự động tạo truy vấn tìm kiếm tới công cụ tìm kiếm của Google.
- Trích xuất các kết quả tìm kiếm uy tín và tổng hợp câu trả lời kèm theo các đường liên kết trích dẫn (Grounding Sources / Citations) có thể nhấp vào để kiểm chứng.
- Loại bỏ hoàn toàn rủi ro bịa đặt thông tin về các sự kiện mới phát sinh.
Bổ sung kiến thức: Grounding và kiểm chứng nguồn
Grounding with Google Search là công cụ truy xuất thông tin, không tự bảo đảm mọi câu trả lời đúng hoặc mới nhất. Khi có metadata nguồn, hãy kiểm tra đường dẫn, thời gian công bố, nội dung thực tế và quyền truy cập. System instructions giúp định hướng hành vi nhưng không phải cơ chế bảo mật; dữ liệu truy xuất hoặc tài liệu đính kèm có thể chứa prompt injection. Không để mô hình tự ý làm theo lệnh trong nguồn ngoài.
Trắc nghiệm củng cố Bài 6
1. Sự khác nhau giữa System Instructions và User Prompt thông thường là gì?
2. Lợi ích căn bản nhất khi bật tính năng "Grounding with Google Search" trong AI Studio là gì?
3. Khi kết quả trả về có Grounding Metadata từ Google Search, nhà phát triển có thể trích xuất thông tin gì qua API?
4. Có nên đưa dữ liệu tài liệu nội bộ tuyệt mật của công ty vào System Prompt trên tài khoản Free Tier không?
Bài 7: Gọi Hàm Hai Chiều - Function Calling & Tool Use
Khai báo công cụ bằng JSON Schema, để Gemini tự động quyết định gọi hàm và nhận kết quả thực thi
Function Calling biến mô hình Gemini từ một cỗ máy sinh văn bản thuần túy trở thành một **Agent hành động thực tế**: có thể tra cứu cơ sở dữ liệu thời gian thực, gửi email, gọi API thời tiết, đặt vé máy bay hoặc điều khiển thiết bị IoT thông minh.
Vòng Lặp 4 Bước Của Function Calling
get_weather(city="Hanoi").
{"temp": "26C", "condition": "Sunny"}.
{
"name": "get_weather",
"description": "Lấy thông tin nhiệt độ và thời tiết hiện tại của một thành phố",
"parameters": {
"type": "OBJECT",
"properties": {
"city": { "type": "STRING", "description": "Tên thành phố, ví dụ: Hanoi, Ho Chi Minh" }
},
"required": ["city"]
}
}
Bổ sung kiến thức: Function calling an toàn
Mô hình thường chỉ đề xuất tên hàm và tham số; ứng dụng phải xác thực schema, phân quyền, thực thi hàm và trả kết quả. Không tự động cấp quyền gửi email, xóa dữ liệu hoặc thanh toán chỉ vì AI yêu cầu. Thiết lập xác nhận người dùng cho hành động nhạy cảm, log kiểm toán, timeout, retry và giới hạn số vòng gọi công cụ. Tên công cụ và định dạng schema phụ thuộc SDK/API.
Trắc nghiệm củng cố Bài 7
1. Gemini có trực tiếp chạy hàm mã nguồn trên máy chủ của bạn không?
2. Chuẩn định dạng nào được sử dụng để định nghĩa công cụ (Tools) trong Gemini API?
3. Chế độ Function Calling Mode: "ANY" nghĩa là gì?
4. Tại sao phần "description" của hàm trong JSON Schema lại có tính quyết định sống còn?
Bài 8: Ép Kiểu Dữ Liệu Với Structured Outputs & JSON Schema
Bảo đảm 100% dữ liệu trả về đúng định dạng JSON, không kèm râu ria văn bản, dễ dàng parse trong ứng dụng
Một trong những thách thức lớn nhất của lập trình AI là mô hình thường tự ý chèn thêm các đoạn mở đầu như: "Dưới đây là mã JSON bạn yêu cầu: ```json ... ```" khiến hàm JSON.parse() hoặc json.loads() của lập trình viên bị vỡ (crash).
Trên Google AI Studio, tính năng Structured Outputs (Response Schema) giúp giảm đáng kể lỗi định dạng bằng cách ép bộ giải mã (constrained decoding) chỉ sinh ra các token thỏa mãn đúng cấu trúc lược đồ JSON Schema hoặc Pydantic class:
Cấu hình JSON Schema trong Studio
{
"type": "array",
"items": {
"type": "object",
"properties": {
"product_name": { "type": "string" },
"price": { "type": "number" },
"in_stock": { "type": "boolean" }
},
"required": ["product_name", "price"]
}
}
Đầu ra theo schema (vẫn cần kiểm tra) (No markdown blocks)
[
{
"product_name": "Google Pixel 9 Pro",
"price": 999.00,
"in_stock": true
},
{
"product_name": "Pixel Watch 3",
"price": 349.99,
"in_stock": true
}
]
- Vẫn cần kiểm tra dữ liệu: Ứng dụng của bạn đọc trực tiếp vào cơ sở dữ liệu hoặc API downstream mà không sợ lỗi cú pháp.
- Xác thực trường bắt buộc: Các trường được liệt kê trong
requiredluôn luôn được tạo đầy đủ. - Kiểu dữ liệu chặt chẽ: Đảm bảo số là
numberthực sự (không phải chuỗi dạng"999"), cờ đúng làboolean.
Bổ sung kiến thức: JSON Schema và kiểm tra dữ liệu
Structured outputs tăng khả năng tuân thủ định dạng, nhưng không bảo đảm giá trị đúng thực tế. Không phải mọi tính năng JSON Schema đều được hỗ trợ ở mọi model. Luôn parse JSON, validate kiểu và miền giá trị, kiểm tra required, null, enum và trường hợp thiếu dữ liệu. Ví dụ giá sản phẩm do AI sinh chỉ là dữ liệu minh họa, không phải báo giá hiện hành.
Trắc nghiệm củng cố Bài 8
1. Lợi thế vượt trội của tính năng Structured Outputs (Response Schema) so với việc chỉ dặn AI bằng lời văn thông thường là gì?
2. Trong Python SDK mới (`google-genai`), bạn có thể dùng thư viện nào để định nghĩa Response Schema thuận tiện nhất?
3. Thiết lập mime-type nào sau đây được sử dụng để kích hoạt chế độ trả về JSON trong Gemini API?
4. Nếu trong schema bạn đặt mảng `required: ["email", "phone"]`, điều gì sẽ xảy ra nếu mô hình không tìm thấy số điện thoại trong văn bản?
Bài 9: Xuất Mã Nguồn (Get Code) & Tích Hợp SDK Đa Ngôn Ngữ
Lưu ý cập nhật: Ví dụ SDK phải được đối chiếu với phiên bản google-genai hiện hành; tránh sao chép ví dụ thư viện cũ google-generativeai.
Chuyển đổi tức thì từ thử nghiệm trên giao diện web sang mã Python (google-genai), Node.js, cURL và REST API
Một tính năng được các kỹ sư yêu thích nhất trên Google AI Studio là nút <> "Get Code" ở góc trên bên phải màn hình. Sau khi tinh chỉnh xong prompt, nhiệt độ, schema và system instructions, nhấp nút này sẽ xuất ngay đoạn mã hoàn chỉnh có thể copy-paste vào dự án của bạn.
1. Tích Hợp Bằng Thư Viện Mới Google GenAI SDK (Python)
from google import genai
import os
# Khởi tạo client đọc trực tiếp từ biến môi trường GEMINI_API_KEY
client = genai.Client(api_key=os.environ.get("GEMINI_API_KEY"))
# Gửi yêu cầu tới mô hình Gemini 2.0 Flash
response = client.models.generate_content(
model="gemini-2.0-flash",
contents="Hãy giải thích cơ chế Long Context Window trong 3 gạch đầu dòng.",
)
print(response.text)
2. Tích Hợp Với Node.js / TypeScript
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI({});
const response = await ai.models.generateContent({
model: 'gemini-2.0-flash',
contents: 'Tạo danh sách 3 bài tập lập trình cơ bản cho học sinh lớp 10.'
});
console.log(response.text);
3. Gọi Trực Tiếp Qua cURL (REST API Thuần)
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Xin chào Gemini API!"}]
}]
}'
Bổ sung kiến thức: Ví dụ SDK và triển khai máy chủ
Ưu tiên tài liệu Google GenAI SDK chính thức để lấy model ID còn hoạt động. Với Python: pip install -U google-genai; đọc khóa từ GEMINI_API_KEY; gọi client.models.generate_content(model=..., contents=...). Với JS/TS dùng @google/genai trên máy chủ. Không nhúng khóa bí mật vào website tĩnh, kể cả mã xuất từ Get Code. Đối với GitHub Pages, tạo backend/Edge Function để gọi Gemini API; thêm xác thực, giới hạn truy cập và giám sát chi phí.
Trắc nghiệm củng cố Bài 9
1. Nút "Get Code" trong Google AI Studio mang lại tiện ích chính là gì?
2. Tên gói thư viện Python chính thức được khuyến nghị cho Gemini API thế hệ mới nhất là gì?
3. Điểm cuối (endpoint) REST API chính thức của Gemini API có tiền tố URL là gì?
4. Khi phát triển ứng dụng di động (Flutter / React Native), bạn nên gọi Gemini API như thế nào để đảm bảo bảo mật?
Bài 10: Tinh Chỉnh Mô Hình (Model Tuning), Quotas & Triển Khai Thực Tế
Lưu ý cập nhật: Không mặc định AI Studio cung cấp chức năng fine-tuning cho mọi mô hình; cần kiểm tra khả năng hỗ trợ theo dịch vụ, phiên bản và tài khoản.
Fine-tuning mô hình riêng trên AI Studio, quản trị giới hạn RPM/TPD, tính toán chi phí và kiến trúc đưa vào sản phẩm
Khi prompt thông thường không còn đủ đáp ứng yêu cầu khắt khe về định dạng hoặc bạn cần dạy mô hình phong cách viết độc quyền từ hàng nghìn ví dụ mẫu, tính năng Model Tuning (Supervised Fine-tuning) tích hợp sẵn trong Google AI Studio là công cụ quyền lực nhất.
1. Chuẩn bị tập dữ liệu
Chuẩn bị từ hàng chục đến hàng nghìn cặp Input/Output dưới định dạng bảng Google Sheets hoặc file JSON Lines (JSONL). Tải trực tiếp lên AI Studio chỉ bằng vài cú nhấp chuột.
2. Huấn luyện tự động
Google sẽ cấp phát tài nguyên TPU/GPU trên đám mây để huấn luyện tinh chỉnh mô hình nền (như Gemini Flash). Tiến trình hiển thị trực quan biểu đồ hàm mất mát (Loss Curve).
3. Triển khai mô hình riêng
Sau khi hoàn tất, bạn nhận được mã định danh mô hình riêng: tunedModels/my-custom-model-id, gọi trực tiếp từ SDK tương tự như mô hình gốc mà không cần thuê GPU riêng duy trì.
Hiểu Rõ Hạn Mức Tần Suất (Rate Limits & Quotas)
| Chỉ số hạn mức | Ý nghĩa kỹ thuật | Cách xử lý tối ưu |
|---|---|---|
| RPM (Requests Per Minute) | Số lượng lượt gọi API tối đa trong 1 phút | Áp dụng thuật toán Exponential Backoff & Retry khi gặp mã lỗi HTTP 429 |
| TPM (Tokens Per Minute) | Tổng số token nạp và xuất tối đa trong 1 phút | Rút gọn văn bản dư thừa, sử dụng Context Caching cho tài liệu lớn đọc nhiều lần |
| RPD (Requests Per Day) | Tổng số lượt gọi tối đa trong 24 giờ của gói Free Tier | Bật liên kết GCP Billing Pay-as-you-go để mở rộng hạn mức theo nhu cầu thực tế |
Công nghệ Context Caching: Tiết kiệm 75% chi phí
Khi bạn tải lên một bộ tài liệu đồ sộ (ví dụ sách luật 500 trang ~ 500,000 tokens) để hàng trăm người dùng cùng hỏi đáp lặp lại, thay vì phải trả phí 500k token cho mỗi lượt hỏi, Context Caching của Gemini cho phép lưu trữ trạng thái token hóa trong bộ nhớ đệm đám mây. Các lượt hỏi tiếp theo chỉ tốn chi phí đọc cache cực rẻ (giảm tới 75% chi phí và độ trễ giảm ngoạn mục).
Bổ sung kiến thức: Tuning, hạn mức và vận hành thực tế
Không mặc định Google AI Studio hiện cung cấp nút fine-tuning cho mọi mô hình. Khả năng supervised tuning phụ thuộc nền tảng, khu vực và model, thường cần kiểm tra Vertex AI và tài liệu chính thức. Trước khi fine-tune hãy thử system instruction, few-shot, RAG và đánh giá tập test. Quota gồm RPM, TPM, RPD và có thể thay đổi theo tier/model. Cần xử lý HTTP 429 bằng exponential backoff có jitter, caching, giám sát usage và chi phí, đặt ngân sách/cảnh báo, thử tải và có phương án dự phòng.
Checklist trước khi đưa ứng dụng vào sử dụng
- Kiểm tra model ID còn hoạt động, input/output modality và giới hạn token trên tài liệu chính thức.
- Chạy bộ test gồm trường hợp bình thường, dữ liệu rỗng, prompt độc hại và phản hồi sai định dạng.
- Giữ API key ở backend/Edge Function; cấu hình xác thực, phân quyền, giới hạn tốc độ và nhật ký lỗi.
- Kiểm soát ngân sách, retry có backoff khi bị rate limit; không gửi dữ liệu cá nhân học sinh nếu chưa đủ điều kiện bảo vệ.
- Đối chiếu Gemini API docs và danh sách mô hình trước khi triển khai.
Trắc nghiệm củng cố Bài 10
1. Mã lỗi HTTP nào được trả về khi hệ thống của bạn gửi request vượt quá giới hạn tần suất (Rate Limit)?
2. Lợi ích lớn nhất của công nghệ "Context Caching" trong Gemini API là gì?
3. Khi nào bạn nên quyết định Fine-tuning (Model Tuning) trên AI Studio?
4. Chiến lược xử lý chuẩn kỹ thuật khi gặp lỗi quá tải tần suất gọi API (HTTP 429) là gì?
Tài liệu được hiệu đính theo nguyên tắc tránh khẳng định tuyệt đối. Kiểm tra thông số và tính năng đang hỗ trợ tại ai.google.dev/gemini-api/docs và aistudio.google.com trước khi thực hành.