16 dự án mã nguồn mở đang làm biến đổi AI và máy học

**16 dự án mã nguồn mở đang làm biến đổi AI và máy học**

Điểm nổi bật

Từ việc tinh chỉnh các mô hình mã nguồn mở đến xây dựng các framework AI tác tử (agentic) trên nền tảng đó, thế giới mã nguồn mở đang tràn ngập các dự án hỗ trợ phát triển AI.

Hình ảnh AI Tác tử

Trong vài thập kỷ qua, phần mềm sáng tạo nhất luôn xuất hiện từ thế giới mã nguồn mở. Điều này cũng không ngoại lệ với máy học và các mô hình ngôn ngữ lớn (LLM). Thậm chí, hệ sinh thái này còn trở nên phong phú và phức tạp hơn, bởi giờ đây chúng ta có cả những mô hình mã nguồn mở, bổ sung vào kho công cụ và framework mã nguồn mở vốn có.

Trong bài viết này, chúng tôi tổng hợp một số dự án thú vị và hữu ích nhất cho AI và máy học. Nhiều dự án trong số này là nền tảng, nuôi dưỡng một hệ sinh thái riêng gồm các plugin và tiện ích mở rộng. Một khi bạn đã bắt đầu với dự án cơ bản, bạn có thể dễ dàng bổ sung thêm nhiều tính năng khác.

Hầu hết các dự án này đều cung cấp mã nguồn minh họa, vì vậy bạn có thể khởi chạy ngay một phiên bản đã có sẵn khả năng xử lý một tác vụ cơ bản. Ngoài ra, các công ty xây dựng và duy trì các dự án này thường cung cấp kèm dịch vụ. Trong một số trường hợp, họ sẽ triển khai mã nguồn cho bạn và giúp bạn tránh khỏi những rắc rối khi vận hành. Trong các trường hợp khác, họ sẽ bán các tiện ích bổ sung và dịch vụ tùy chỉnh. Bản thân mã nguồn vẫn là mở, vì vậy không có sự ràng buộc nhà cung cấp. Các dịch vụ chỉ đơn giản giúp việc áp dụng mã nguồn dễ dàng hơn bằng cách trả tiền cho ai đó để được hỗ trợ.

Dưới đây là 16 dự án mã nguồn mở mà các nhà phát triển có thể sử dụng để khai phá tiềm năng của máy học và các mô hình ngôn ngữ lớn ở mọi quy mô — từ nhỏ, lớn, đến thậm chí cực lớn.

Agent Skills

Các tác tử AI lập trình thường được sử dụng để giải quyết các tác vụ tiêu chuẩn như viết các thành phần React hoặc xem xét mã nguồn. Nếu bạn đang xây dựng một tác tử lập trình, việc sử dụng các giải pháp đã được kiểm định và tập trung vào tác vụ cụ thể là điều hợp lý. Agent Skills là các công cụ được mã hóa sẵn mà AI của bạn có thể triển khai khi cần. Kết quả là một tập hợp các thao tác đã được kiểm định, có khả năng tạo ra mã nguồn tinh tế, hữu ích và tuân thủ các nguyên tắc tiêu chuẩn. Giấy phép: MIT.

Awesome LLM Apps

Nếu bạn đang tìm kiếm những ví dụ hay về lập trình AI tác tử, hãy xem bộ sưu tập Awesome LLM Apps. Hiện tại, dự án lưu trữ hàng chục ứng dụng khai thác sự kết hợp nào đó giữa cơ sở dữ liệu RAG và LLM. Một số đơn giản, như trình tạo meme, trong khi những ứng dụng khác xử lý nghiên cứu sâu hơn như tác tử Nhà báo. Các ví dụ phức tạp nhất triển khai các nhóm đa tác tử để cùng nhau tìm ra câu trả lời. Mỗi ứng dụng đều đi kèm các ví dụ hoạt động để thử nghiệm, vì vậy bạn có thể học hỏi từ những thành công trong quá khứ. Nhìn chung, các ứng dụng trong bộ sưu tập này là nguồn cảm hứng tuyệt vời cho các dự án của riêng bạn. Giấy phép: Apache 2.0.

Bifrost

