Generative AI với Large Language Models trong C# năm 2026

Generative AI đã trở thành công nghệ tiêu dùng tăng trưởng nhanh nhất trong lịch sử, vượt qua cả Instagram và TikTok khi đạt 100 triệu người dùng chỉ trong chưa đầy hai tháng. Vào cuối năm 2022, OpenAI đã phát hành bản xem trước miễn phí của GPT-3.5, được cung cấp dưới dạng một ứng dụng chat hội thoại: ChatGPT. Mô hình này được tinh chỉnh bằng kỹ thuật Học Tăng cường từ Phản hồi của Con người (Reinforcement Learning from Human Feedback – RLHF), đánh dấu thời điểm generative AI chạm tới nhận thức của đại chúng. Đầu năm 2023, Microsoft đã phản hồi bằng cách ra mắt Azure OpenAI Service, cho phép các nhà phát triển cung cấp và sử dụng các mô hình tương thích OpenAI một cách an toàn phía sau các endpoint do Azure quản lý.

Ngay sau đó, Microsoft đã giới thiệu:

  • Semantic Kernel (SK) → bộ công cụ để điều phối prompt, bộ nhớ (memories) và plugin bằng C# hoặc Python
  • Microsoft Extensions for AI (MEAI) → các lớp trừu tượng hóa thống nhất để tương tác với mô hình (ví dụ: IChatClient)
  • Microsoft Extensions for Vector Data → giao diện chuẩn cho các vector database được dùng trong hệ thống RAG

Bài viết này lùi lại một bước khỏi nhịp độ đổi mới AI chóng mặt và tập trung vào các khái niệm cốt lõi, tạo nền tảng cho các nhà phát triển .NET/C# khi làm việc với Microsoft Foundry, GitHub Models, AI Extensions và các runtime cục bộ như Ollama.

Hiểu các thuật ngữ AI

AI có một hệ thống thuật ngữ riêng biệt với những ý nghĩa rất cụ thể.

Trí tuệ nhân tạo (AI)

AI bao gồm các kỹ thuật cho phép máy tính thực hiện những tác vụ thường đòi hỏi trí tuệ con người — lập luận, ngôn ngữ, lập kế hoạch hoặc nhận thức. AI không phải là điều mới mẻ, nhưng ngày nay hầu hết mọi người dùng từ “AI” để chỉ generative AI.

Generative AI (GenAI)

Generative AI chỉ các hệ thống AI có khả năng tạo ra văn bản, hình ảnh, âm thanh hoặc các nội dung khác.

Ví dụ: GPT là viết tắt của Generative Pre-trained Transformer. Phân tích chi tiết, ta có:

  • Generative → nó tạo ra nội dung;
  • Pre-trained → được huấn luyện trên các tập dữ liệu khổng lồ;
  • Transformer → kiến trúc mạng nơ-ron cho phép mô hình hóa ngôn ngữ chất lượng cao

Large Language Models (LLMs)

LLM được huấn luyện trên hàng tỷ token và có thể tạo ra văn bản, hình ảnh, mã nguồn hoặc các bước suy luận. Khả năng hoạt động đa ngôn ngữ của chúng đến từ việc học các mối quan hệ giữa các từ — chứ không phải là phép dịch từ điển một-một đơn giản.

Tại sao dịch thuật lại khó

Các từ có nhiều nghĩa:

  • vượt chiếc xe
  • đèo núi
  • bỏ lỡ cơ hội
  • thẻ vào công viên để trên taplo

Phần mềm truyền thống gặp khó khăn với sự mơ hồ như vậy; LLM lại vượt trội vì chúng hoạt động trong không gian ngữ nghĩa.

Token và embeddings

Các mô hình không đọc trực tiếp văn bản. Chúng chia văn bản thành các token:

  • Từ nguyên vẹn
  • Mảnh từ
  • Ký tự

Những token này được chuyển đổi thành vector số, gọi là embedding — biểu diễn toán học của ý nghĩa.

Ví dụ về các cụm từ:

  • “the actor was a star” (nam diễn viên là một ngôi sao)
  • “they loved the stars” (họ yêu những vì sao)

Từ star xuất hiện trong cả hai câu, nhưng với ý nghĩa khác nhau.

Embedding nắm bắt được sự khác biệt này.

Đây là cách trực quan hóa đơn giản cho khái niệm này. Trong đồ thị, ý nghĩa ngữ nghĩa của từ “star” có thể được chấm điểm dựa trên khoảng cách của nó với khái niệm “thiên thể” (ngôi sao trên bầu trời đêm) và khái niệm “diễn viên” (ngôi sao của chương trình).

