.NET AI Template (preview 2) và các .NET AI chat khác

Công nghệ - 29/04/2025 10:25:06

🚀 Microsoft hé lộ .NET AI Template Preview 2 – bước ngoặt giúp lập trình viên .NET tạo Chat AI thông minh tích hợp RAG, vector store, OpenAI & Ollama. Bài viết còn so sánh LangChain .NET & Semantic Kernel đầy hấp dẫn!

Microsoft đã công bố phiên bản preview 2 của .NET AI template (tháng 4/2025), một công cụ hứa hẹn sẽ giúp các nhà phát triển .NET dễ dàng hơn trong việc xây dựng các ứng dụng chat AI.

Trong bài viết này, tôi sẽ giới thiệu .NET AI template và so sánh nó với hai framework .NET khác dành cho phát triển AI: LangChain .NET và Semantic Kernel, dựa trên các tiêu chí như dễ sử dụng, tính năng, cộng đồng, và khả năng tích hợp.


Giới thiệu về .NET AI Template

.NET AI Template là một template mới từ Microsoft, được thiết kế để cung cấp một bộ công cụ sẵn sàng sử dụng để xây dựng các ứng dụng chat AI. Nó nhằm đơn giản hóa quá trình tích hợp các mô hình AI và vector store vào các ứng dụng .NET, đặc biệt phù hợp cho các nhà phát triển muốn nhanh chóng prototype mà không cần phải thiết lập từ đầu. Dựa trên thông tin từ Microsoft .NET Blog:Announcing .NET AI Template Preview, các tính năng chính bao gồm:

  • Hỗ trợ .NET Aspire: Cho phép các khả năng AI nâng cao và các lựa chọn tích hợp vững chắc, giúp tối ưu hóa cho các ứng dụng doanh nghiệp.
  • Tích hợp Qdrant vector database: Bao gồm ví dụ để prototyping và mở rộng các ứng dụng với dữ liệu vector, hỗ trợ tìm kiếm semantic.
  • Cấu hình trong VS Code: Cho phép chọn nhà cung cấp dịch vụ mô hình (như GitHub Models, OpenAI, Azure OpenAI, hoặc mô hình local qua Ollama) và vector store thông qua extension C# Dev Kit.
  • Chat với dữ liệu tùy chỉnh: Hỗ trợ tương tác chat dựa trên dữ liệu tùy chỉnh (như PDF) sử dụng mẫu RAG (Retrieval-Augmented Generation), với mã tùy chỉnh cho theo dõi trích dẫn và gợi ý tiếp theo.
  • Tích hợp local và Azure: Lựa chọn vector store local cho prototyping hoặc Azure AI Search cho các tình huống nâng cao, tăng tính linh hoạt.
  • Data ingestion: Có sẵn mã để xử lý các nguồn dữ liệu đa dạng, caching, và xử lý, giúp tiết kiệm thời gian phát triển.
  • Orchestration với .NET Aspire: Tạo ra một giải pháp .NET Aspire với dự án .AppHost để tích hợp dịch vụ AI và vector store, đảm bảo khả năng mở rộng.
  • Hỗ trợ vector store: Bao gồm Azure AI SearchQdrant, hỗ trợ truy vấn dữ liệu vector hóa hiệu quả.

Template này đang trong giai đoạn preview 2 (tháng 4/2025), vì vậy có thể còn một số hạn chế, nhưng nó được thiết kế để hỗ trợ các nhà phát triển .NET nhanh chóng triển khai ứng dụng chat AI.

Thế mạnh của .NET AI Template