Nếu ứng dụng của bạn yêu cầu truy cập vào một dịch vụ LLM và bạn chưa chọn được nhà cung cấp cụ thể nào, hãy thử Bifrost. Là một cổng kết hợp thống nhất và nhanh chóng tới hơn 15 nhà cung cấp LLM, API tương thích OpenAI này nhanh chóng loại bỏ sự khác biệt giữa các mô hình, bao gồm tất cả các mô hình chính. Nó bao gồm các tính năng thiết yếu như quản trị, bộ nhớ đệm, quản lý ngân sách, cân bằng tải và có các rào chắn để phát hiện sự cố trước khi chúng được gửi đến các nhà cung cấp dịch vụ, những người sẽ chỉ tính phí bạn cho thời gian sử dụng. Với hàng chục nhà cung cấp LLM tuyệt vời liên tục công bố các mô hình mới và tốt hơn, tại sao lại giới hạn bản thân? Giấy phép: Apache 2.0.

Claude Code

Nếu sự phổ biến của các trợ lý lập trình AI cho chúng ta biết điều gì, đó là tất cả các nhà phát triển — không chỉ những người xây dựng ứng dụng AI — đều đánh giá cao một chút trợ giúp trong việc viết và xem xét mã nguồn của họ. Claude Code chính là người đồng hành lập trình đó. Được đào tạo trên tất cả các ngôn ngữ lập trình chính, Claude Code có thể giúp bạn viết mã tốt hơn, nhanh hơn và sạch hơn. Nó phân tích một cơ sở mã và sau đó bắt đầu thực hiện yêu cầu của bạn, đồng thời đưa ra những gợi ý hữu ích. Các lệnh bằng ngôn ngữ tự nhiên cộng với một chút hướng dẫn chung chung là tất cả những gì LLM của Anthropic cần để tái cấu trúc, viết tài liệu, hoặc thậm chí thêm các tính năng mới vào mã hiện có của bạn. Giấy phép: Điều khoản Dịch vụ Thương mại của Anthropic.

Clawdbot

Nhiều công cụ trong danh sách này giúp các nhà phát triển tạo mã cho người khác. Clawdbot là trợ lý AI dành cho chính bạn, người đang viết mã. Nó tích hợp với máy tính để bàn của bạn để điều khiển các công cụ tích hợp sẵn như camera và các ứng dụng lớn như trình duyệt. Một hộp thư đến đa kênh chấp nhận lệnh của bạn thông qua hơn một chục kênh truyền thông khác nhau bao gồm WhatsApp, Telegram, Slack và Discord. Một công việc định kỳ (cron job) bổ sung tính năng hẹn giờ. Đó là trợ lý tối thượng dành cho bạn, người làm chủ dữ liệu của mình. Nếu mục đích của AI là giúp cuộc sống dễ dàng hơn, thì tại sao không bắt đầu bằng việc tổ chức các ứng dụng trên máy tính của bạn? Giấy phép: MIT.

Dify

Đối với các dự án yêu cầu nhiều hơn chỉ một lần gọi đến LLM, Dify có thể là giải pháp bạn đang tìm kiếm. Về cơ bản, đây là một môi trường phát triển để xây dựng các quy trình làm việc AI tác tử phức tạp, Dify kết nối các LLM, cơ sở dữ liệu RAG và các nguồn khác. Sau đó, nó theo dõi cách chúng hoạt động dưới các lời nhắc (prompt) và tham số khác nhau và tổng hợp tất cả vào một bảng điều khiển tiện lợi, để bạn có thể lặp lại và cải thiện kết quả. Phát triển AI tác tử đòi hỏi thử nghiệm nhanh chóng, và Dify cung cấp môi trường cho những thử nghiệm đó. Giấy phép: Phiên bản sửa đổi của Apache 2.0.

Eigent

Cách tốt nhất để khám phá sức mạnh và giới hạn của một quy trình làm việc AI tác tử là tự triển khai nó trên chính máy tính của bạn, nơi nó có thể giải quyết các vấn đề của riêng bạn. Eigent cung cấp một lực lượng lao động gồm các tác tử chuyên biệt để xử lý các tác vụ như viết mã, tìm kiếm web và tạo tài liệu. Bạn chỉ cần đưa ra hướng dẫn chung, và các LLM của Eigent sẽ cố gắng hết sức để thực hiện. Nhiều công ty tự hào về việc “tự sử dụng sản phẩm của mình” (dogfooding). Eigent biến khái niệm đó thành hiện thực một cách dễ dàng, giúp các nhà phát triển AI trải nghiệm trực tiếp khả năng và điểm yếu của các LLM mà họ đang xây dựng. Giấy phép: Apache 2.0.

Headroom

