Chuyển đến nội dung chính

Google AI Studio: Tích hợp với C#

Google AI Studio là gì?

Google AI Studio là nền tảng giúp lập trình viên khám phá và sử dụng các mô hình AI mạnh mẽ như Gemini thông qua API. Bạn có thể sử dụng AI để xử lý văn bản, hình ảnh và nhiều tác vụ khác.

Các Mô Hình Hỗ Trợ Trong Google AI Studio

Dưới đây là danh sách các model hiện có của Google AI Studio:
  • models/gemini-1.0-pro-vision-latest
  • models/gemini-pro-vision
  • models/gemini-1.5-pro-001
  • models/gemini-2.0-flash
  • ...

Lưu ý: Danh sách mô hình có thể thay đổi theo thời gian, hãy kiểm tra trang chính thức của Google AI Studio để có thông tin cập nhật nhất.

Bạn có thể kiểm tra danh sách model hiện có bằng cách gọi API:
https://generativelanguage.googleapis.com/v1/models?key=<your-key>

Dưới đây là 1 số model có sẵn

  • models/gemini-1.0-pro-vision-latest
  • models/gemini-pro-vision
  • models/gemini-2.0-flash
  • ...

Hướng Dẫn Lấy API Key từ Google AI Studio

Truy cập Google AI Studio: https://aistudio.google.com

Đăng nhập vào tài khoản Google của bạn.

Chọn API Keys và bấm Create API key


Sao chép API Key để sử dụng trong ứng dụng C# của bạn.

Ví dụ sử dụng DotnetGeminiSDK

DotnetGeminiSDK là gì?

DotnetGeminiSDK là một thư viện dành cho .NET giúp các lập trình viên dễ dàng tích hợp Google Gemini API vào ứng dụng C# của mình. Thư viện này đóng gói các phương thức gọi API và cung cấp một giao diện trực quan hơn để làm việc với AI.

Bạn có thể sử dụng DotnetGeminiSDK để giao tiếp với Google AI Studio.

Ngoài ra, nếu bạn không thích sử dụng thư viện, có thể dùng REST API để gọi API của Gemini

Github: https://github.com/gsilvamartin/dotnet-gemini-sdk

Cài đặt SDK bằng lệnh sau:

dotnet add package DotnetGeminiSDK
Hoặc
Install-Package DotnetGeminiSDK

Dưới đây là một ứng dụng console đơn giản để gửi câu hỏi đến Gemini API và nhận phản hồi.

using DotnetGeminiSDK.Client;
using DotnetGeminiSDK.Config;

string apiKey = "your-api-key";

Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("🚀 Chat with Google Gemini (input 'exit' to exit)\n");
Console.ResetColor();
var gemini = new GeminiClient(new GoogleGeminiConfig()
{
    ApiKey = apiKey,
    TextBaseUrl = "https://generativelanguage.googleapis.com/v1/models/gemini-2.0-flash"
});

while (true)
{
    Console.ForegroundColor = ConsoleColor.Green;
    Console.Write("You: ");
    Console.ResetColor();

    string userInput = Console.ReadLine();
    if (userInput.ToLower() == "exit") break;

    string response = await GetGeminiResponse(gemini, userInput);

    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.WriteLine("AI: " + response);
    Console.ResetColor();
}
async Task<string> GetGeminiResponse(GeminiClient gemini, string prompt)
{
    var result = await gemini.TextPrompt(prompt);
    return result.Candidates[0].Content.Parts[0].Text ?? "No response from AI.";
}
Chạy thử API
Hello, World!
?? Chat with Google Gemini (input 'exit' to exit)

You: Giới thiệu về tác phẩm Đông Châu liệt quốc, response trả về là tiếng Việt không dấu
AI: Dong Chau liet quoc la mot tieu thuyet lich su Trung Quoc duoc viet vao cuoi doi Nguyen Dau, dau doi Minh. Tac gia duoc cho la Phung Mong Long.

**Noi dung chinh:**

Tac pham nay ke ve giai doan lich su hon loan cua Trung Quoc tu cuoi thoi Tay Chu den het thoi Chien Quoc, keo dai hon 500 nam (khoang tu the ky VIII den the ky III TCN).  Dong Chau liet quoc tap trung mo ta su hung vong cua cac nuoc chu h?u thuoc nha Chu suy yeu, nhung cuoc tranh ba quyet liet, nhung am muu chinh tri, nhung tran chien khoc liet, va su xuat hien cua nhung nhan vat lich su noi tieng.

**Dac diem noi bat:**

*   **Lich su song dong:** Tac pham tai hien mot cach chi tiet va sinh dong giai doan lich su day bien dong cua Trung Quoc co dai.
*   **Nhan vat da dang:** Dong Chau liet quoc co mot so luong lon cac nhan vat, moi nguoi co tinh cach va so phan rieng biet.
*   **Cot truyen hap dan:** Nhieu tinh tiet kich tinh, nhung tran chien dac sac, nhung am muu xao quyet duoc dan xen khien nguoi doc khong the roi mat.
*   **Gia tri van hoa:** Tac pham phan anh nhieu khia canh cua van hoa, phong tuc, dao duc va triet hoc cua thoi ky do.

**Anh huong:**

Dong Chau liet quoc co anh huong sau sac den van hoc va van hoa Trung Quoc, cung nhu duoc dich va don nhan o nhieu quoc gia khac. Tac pham duoc xem la mot trong tu dai tieu thuyet lich su kinh dien cua Trung Quoc.

**Luu y:**

Do la mot tac pham lich su, Dong Chau liet quoc co nhung chi tiet duoc the hien theo quan diem va tu tuong cua thoi dai, vi vay khi doc can co su xem xet va phan tich can than.

Tham khảo

https://ai.google.dev/gemini-api/docs/api-key#windows

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.