Bây giờ hãy tưởng tượng hàng tỷ điểm như vậy. Các mô hình tạo ra văn bản bằng cách di chuyển trong không gian này và dự đoán vector có khả năng xuất hiện tiếp theo.

Ví dụ về khoảng cách ngữ nghĩa:

  • school ↔ schol (khoảng cách gần → sửa lỗi chính tả)
  • cat ↔ dog (khoảng cách gần → động vật tương tự)
  • cat ↔ laptop (rất xa nhau)

Tìm kiếm ngữ nghĩa sử dụng khoảng cách trong không gian embedding, chứ không phải so khớp chuỗi.

Parameters: kích thước mô hình

LLM thường được mô tả theo số lượng tham số: 7B, 14B, 70B, 123B, v.v.

Tham số là các trọng số đã được huấn luyện.

Nhiều tham số hơn → suy luận sâu hơn, kiến thức phong phú hơn, sắc thái tốt hơn.

  • GPT-1 (2018) → 117 triệu tham số
  • Các mô hình tiên phong hiện đại → 100B–400B+ tham số

Prompt, chỉ dẫn hệ thống và công cụ

Các phần trước đã đề cập đến thông tin về mô hình. Các thuật ngữ trong phần này liên quan trực tiếp đến đầu vào và đầu ra của mô hình.

Prompts

Đầu vào của người dùng cho mô hình. “Cách tốt nhất để gọt vỏ xoài là gì.”

Chỉ dẫn hệ thống (System Instructions)

“Bản thiết kế” ẩn định hướng hành vi của mô hình. “Bạn là một người gọt xoài và được coi là chuyên gia trong lĩnh vực của mình.”

Công cụ / Hàm (Tools / Functions)

LLM được huấn luyện trên dữ liệu lịch sử. Các công cụ cho phép chúng truy cập thông tin hiện tại hoặc có thẩm quyền, ví dụ:

  • API thời tiết
  • Truy vấn cơ sở dữ liệu
  • Công cụ tìm kiếm
  • Chỉ mục tri thức doanh nghiệp

Mô hình này được gọi là Retrieval-Augmented Generation (RAG). Hãy xem xét hai tình huống. Đầu tiên, hãy tưởng tượng một agent kiểu lễ tân (concierge) được cung cấp API cho các nhà hàng địa phương và API thời tiết. Người dùng nhập prompt:

Can you book me a dinner this week at a restaurant with outdoor seating?

LLM trước tiên gọi API thời tiết để xác định buổi tối nào có khả năng khô ráo và ấm hơn, sau đó gọi API nhà hàng để tìm những nhà hàng đang mở và còn chỗ. Cuối cùng, nó trả về danh sách gợi ý chính xác trúng nhu cầu.

Tiếp theo, hãy tưởng tượng một agent chăm sóc khách hàng cho một cửa hàng bán lẻ có toàn bộ thông tin sản phẩm được tải lên. Người dùng gõ:

"What kind of batteries does the traveling wonder cube take?"

LLM có thể trích xuất tên sản phẩm, “traveling wonder cube”. Nó vector hóa văn bản của truy vấn, sau đó gọi API sản phẩm với tên sản phẩm và các vector. Tìm kiếm ngữ nghĩa được kích hoạt bằng cách dùng một hàm để tìm các điểm trong tài liệu sản phẩm gần nhất về mặt ngữ nghĩa với truy vấn. Điều này sẽ trả về kết quả liên quan về loại pin cần thiết nếu phần đó tồn tại.

Model Context Protocol (MCP)

Model Context Protocol, hay gọi tắt là MCP, là một bộ tiêu chuẩn cho khả năng tương tác giữa các agent và công cụ. Nó giúp các mô hình dễ dàng hiểu có những công cụ nào và cách gọi chúng. Điều này cho phép bạn xây dựng các hộp công cụ ảo mà bất kỳ mô hình hoặc agent nào của bạn cũng có thể gọi.

Còn agent thì sao?

Khoan, tôi vừa nói agent à? Một agent đơn giản là một cách cung cấp giải pháp chuyên biệt bao gồm một mô hình, các công cụ và ngữ cảnh. Một “concierge agent” có thể bao gồm một mô hình suy luận với các công cụ cung cấp thông tin về thời tiết, sự kiện và doanh nghiệp địa phương, kết hợp với một mô hình chuyên biệt có khả năng tạo bản đồ kèm chỉ dẫn theo từng bước rẽ. Tôi sẽ xem xét kỹ hơn về agent và trình bày các giải pháp dựa trên C# trong một bài viết sau.