Tôi tổng hợp một số thế mạnh của .NET AI Template

  • Dễ sử dụng và tích hợp: Hỗ trợ .NET Aspire, tích hợp tốt với hệ sinh thái Microsoft, lý tưởng cho prototyping và doanh nghiệp.
  • Hỗ trợ nhiều mô hình AI: Tích hợp GitHub Models, OpenAI, Azure OpenAI, và mô hình local qua Ollama - tăng tính linh hoạt.
  • Tính năng RAG và data ingestion: Sử dụng RAG cho chat với dữ liệu tùy chỉnh, có mã sẵn cho ingestion, caching, và xử lý.
  • Tùy chỉnh linh hoạt: Dễ dàng điều chỉnh cho chat, theo dõi trích dẫn, và gợi ý tiếp theo, phù hợp nhu cầu cụ thể.
  • Tích hợp local và Azure
  • Hậu thuẫn từ Microsoft: Được phát triển bởi Microsoft, với kế hoạch mở rộng (Console, Minimal API, Semantic Kernel).
  • Khả năng mở rộng: Tích hợp với .NET Aspire, hỗ trợ Qdrant và Azure AI Search, phù hợp cho ứng dụng lớn.
  • Tài liệu và hỗ trợ: Có tài liệu chi tiết, với kế hoạch bao gồm trong .NET SDK, đảm bảo hỗ trợ lâu dài.

Hấp dẫn phải không các bạn, tiếp theo, tôi sẽ đi lướt qua những thư viện .NET hiện đang hỗ trợ AI nhé.


LangChain .NET và Semantic Kernel

Ngoài .NET AI template, có hai framework .NET khác nổi bật trong lĩnh vực phát triển AI, đặc biệt là cho các ứng dụng chat: LangChain .NET và Semantic Kernel. Chúng ta cùng phân tích chi tiết về từng framework.

LangChain .NET

LangChain .NET là phiên bản C# của framework LangChain, một công cụ phổ biến để xây dựng các ứng dụng dựa trên các mô hình ngôn ngữ lớn (LLMs). Dựa trên tài liệu từ LangChain .NET Documentation, nó mang lại sự linh hoạt và khả năng ghép nối (composability) cho các nhà phát triển .NET.

Các tính năng chính bao gồm:

  • Thực thi và phát triển: Triển khai trên C#, cố gắng gần với các abstraction gốc của LangChain, nhưng mở rộng cho các thực thể mới.
  • Dependencies: LangChain, LangChain.Databases.Sqlite, LangChain.DocumentLoaders.Pdf
  • Mô hình hỗ trợ: OpenAiLatestFastChatModel, TextEmbeddingV3SmallModel (kích thước embedding: 1536)
  • Vector Database: SqLiteVectorDatabase, hỗ trợ nhiều collections
  • Chia nhỏ văn bản: Default CharacterTextSplitter (ChunkSize = 4000, ChunkOverlap = 200)
  • Chains: Hỗ trợ Set, RetrieveSimilarDocuments, CombineDocuments, Template, LLM
  • Ví dụ mẫu: tham khảo tại LangChain .NET Documentation. ./examples, và src/tests/LangChain.IntegrationTests/ReadmeTests.cs
  • Chat project: LangChainChat - dự án Blazor sử dụng LangChain.Serve, tại GitHub LangChainChat

LangChain .NET cung cấp một cách tiếp cận modular, cho phép các nhà phát triển xây dựng các chuỗi tùy chỉnh và tích hợp, rất hữu ích cho các ứng dụng AI phức tạp hoặc cần tùy chỉnh cao. Nó có cộng đồng hoạt động, với hỗ trợ trên Discord và GitHub, giúp dễ dàng tìm kiếm tài liệu và đóng góp từ cộng đồng.

Semantic Kernel