Các lập trình viên thường có thói quen tích trữ dữ liệu. Nếu dữ liệu là tốt, tại sao không nhồi nhét thêm một ít nữa? Đây là một thách thức đối với mã sử dụng LLM vì các dịch vụ này tính phí theo token và chúng cũng có một cửa sổ ngữ cảnh (context window) giới hạn. Headroom giải quyết vấn đề này bằng các thuật toán nén linh hoạt, loại bỏ phần thừa, đặc biệt là các nhãn và dấu câu thừa thường thấy trong các định dạng phổ biến như JSON. Một phần lớn của việc thiết kế các ứng dụng AI hiệu quả là tối ưu hóa chi phí, và tiết kiệm token đồng nghĩa với tiết kiệm tiền. Giấy phép: Apache 2.0.

Hugging Face Transformers

Khi nói đến việc khởi động một dự án máy học hoàn toàn mới, Hugging Face Transformers là một trong những nền tảng tốt nhất có sẵn. Transformers cung cấp một định dạng tiêu chuẩn để xác định cách mô hình tương tác với thế giới, điều này giúp dễ dàng đưa một mô hình mới vào cơ sở hạ tầng đang hoạt động của bạn để đào tạo hoặc triển khai. Điều này có nghĩa là mô hình của bạn sẽ tương tác tốt với tất cả các công cụ và cơ sở hạ tầng đã có sẵn, cho dù là cho văn bản, hình ảnh, âm thanh, video hay tất cả những thứ trên. Việc tuân thủ một mô hình tiêu chuẩn giúp bạn dễ dàng tận dụng các công cụ hiện có trong khi tập trung vào công nghệ tiên phong trong nghiên cứu của mình. Giấy phép: Apache 2.0.

LangChain

Đối với các giải pháp AI tác tử đòi hỏi sự lặp lại và thử nghiệm không ngừng, LangChain là một cách để tổ chức nỗ lực đó. Nó khai thác công việc của một bộ sưu tập lớn các mô hình và giúp con người dễ dàng kiểm tra và chọn lọc câu trả lời hơn. Khi tác vụ đòi hỏi suy nghĩ và lập kế hoạch sâu hơn, LangChain giúp dễ dàng làm việc với các tác tử có thể sử dụng nhiều mô hình để cùng nhau tìm ra giải pháp. Kiến trúc của LangChain bao gồm một framework (LangGraph) để tổ chức các quy trình làm việc dễ tùy chỉnh với bộ nhớ dài hạn và một công cụ (LangSmith) để đánh giá và cải thiện hiệu suất. Thư viện Deep Agents của nó cung cấp các nhóm tác tử phụ, tổ chức vấn đề thành các tập hợp con sau đó lập kế hoạch và làm việc hướng tới giải pháp. Đây là một môi trường thử nghiệm linh hoạt, đã được chứng minh cho các thử nghiệm tác tử và triển khai sản xuất. Giấy phép: MIT.

LlamaIndex

Nhiều ứng dụng ban đầu cho LLM là sắp xếp qua các bộ sưu tập lớn dữ liệu bán cấu trúc và cung cấp cho người dùng câu trả lời hữu ích cho câu hỏi của họ. Một trong những cách nhanh nhất để tùy chỉnh một LLM tiêu chuẩn với dữ liệu riêng tư là sử dụng LlamaIndex để thu nạp và lập chỉ mục dữ liệu. Công cụ có sẵn này cung cấp các bộ kết nối dữ liệu mà bạn có thể sử dụng để giải nén và tổ chức một bộ sưu tập lớn tài liệu, bảng và dữ liệu khác, thường chỉ với vài dòng mã. Các lớp bên dưới có thể được điều chỉnh hoặc mở rộng khi công việc yêu cầu, và LlamaIndex hoạt động với nhiều định dạng dữ liệu phổ biến trong doanh nghiệp. Giấy phép: MIT.

Ollama

Đối với bất kỳ ai đang thử nghiệm LLM trên máy tính xách tay của mình, Ollama là một trong những cách đơn giản nhất để tải xuống một hoặc nhiều mô hình và bắt đầu. Một khi được cài đặt, dòng lệnh của bạn trở thành một phiên bản nhỏ của giao diện ChatGPT cổ điển, nhưng với khả năng kéo một bộ sưu tập khổng lồ các mô hình từ một thư viện ngày càng phát triển các tùy chọn mã nguồn mở. Chỉ cần nhập: ollama run <tên mô hình> và mô hình đã sẵn sàng hoạt động. Một số nhà phát triển đang sử dụng nó như một máy chủ back-end cho kết quả LLM. Công cụ này cung cấp một giao diện ổn định, đáng tin cậy với các LLM, điều mà trước đây đòi hỏi khá nhiều kỹ thuật và chỉnh sửa. Máy chủ đơn giản hóa tất cả công việc này để bạn có thể giải quyết các công việc cấp cao hơn với nhiều LLM mã nguồn mở phổ biến nhất trong tầm tay. Giấy phép: MIT.

