Trí tuệ nhân tạo đã trở nên đối với các lập trình viên trong vài năm trở lại đây. Với sự phát triển này đã đặt ra một vấn đề cho các Business Analyst trong các dự án Java đó chính là các mô hình AI là thành phần chính của máy học (ML) và câu hỏi chính là làm thế nào để tích hợp chức năng của chúng vào các hệ thống lớn hơn. Chúng ta sẽ giải đáp được thắc mắc này thông qua giải pháp Spring AI, giúp hợp lý hóa việc lập trình cho nhiều dự án AI. Với Spring AI, bạn có thể áp dụng ngữ nghĩa Spring quen thuộc và mọi thứ bạn đã biết về cơ sở hạ tầng doanh nghiệp vào máy học.
 
1. Spring AI là gì? 
Spring AI là công cụ hướng đến mục tiêu bao gồm nhiều nhà cung cấp công cụ AI bao gồm các thư viện và khuôn khổ hỗ trợ xử lý ngôn ngữ tự nhiên và AI tạo sinh :
 
  • Xử lý ngôn ngữ tự nhiên (NLP): GPT của OpenAI, Gemini của Google, Hugging Face Transformers
  • Tầm nhìn máy tính: TensorFlow, PyTorch, DALL-E của OpenAI
  • Nhận dạng và tổng hợp giọng nói: Google Speech-to-Text, Amazon Transcribe, Azure Speech Services
  • Hệ thống đề xuất: TensorFlow Recommenders, Amazon Personalize
  • AI sáng tạo: Khuếch tán ổn định, DALL-E của OpenAI, Midjourney
  • Trích xuất, chuyển đổi, tải (ETL): Chuyển đổi lưu trữ vectơ (Vector store transformations)
2. Thiết lập dự án Spring AI 
Một cách để sử dụng Spring AI là thiết lập ứng dụng Spring Boot mới cho nó. Nhập thông tin sau vào CLI của bạn:
 
Hoặc, nếu bạn đã có một dự án hiện có, bạn chỉ cần thêm nội dung sau vào dự án đó:
Bạn có thể thêm lệnh này vào spring-ai-bom dependency vào một dự án hiện có. 
 
3. Spring AI dành cho API
Giao diện Model là giao diện toàn diện nhất trong số các nhánh tạo nên API của Spring AI. Các nhà phát triển có thể kết hợp hầu như bất kỳ loại khả năng AI nào vào ứng dụng bằng cách sử dụng thành phần chung mà Model cung cấp. Ngoài ra, các nhà cung cấp AI thường nhắm mục tiêu vào giao diện để cung cấp nền tảng của họ trong hệ sinh thái Spring.
 
Chat Model, Embedding Model, Image Model và Speech Model chỉ là một vài trong số nhiều loại AI được mở rộng thành các triển khai của giao diện Model trong Spring AI. Đối với các nhà cung cấp hỗ trợ triển khai như vậy, cũng có một phiên bản phát trực tuyến được gọi là Streaming Model. 
 
Việc triển khai Chat Client sử dụng công việc mà các triển khai mô hình này thu thập từ nhà cung cấp.
Ngoài ra, việc gọi hàm được Spring AI hỗ trợ, cho phép mã ứng dụng tùy chỉnh cung cấp API mà AI có thể sử dụng để tạo phản hồi của mình. Tính đến thời điểm hiện tại, Spring AI hỗ trợ:
  • Anthropic Claude
  • Azure OpenAI
  • Google VertexAI Gemini
  • Groq
  • Mistral AI
  • Ollama
  • OpenAI
Spring AI cũng bao gồm hỗ trợ ETL (trích xuất, chuyển đổi, tải) trên cơ sở dữ liệu vector. Điều này được mô hình hóa như một trình đọc tài liệu, trình chuyển đổi và trình ghi. Tất cả các nhà cung cấp chính đều được bảo vệ. 
 
Ngoài ra, Spring AI đang mở rộng hỗ trợ cho việc nhúng. Đối với một số nhà cung cấp, giao diện Embedding Model tóm tắt quá trình chuyển đổi văn bản thành định dạng số.
 