Semantic Kernel là một framework khác từ Microsoft, được thiết kế để giúp các nhà phát triển xây dựng các AI agents và tích hợp các mô hình AI vào các ứng dụng của họ. Nó hỗ trợ nhiều ngôn ngữ lập trình, bao gồm C#, và được sử dụng bởi các công ty lớn như Microsoft và các doanh nghiệp Fortune 500. Dựa trên tài liệu từ Semantic Kernel Overview, các tính năng chính dành cho .NET bao gồm:

  • Sẵn sàng doanh nghiệp: Linh hoạt, modular, và dễ quan sát; có các tính năng bảo mật như telemetry support, hooks, và filters; hỗ trợ version 1.0+ cho C#, Python, và Java; hỗ trợ các modality như chat, voice, và video.
  • Thiết kế future-proof: Dễ dàng kết nối với các mô hình AI mới nhất và cho phép thay đổi mô hình mà không cần viết lại codebase, đảm bảo tính bền vững lâu dài.
  • Tự động hóa quy trình kinh doanh: Kết hợp prompts với các API hiện có, cho phép các mô hình AI gọi các hàm, tăng hiệu quả cho các quy trình doanh nghiệp, xem thêm tại Semantic Kernel Concepts.
  • Modular và extensible: Tích hợp các dịch vụ AI thông qua các connector sẵn có; hỗ trợ OpenAPI specifications (ví dụ: Microsoft 365 Copilot); cho phép chia sẻ các extension với các nhà phát triển pro hoặc low-code, tăng khả năng mở rộng.

Semantic Kernel là một framework tổng quát hơn, phù hợp để xây dựng nhiều loại ứng dụng AI, không chỉ giới hạn ở chat. Nó đặc biệt hữu ích cho các doanh nghiệp muốn tích hợp AI vào các hệ thống hiện có, với khả năng mở rộng và tích hợp mạnh mẽ.


So sánh ngắn giữa các thư viện và template

  • Độ dễ sử dụng: .NET AI template nổi bật với tính dễ dùng, đặc biệt cho các nhà phát triển muốn nhanh chóng triển khai ứng dụng chat AI. LangChain .NET yêu cầu hiểu biết về cách xây dựng chains, trong khi Semantic Kernel có thể phức tạp hơn do tính tổng quát.
  • Tính năng: .NET AI template tập trung vào chat với các tính năng như RAG và data ingestion, trong khi LangChain .NET cung cấp linh hoạt cho các ứng dụng LLM, và Semantic Kernel mạnh mẽ cho các AI agents với plugins và memory.
  • Cộng đồng và hỗ trợ: LangChain .NET có cộng đồng hoạt động, với hỗ trợ qua Discord và GitHub, trong khi .NET AI template mới nên còn hạn chế, nhưng được Microsoft hỗ trợ. Semantic Kernel, lâu đời hơn, có nhiều tài liệu và tài nguyên.
  • Tích hợp: .NET AI template tích hợp tốt với .NET Aspire, phù hợp với hệ sinh thái Microsoft. LangChain .NET có thể tích hợp bên thứ ba, nhưng không mạnh bằng Semantic Kernel, vốn hỗ trợ OpenAPI và nhiều hệ thống.
  • Hiệu suất và mở rộng: Thông tin chi tiết về hiệu suất chưa đầy đủ, nhưng .NET AI template có thể tối ưu cho chat, trong khi LangChain .NET và Semantic Kernel phụ thuộc vào setup và có tiềm năng mở rộng cho doanh nghiệp.

Kết luận

.NET AI Template là một công cụ dễ dùng cho prototyping mà còn cung cấp các tính năng tiên tiến như RAG, data ingestion, và tích hợp với nhiều mô hình AI, phù hợp cho cả dự án nhỏ và doanh nghiệp lớn. Với sự hậu thuẫn từ Microsoft và kế hoạch phát triển trong tương lai, nó hứa hẹn sẽ trở thành một phần quan trọng trong hệ sinh thái .NET.

Tôi khuyến khích các nhà phát triển khám phá template này, đặc biệt qua hướng dẫn tại Microsoft Learn: Quickstart - Create a .NET AI app using the AI app template.

Ngoài ra, các bạn còn ý tưởng và phương án kết nối với các dịch vụ AI, với dữ liệu RAG của tổ chức nào khác không, hãy cùng tôi đóng góp tưởng và trải nghiệm để cộng đồng có một cách nhìn tổng quan hơn về .NET về phương án triển khai các bạn nhé.

Happy coding :)