OpenWebUI

Một trong những cách nhanh nhất để tạo một trang web với giao diện trò chuyện và một cơ sở dữ liệu RAG chuyên dụng là khởi chạy một phiên bản của OpenWebUI. Dự án này kết hợp một front-end giàu tính năng với một back-end mở, sao cho việc khởi động một giao diện trò chuyện có thể tùy chỉnh chỉ yêu cầu kéo một vài container Docker. Tuy nhiên, dự án chỉ là một khởi đầu, bởi vì nó mang đến cơ hội thêm các plugin và tiện ích mở rộng để nâng cao dữ liệu ở mỗi giai đoạn. Hầu như mọi phần của chuỗi từ lời nhắc (prompt) đến câu trả lời đều có thể được điều chỉnh, thay thế hoặc cải thiện. Trong khi một số nhóm có thể hài lòng khi thiết lập nó và hoàn tất, lợi thế đến từ việc thêm mã của riêng bạn. Dự án không chỉ tự thân là mã nguồn mở, mà còn là một chòm sao gồm hàng trăm mảnh mã đóng góp nhỏ và các dự án phụ trợ có thể rất hữu ích. Khả năng tùy chỉnh đường ống và tận dụng giao thức MCP hỗ trợ việc cung cấp các giải pháp chính xác. Giấy phép: BSD sửa đổi.

Sim

Canvas kéo-và-thả cho Sim nhằm mục đích giúp việc thử nghiệm với các quy trình làm việc AI tác tử dễ dàng hơn. Công cụ xử lý các chi tiết tương tác với các LLM và cơ sở dữ liệu vector khác nhau; bạn chỉ cần quyết định cách kết hợp chúng. Các giao diện như Sim làm cho trải nghiệm tác tử trở nên dễ tiếp cận với mọi người trong nhóm của bạn, ngay cả những người không biết viết mã. Giấy phép: Apache 2.0.

Unsloth

Một trong những cách trực tiếp nhất để khai thác sức mạnh của các LLM nền tảng là bắt đầu với một mô hình mã nguồn mở và tinh chỉnh nó với dữ liệu của riêng bạn. Unsloth làm điều này, thường nhanh hơn các giải pháp khác. Hầu hết các mô hình mã nguồn mở chính đều có thể được tinh chỉnh bằng học tăng cường (reinforcement learning). Unsloth được thiết kế để hoạt động với hầu hết các độ chính xác tiêu chuẩn và một số cửa sổ ngữ cảnh lớn nhất. Câu trả lời tốt nhất sẽ không phải lúc nào cũng đến trực tiếp từ cơ sở dữ liệu RAG. Đôi khi, điều chỉnh các mô hình mới là giải pháp tốt nhất. Giấy phép: Apache 2.0.

vLLM

Một trong những cách tốt nhất để biến một LLM thành một dịch vụ hữu ích cho phần còn lại của mã nguồn của bạn là khởi động nó với vLLM. Công cụ này tải nhiều mô hình mã nguồn mở có sẵn từ các kho lưu trữ như Hugging Face và sau đó điều phối các luồng dữ liệu để chúng tiếp tục chạy. Điều đó có nghĩa là xử lý hàng loạt các lời nhắc (prompt) đến và quản lý các đường ống để mô hình sẽ là một nguồn cung cấp câu trả lời nhanh chóng liên tục. Nó hỗ trợ không chỉ kiến trúc CUDA mà còn CPU và GPU của AMD, CPU và GPU của Intel, CPU PowerPC, CPU Arm và TPU. Thử nghiệm nhiều mô hình trên laptop đã khác, triển khai chúng trong môi trường sản xuất lại là một câu chuyện hoàn toàn khác. vLLM xử lý nhiều công việc vô tận giúp mang lại hiệu suất tốt hơn. Giấy phép: Apache-2.0.

Tags: open-source AI, machine learning projects, LLM frameworks

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top