Microsoft giới thiệu Semantic Kernel SDK , giúp việc tích hợp các mô hình ngôn ngữ lớn (LLM) chẳng hạn như GPT-4 vào mã dễ dàng hơn nhiều. Sự phức tạp của việc quản lý lời nhắc, đầu vào và đầu ra tập trung được đơn giản hóa với SDK này, thu hẹp khoảng cách giữa các mô hình ngôn ngữ và nhà phát triển.
Quá trình tích hợp mô hình AI vào mã của bạn có thể khá khó khăn, vì nó liên quan đến việc vượt qua ranh giới giữa hai cách tính toán khác nhau. Các phương pháp lập trình truyền thống không đủ để tương tác với LLM. Điều cần thiết là một sự trừu tượng hóa cấp cao hơn chuyển đổi giữa các miền khác nhau, cung cấp một cách để quản lý ngữ cảnh và giữ kết quả đầu ra dựa trên dữ liệu nguồn.
Một vài tuần trước, Microsoft đã phát hành trình bao bọc LLM đầu tiên có tên là Prompt Engine . Xây dựng từ đó, gã khổng lồ phần mềm hiện đã tiết lộ công cụ C# mạnh mẽ hơn của mình, Semantic Kernel , để làm việc với Azure OpenAI và API của OpenAI. Công cụ mã nguồn mở này có sẵn trên GitHub, cùng với một số ứng dụng mẫu.
Việc lựa chọn tên biểu thị sự hiểu biết về mục đích chính của LLM. Semantic Kernel tập trung vào đầu vào và đầu ra của ngôn ngữ tự nhiên bằng cách chỉ đạo mô hình sử dụng yêu cầu ban đầu của người dùng (yêu cầu) để sắp xếp chuyển qua các tài nguyên được liên kết, thực hiện yêu cầu và trả về phản hồi (nhận).
Semantic Kernel hoạt động giống như một hệ điều hành cho các API LLM, nhận đầu vào, xử lý chúng bằng cách làm việc với mô hình ngôn ngữ và trả về đầu ra. Vai trò điều phối của nhân là cần thiết trong việc quản lý không chỉ lời nhắc và mã thông báo liên quan của chúng mà còn cả bộ nhớ, trình kết nối với các dịch vụ thông tin khác và các kỹ năng được xác định trước kết hợp lời nhắc và mã thông thường.
Semantic Kernel quản lý bối cảnh thông qua khái niệm ký ức, làm việc với tệp và lưu trữ khóa-giá trị. Tùy chọn thứ ba, bộ nhớ ngữ nghĩa , xử lý nội dung dưới dạng vectơ hoặc phần nhúng, là các mảng số mà LLM sử dụng để biểu thị ý nghĩa của văn bản. Các vectơ nhúng này giúp mô hình cơ bản duy trì mức độ liên quan, tính nhất quán và giảm khả năng tạo đầu ra ngẫu nhiên.
Bằng cách sử dụng tính năng nhúng, nhà phát triển có thể chia lời nhắc lớn thành các khối văn bản để tạo lời nhắc tập trung hơn mà không làm cạn kiệt mã thông báo có sẵn cho một yêu cầu (ví dụ: GPT-4 có giới hạn 8.192 mã thông báo cho mỗi đầu vào).
Trình kết nối đóng một vai trò quan trọng trong Semantic Kernel, cho phép tích hợp các API hiện có với LLM. Chẳng hạn, trình kết nối Microsoft Graph có thể gửi đầu ra của một yêu cầu trong email hoặc xây dựng mô tả về các mối quan hệ trong sơ đồ tổ chức. Trình kết nối cũng cung cấp một dạng kiểm soát truy cập dựa trên vai trò để đảm bảo rằng đầu ra được điều chỉnh cho phù hợp với người dùng, dựa trên dữ liệu của họ.
Thành phần chính thứ ba của Hạt nhân ngữ nghĩa là các kỹ năng , là bộ chứa các hàm kết hợp lời nhắc LLM và mã thông thường, tương tự như Hàm Azure. Chúng có thể được sử dụng để xâu chuỗi các lời nhắc chuyên biệt lại với nhau và tạo các ứng dụng hỗ trợ LLM.
Đầu ra của một chức năng có thể được kết nối với một chức năng khác, cho phép xây dựng một hệ thống các chức năng kết hợp các hoạt động xử lý gốc và LLM. Bằng cách này, các nhà phát triển có thể xây dựng các kỹ năng linh hoạt có thể được lựa chọn và sử dụng khi cần thiết.
Mặc dù Semantic Kernel là một công cụ mạnh mẽ, nhưng nó đòi hỏi phải suy nghĩ và lập kế hoạch cẩn thận để tạo ra các ứng dụng hiệu quả. Bằng cách sử dụng SDK một cách chiến lược cùng với mã gốc, nhà phát triển có thể khai thác tiềm năng của LLM, giúp quá trình phát triển trở nên hiệu quả và năng suất hơn. Để hỗ trợ bắt đầu, Microsoft cung cấp một danh sách các nguyên tắc thực hành tốt nhất đã học được từ việc xây dựng các ứng dụng LLM trong doanh nghiệp của chính mình.
Trong bối cảnh phát triển phần mềm hiện đại, Semantic Kernel SDK của Microsoft định vị chính nó như một công cụ hỗ trợ chính để tích hợp các mô hình ngôn ngữ lớn trong các ứng dụng khác nhau. Việc triển khai nó có thể mang lại lợi ích to lớn cho các công cụ như nền tảng no-code của AppMaster và trình tạo trang web , cung cấp các giải pháp linh hoạt và hiệu quả hơn cho nhiều người dùng.