Nguồn tham khảo

/Son Do - I share real-world lessons, team building & developer growth.

 

#DotNet #AIAuto #NETAITemplate #ChatAI #MicrosoftAI #LangChainDotNet #SemanticKernel #RAG #AIDevelopment #Aspire #VectorDatabase #Prototyping #TechBlog #SoftwareDevelopment #AIFrameworks

Công nghệ - 19/08/2025 21:13:07

Tìm hiểu cách xây dựng hệ thống phát hiện ngôn ngữ ký hiệu theo thời gian thực bằng AI, sử dụng DETR để tăng cường khả năng tiếp cận và đổi mới. Kết nối lời nói và cử chỉ.

Công nghệ - 18/08/2025 13:38:25

Tối ưu hóa các hệ thống RAG bằng cách tận dụng siêu dữ liệu để truy xuất thông tin chính xác và nhanh chóng hơn, giải quyết các thách thức về dữ liệu dư thừa hoặc lỗi thời với công cụ LangExtract nguồn mở. Khám phá cách LangExtract sử dụng các mô hình ngôn ngữ tiên tiến để trích xuất và cấu trúc siêu dữ liệu, tạo ra một quy trình truy xuất hợp lý và hiệu quả.

Công nghệ - 01/08/2025 07:00:00

Gỡ lỗi LLM rất quan trọng vì quy trình làm việc của chúng phức tạp và liên quan đến nhiều phần như chuỗi, lời nhắc, API, công cụ, trình truy xuất, v.v.

Công nghệ - 19/06/2025 03:05:09

Code xong chạy được là chưa đủ – phải biết khi nào nó "chết" nữa chứ 😅

Bạn đang triển khai ứng dụng trên Kubernetes, Docker hay môi trường production nào? Và bạn từng "toát mồ hôi" vì service chết mà không ai báo?

Công nghệ - 16/07/2025 13:41:17

Bạn có bao giờ tự hỏi tại sao trang web của mình tải chậm, đặc biệt là trên các thiết bị di động? Rất có thể, thủ phạm chính là những hình ảnh chưa được tối ưu. May mắn thay, có một công cụ miễn phí và cực kỳ hữu ích có thể giúp bạn giải quyết vấn đề này: Responsive Image Linter – một tiện ích mở rộng trên Chrome. Video này sẽ giới thiệu chi tiết về công cụ này, giúp bạn xác định và tối ưu hóa các hình ảnh gây tốn hiệu năng trên trang web của mình.

Công nghệ - 27/06/2025 03:15:44

⏳ Chậm 3 giây – Mất 50% người dùng. Đó không còn là lý thuyết, đó là thực tế.

Công nghệ - 11/12/2025 15:05:29

[Góc chuyện nghề] bán account game để đi học nghệ - bạn dám không?

Làm nghề 20 năm, gặp nhiều sinh viên, nhưng chiều qua tôi khá bất ngờ với một cậu em tên Quang. Em Quang muốn theo nghề BA và mong muốn lương 20 triệu sau khi làm việc 1.5 năm tới 2 năm trong nghề.

Công nghệ - 22/09/2025 08:59:20

Dừng ngay việc dùng DateTime.Now trong APIs, đó là ổ lỗi tiềm ẩn trong hệ thống của bạn

⏱️ Tôi từng nghĩ DateTime.Now là một thứ vô hại, đơn giản và tiện lợi, cho đến khi gặp những vấn đề về múi giờ. Những lỗi "tưởng chừng nhỏ" này lại chính là nguồn cơn của sự thất vọng và tốn kém thời gian cho nhiều đội ngũ phát triển.

Công nghệ - 14/03/2025 04:30:32

💡Bạn muốn tăng tốc tìm kiếm toàn văn nhưng hạ tầng hạn chế? Lucene có thể là giải pháp bất ngờ! Bài viết tiết lộ cách nó vượt trội hơn SQL Server, tối ưu truy vấn và những ứng dụng thực tế đáng khám phá.