Đa phương thức là một lĩnh vực phức tạp khác mà Spring AI giải quyết. Bạn có thể kết hợp văn bản và đồ họa theo cách này. Đây là hình minh họa từ tài liệu của Spring AI:
 
Prompts hỗ trợ việc sắp xếp dữ liệu đầu vào của người dùng bằng bất kỳ khuôn khổ nhất quán nào mà ứng dụng của bạn cần, chẳng hạn như chế độ xem có nội suy biến. Lời nhắc có vẻ đơn giản lúc đầu, nhưng thực tế có thể liên quan đến rất nhiều sự phức tạp, chẳng hạn như đóng khung tài liệu và các chi tiết theo ngữ cảnh như trách nhiệm. Giao diện Structured Output hỗ trợ cấu trúc đầu ra của mô hình; đặc biệt quan trọng khi chuyển đầu ra vào hệ thống khác làm đầu vào. 
 
Kiểm thử (Testing) là một khía cạnh hấp dẫn khác của nghiên cứu AI, trong đó điều quan trọng là phải sử dụng một mô hình có thể khác với mô hình chính để đánh giá kết quả. Nhu cầu này được Spring AI hỗ trợ. 
 
4. Ứng dụng của Spring AI vào dự án
Chúng ta có thể xem xét cách hoạt động của một ví dụ đơn giản trong kho lưu trữ Spring AI Azure Workshop . Kho lưu trữ bao gồm một vài ví dụ, nhưng hãy xem ví dụ đơn giản nhất. Đây là một dự án trong bố cục Maven và điều đầu tiên cần lưu ý là tệp “application.resources”, chứa dòng sau:
 
Do đó, thuộc tính được định giá là "gpt-turbo-16k." Lý do thuật ngữ "spring.ai.azure.openai.chat.options. deployment-name" quan trọng là vì nó được tự động kết nối với trình cấu hình Spring Bean sẽ sử dụng tham số đó để tạo Chat Client. Máy khách đó được cung cấp thông qua phụ thuộc “pom.xml” được hiển thị bên dưới:
 
Về cơ bản, Spring sẽ sử dụng thuộc tính này để tạo ChatClient sử dụng các quy ước đặt tên trong dự án bắt đầu "openai" khi nó tìm kiếm dự án cho một thuộc tính. Bộ điều khiển gọi ChatClient đó trong ví dụ "helloworld" đơn giản mà chúng ta đang xem xét:
 
Phần tử "chatClient" của bộ điều khiển Spring REST chuẩn này có chú thích "@Autowired" được đính kèm. Các yêu cầu tại "/ai/simple" sau đó được xử lý bởi ChatClient đó. (Hàm cung cấp các tham số yêu cầu mặc định; do đó, một yêu cầu không có bất kỳ tham số nào sẽ được đặt thành "Tell me a joke." Giá trị trả về của "chatClient.call(message)" là giá trị của khóa "generation" trong bản đồ mà phương thức điểm cuối trả về.
 
Để tất cả những điều này hoạt động, bạn cần một khóa API cho Azure. Khóa được đặt làm biến môi trường: 
Bạn cũng cần phải cho công cụ biết điểm cuối AI nằm ở đâu:
 
Các ví dụ khác trong kho lưu trữ Azure minh họa cách thêm các tính năng bổ sung vào khung cơ bản này. Ví dụ: bạn có thể dễ dàng thêm mẫu nhắc nhở vào ứng dụng ví dụ:
Được sử dụng trong bộ điều khiển như sau:
Và sau đó ở điểm cuối , bạn có thể thêm nội dung như sau:
 
Bạn sẽ đánh giá cao cấu trúc, tính nhất quán của Spring AI hơn nếu các trường hợp sử dụng AI của bạn phức tạp, AI chắc chắn có xu hướng hướng đến sự phức tạp mở rộng. Hy vọng rằng những chia sẻ của BAC sẽ giúp ích cho bạn. Đừng quên đón đọc các bài viết mới nhất sẽ được cập nhật tại BAC's Blog bạn nhé.

 

Nguồn tham khảo:
https://www.infoworld.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
 
 

CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN

Khoá học Online:

Khoá học Offline:

Tại Tp.HCM:

Tại Hà Nội:

Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất

Ban biên tập nội dung - BAC