Tôi đã trình bày xong tất cả các khái niệm nền tảng, vì vậy bây giờ là lúc thực hành. Đầu tiên, tôi muốn chia sẻ ngắn gọn về mốc thời gian giữa lúc generative AI trở thành xu hướng chính thống và các công cụ hiện có ngày nay.

Từ GPT-1 đến nay

Dưới đây là cái nhìn ngắn gọn về sự tiến hóa của AI trong hệ sinh thái .NET trong vài năm qua.

Quản lý mô hình trong hệ sinh thái .NET

Làm việc với mô hình không chỉ là xác định đúng mô hình và sử dụng nó. Nhiều công ty chọn tự lưu trữ mô hình của riêng họ vì những lo ngại liên quan đến độ tin cậy, bảo mật và chi phí. Các công ty khác yêu cầu mô hình được tinh chỉnh (fine-tuned) và khả năng tự thực hiện việc huấn luyện. May mắn thay, làm việc với mô hình trong .NET và C# không chỉ khả thi mà còn được tinh gọn nhờ một số sản phẩm và dịch vụ.

GitHub Models

GitHub Models cung cấp một danh mục lưu trữ các mô hình mở và tiên phong thông qua API tương thích OpenAI. Đây là cách tuyệt vời để các nhà phát triển bắt đầu hành trình AI của mình. Một vài lý do bao gồm:

  • Không cần hạ tầng
  • Chuyển đổi giữa các mô hình chỉ với thay đổi mã tối thiểu
  • Hoàn hảo cho việc tạo nguyên mẫu, đánh giá, tự động hóa, mở rộng và pipeline CI/CD

Bắt đầu với GitHub Models tại: https://github.com/features/models

Microsoft Foundry (Cloud)

Trước đây là Azure AI Studio, Microsoft Foundry là nền tảng doanh nghiệp cho:

  • Danh mục mô hình (OpenAI, Meta, DeepSeek, Cohere, Mistral, v.v.)
  • Quy trình làm việc agentic (Foundry Agent Service)
  • Bảo mật, an toàn nội dung, quản trị
  • Giám sát, truy vết, đánh giá
  • Tinh chỉnh và tùy biến

Foundry là nơi các tổ chức đưa AI vào sản xuất ở quy mô lớn.

Khám phá Microsoft Foundry tại: https://ai.azure.com/

Foundry Local

Foundry Local mang trải nghiệm phát triển của Foundry về chế độ ngoại tuyến:

  • Môi trường tại chỗ (on-premise), cách ly mạng (air-gapped) hoặc biên (edge)
  • Cùng các agent, công cụ, đánh giá như Foundry đám mây
  • Hỗ trợ vòng đời lai “phát triển cục bộ → triển khai lên đám mây”

Đây là lựa chọn tuyệt vời để thử nghiệm các mô hình mới, kiểm thử mã mới mà không đốt hết ngân sách, và xây dựng pipeline CI/CD với chi phí tối thiểu mà không cần tài khoản lưu trữ bên thứ ba để thành công.

Ollama (Local Runtime)

Ollama là một công cụ mã nguồn mở phổ biến để chạy các mô hình nhẹ và trung bình tại chỗ.

Tính năng:

  • Chạy các mô hình như Mistral, Llama 3, Phi-3
  • CLI và máy chủ đơn giản
  • Xuất sắc cho các quy trình làm việc nhạy cảm về quyền riêng tư
  • Tích hợp mượt mà với MEAI (IChatClient) thông qua OllamaSharp

Tổng hợp tất cả: Một lớp trừu tượng hóa thống nhất

Là một nhà phát triển .NET, bạn không nên phải chọn một nhà cung cấp duy nhất hay bị khóa vào một giải pháp duy nhất. Đó là lý do đội ngũ .NET đầu tư vào một bộ extension cung cấp các API nhất quán để làm việc với mô hình — vừa phổ quát vừa linh hoạt. Nó cũng hỗ trợ các tình huống như middleware để giảm bớt gánh nặng ghi log, truy vết, tiêm các hành vi và các quy trình tùy chỉnh khác mà bạn có thể dùng. Hầu hết các nhà cung cấp lớn đều triển khai các hợp đồng extension của chúng tôi, để bạn chẳng hạn có thể dùng một instance IChatClient bất kể bạn đang kết nối với:

  • GitHub Models
  • Azure AI Foundry
  • Open AI / Azure Open AI
  • Foundry Local
  • Ollama
  • Nhà cung cấp tùy chỉnh

… và mã nguồn vẫn có thể giữ nguyên.

Chúng ta sẽ đi sâu hơn vào các công cụ này trong các bài viết sắp tới, vì vậy hãy theo dõi blog .NET, đăng ký bản tin của chúng tôi, và tham gia buổi community standup sắp tới trên kênh YouTube .NET!