강의

멘토링

커뮤니티

NEW
AI Technology

/

AI Agent Development

[Season 1] Spring AI Thực Chiến: Phát Triển AI Agent Đặt Chỗ Premium

Spring AI + JPA + MySQL을 활용한 'tự chủ hành động' Premium Reservation Agent Backend Development Vượt qua chatbot để trở thành agent: Tinh hoa của Tool Calling và Prompt Engineering

(5.0) 2 đánh giá

79 học viên

  • bitcocom
Java
Spring Boot
backend
AI Agent
Spring AI

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể tạo các công cụ tùy chỉnh mà AI agent có thể sử dụng bằng cách sử dụng @Tool của Spring AI.

  • Bạn có thể học cách triển khai các chức năng cốt lõi của backend cho AI agent bằng cách sử dụng Java và Spring Boot.

  • Có thể hoàn thành backend của hệ thống quản lý câu hỏi dựa trên AI được tích hợp với cơ sở dữ liệu thực tế.

  • Bạn có thể kết nối hệ thống backend và frontend để cung cấp dịch vụ.

[Season 1] Spring AI Thực Chiến: Phát Triển AI Agent Đặt Chỗ Premium

Đừng chỉ hài lòng với chatbot đơn giản nữa. 🤔
Hãy tạo ra AI agent thực hiện logic nghiệp vụ thực tế và tương tác với cơ sở dữ liệu!

Demo GourmetBot AI Agent

💡 Động lực tạo khóa học (Motivation)

Trong thực tế, các doanh nghiệp không chỉ mong muốn một AI đối thoại đơn giản, mà họ muốn "một agent có thể kết nối với cơ sở dữ liệu của công ty và xử lý công việc thực tế". Khóa học này sẽ hướng dẫn bạn cách tạo ra một agent có khả năng giải quyết vấn đề thực tế bằng cách kết hợp công nghệ backend truyền thống (DB, Transaction) với công nghệ AI hiện đại (LLM, Tool Calling).

Trong khóa học này, chúng ta sẽ phát triển một AI Agent đặt chỗ cao cấp ở mức độ có thể triển khai thực tế bằng cách sử dụng Spring AI, JPA, và MySQL. Vượt xa một chatbot đơn thuần chỉ trả lời câu hỏi, bạn sẽ học cách xây dựng một AI Agent chủ động có khả năng hiểu yêu cầu của khách hàng, truy vấn cơ sở dữ liệu để xác định tình trạng có thể đặt chỗ, xác nhận đặt chỗ thực tế, tra cứu lịch sử đặt chỗ, và hủy đặt chỗ. Ngoài ra, chúng ta sẽ triển khai một agent thông minh có khả năng ghi nhớ ngữ cảnh cuộc trò chuyện trước đó bằng cách lưu trữ nội dung đối thoại vào cơ sở dữ liệu.

🏆 Mục tiêu (Goal)

  1. Thiết kế Agent hiệu quả: Triển khai một hệ thống vững chắc với sự phân tách rõ ràng giữa bộ não-bộ nhớ-công cụ như trong sơ đồ kiến trúc trên.

  2. Làm chủ Tool Calling: Giúp AI tự động đánh giá và gọi các phương thức Java (logic nghiệp vụ) cũng như thao tác với cơ sở dữ liệu.

  3. Tích hợp logic nghiệp vụ: Xây dựng một hệ thống backend hoàn chỉnh với Tra cứu(R) - Tạo mới(C) - Hủy bỏ(D) được kết nối hữu cơ với nhau, không chỉ đơn thuần là hỏi đáp.

🎩 Khái niệm (Concept)

"GourmetBot" - Trợ lý AI cho Nhà hàng Cao cấp

  • Smart: Ghi nhớ lịch sử ghé thăm của khách hàng và đề xuất bàn phù hợp.

  • Safe: Kiểm tra thông tin dị ứng một cách bắt buộc và đảm bảo tính toàn vẹn của dữ liệu.

  • Lịch sự: Sử dụng giọng điệu trang nhã và trang trọng, không máy móc.


🔑 Nội dung cốt lõi (Core Content)

  1. Triển khai kiến trúc Spring AI: Triển khai từng thành phần trong sơ đồ bằng code (System Prompt, Repository, Tools).

  2. Kỹ thuật Prompt Engineering nâng cao: Áp dụng các kỹ thuật Slot Filling (hỏi lại), Time Awareness (tính toán ngày tháng), Chain of Thought (tư duy từng bước).

  3. Tính toàn vẹn dữ liệu & Giao dịch: Triển khai Upsert Pattern (đăng ký thành viên tự động), Soft Delete (quản lý trạng thái hủy đặt chỗ).

  4. Tính nghiêm ngặt của Tool: Xác thực dữ liệu đầu vào mạnh mẽ sử dụng Java Record(DTO) và JSON Schema.

(Mùa 1) Kiến trúc AI Agent
  1. Điều khiển trung tâm (Spring AI & LLM): Framework nhận yêu cầu từ người dùng và chuyển đến LLM(GPT). Lúc này System Prompt mà chúng ta đã viết sẽ được đưa vào và trở thành 'tiêu chí phán đoán (bộ não)' của agent.

  2. Tay và chân (Tools - Java Code): LLM không thể tự kết nối với DB. Thay vào đó, dựa trên kết quả phán đoán, nó sẽ gọi (Tool Calling) logic nghiệp vụ được chúng ta triển khai bằng Java (tạo đặt chỗ, hủy, tra cứu).

  3. Kho lưu trữ bộ nhớ (Memory - MySQL): Lưu trữ và tải lại vĩnh viễn ngữ cảnh hội thoại(Chat Memory) và dữ liệu kinh doanh thực tế(thông tin khách hàng, bàn, đặt chỗ).

  4. Lưu ý: Phần Retrieval(RAG) được hiển thị bằng màu xám là phần 'tìm kiếm tri thức' sẽ được đề cập trong Season 2, không được triển khai trong Season 1.


(Mùa 1) Gọi Công cụ
  • Yêu cầu của người dùng (Chat Request): Người dùng yêu cầu chatbot thực hiện đặt chỗ. Ví dụ, họ có thể yêu cầu "Đặt chỗ cho 4 người vào lúc 7 giờ tối mai".

  • Định nghĩa công cụ (Tool Definition): Spring AI định nghĩa các phương thức Java thực hiện các chức năng như tạo đặt chỗ, tra cứu đặt chỗ, hủy đặt chỗ thành các công cụ mà mô hình AI có thể hiểu được. Mỗi công cụ bao gồm tên, mô tả, thông tin đầu vào cần thiết (ví dụ: ngày đặt chỗ, thời gian, số lượng người) và các thông tin khác.

  • Gửi yêu cầu gọi công cụ (Dispatch Tool Call Requests): Mô hình AI phân tích yêu cầu đặt bàn của người dùng và xác định rằng cần gọi công cụ bookTable để tạo đặt bàn. Mô hình AI gửi yêu cầu đến Spring AI để gọi công cụ bookTable.

  • Thực thi công cụ (Tool Execution): Spring AI nhận yêu cầu từ mô hình AI và thực thi phương thức Java (bookTable) để thực hiện chức năng tạo đặt bàn thực tế. Lúc này, thông tin đặt bàn mà người dùng cung cấp (7 giờ tối ngày mai, 4 người) sẽ được truyền đi cùng.

  • Trả về kết quả (Return Result): Khi phương thức bookTable được thực thi và thông tin đặt bàn được lưu vào cơ sở dữ liệu, kết quả như trạng thái đặt bàn thành công và số đặt bàn sẽ được trả về cho Spring AI.

  • Phản hồi của Chatbot (Chat Response): Mô hình AI cung cấp phản hồi cuối cùng cho người dùng dựa trên kết quả thực thi công cụ. Ví dụ, có thể phản hồi "Đặt chỗ cho 4 người vào lúc 7 giờ tối ngày mai đã hoàn tất. Mã đặt chỗ là 12345."

(Mùa 1) Sơ đồ ERD Cơ sở dữ liệu
  • Bảng customer: Đây là bảng lưu trữ thông tin khách hàng. Bao gồm các thông tin như ID khách hàng, tên, số điện thoại, số lần ghé thăm, ghi chú, v.v.

  • Bảng restaurant_table: Bảng lưu trữ thông tin về bàn ăn của nhà hàng. Bao gồm các thông tin như ID bàn, số lượng người có thể ngồi, loại bàn, v.v.

  • Bảng reservation: Bảng lưu trữ thông tin đặt chỗ. Bao gồm các thông tin như ID đặt chỗ, thời gian đặt, ID khách hàng, ID bàn, số lượng người, thông tin dị ứng, trạng thái đặt chỗ, v.v. Có mối quan hệ với bảng customer và bảng restaurant_table.

  • Bảng spring_ai_chat_memory: Đây là bảng lưu trữ nội dung hội thoại với chatbot. Bảng này bao gồm các thông tin như ID hội thoại, nội dung hội thoại, loại tin nhắn, timestamp, v.v. Nhờ đó, chatbot có thể ghi nhớ nội dung hội thoại trước đó và đưa ra câu trả lời phù hợp với ngữ cảnh.

Kiến trúc Phần mềm

Đây là kiến trúc phần mềm (bản thiết kế) của dịch vụ chatbot AI có tên 'GourmetBot (Bot Sành Ăn)'.

Khi người dùng đặt câu hỏi trên giao diện web/app, máy chủ backend sẽ nhận và kết nối với OpenAI(ChatGPT) để đưa ra câu trả lời, đồng thời tìm kiếm thông tin từ cơ sở dữ liệu khi cần thiết.

Phương pháp cốt lõi của khóa học: LLM+Tool Calling

Trong khóa học này, chúng ta sẽ phát triển AI agent bằng cách sử dụng phương pháp số 2 LLM + Tool Calling trong hình ảnh trên.

  • Agent vượt xa chatbot đơn thuần: LLM (bộ não) nắm bắt ý định của người dùng và trực tiếp sử dụng các công cụ (thân thể) được định nghĩa trong ứng dụng để thực hiện các tác vụ thực tế.

  • Thực thi trực tiếp logic nghiệp vụ: AI gọi các phương thức Java (công cụ) như tạo đặt chỗ, tra cứu, hủy để tương tác với cơ sở dữ liệu và xử lý logic nghiệp vụ.

  • Tận dụng các tính năng mạnh mẽ của Spring AI: Thông qua framework Spring AI, bạn có thể dễ dàng kết nối và quản lý các công cụ của LLM với ứng dụng.

Đặc điểm của khóa học này

📌 Học tập dựa trên dự án thực tế: Giảm thiểu lý thuyết, tập trung vào thực hành xây dựng hệ thống đặt chỗ hoạt động thực tế từ đầu đến cuối.

📌 Làm chủ hoàn hảo các tính năng cốt lõi của Spring AI: Khám phá sâu về tính năng @Tool - trung tâm của việc phát triển AI agent và kỹ thuật prompt engineering.

📌 Xây dựng dịch vụ tích hợp Backend và Frontend: Tích hợp hệ thống backend (Spring Boot) và hệ thống frontend (Vite+React) để xây dựng dịch vụ.

📌 Xây dựng hệ thống backend vững chắc: Xây dựng hệ thống backend ổn định kết nối với cơ sở dữ liệu thực tế bằng cách sử dụng JPA và MySQL.

📌 Triển khai chức năng xác nhận, tra cứu và hủy đặt chỗ: Triển khai các chức năng cốt lõi cần thiết cho hệ thống đặt chỗ thực tế thông qua AI agent.

📌 Triển khai tính năng ghi nhớ ngữ cảnh hội thoại: Lưu trữ nội dung hội thoại vào cơ sở dữ liệu để AI agent có thể ghi nhớ các cuộc trò chuyện trước đó và thực hiện hội thoại có tính liên tục.

📌 Thiết kế kiến trúc có khả năng mở rộng: Học cách thiết kế kiến trúc linh hoạt có tính đến việc mở rộng tính năng trong tương lai như RAG (Retrieval-Augmented Generation). (Tính năng RAG sẽ được đề cập trong Season 2.)

Khóa học này được khuyến nghị cho những người sau

Lập trình viên Backend: Những người muốn áp dụng công nghệ Spring AI vào dịch vụ của mình, những người muốn tạo ra AI agent hoạt động thực tế

Người dùng Spring Framework: Những người muốn triển khai các tính năng mới bằng cách sử dụng Spring AI

Những người ưu tiên học tập hướng đến thực tiễn: Những người muốn học thông qua các dự án thực tế hơn là lý thuyết

🌏 Lĩnh vực ứng dụng (Applications)

Kiến trúc của khóa học này có thể áp dụng trực tiếp cho tất cả các lĩnh vực cần 'đặt chỗ' và 'tư vấn'.

  • 🏥 Bot đặt lịch khám bệnh: Nhận diện bệnh nhân tái khám, gợi ý khoa khám bệnh.

  • 🏨 Lễ tân khách sạn: Tra cứu phòng, đặt dịch vụ phòng.

  • 💇 Đặt lịch làm đẹp/salon tóc: Chỉ định nhà tạo mẫu, tính toán thời gian thực hiện dịch vụ.

  • 🛒 Bot tư vấn CS: Tự động hóa tra cứu giao hàng, thay đổi/hủy đơn hàng.

Sau khi hoàn thành khóa học

  • Bạn sẽ có khả năng phát triển AI agent bằng cách sử dụng Spring AI.

  • Khả năng tích hợp hệ thống Backend (Spring Boot) và Frontend (React).

  • Bạn sẽ có khả năng xây dựng hệ thống backend sử dụng JPAMySQL.

  • Xác nhận đặt chỗ, tra cứu và hủy - bạn sẽ có khả năng triển khai hệ thống đặt chỗ thực tế bao gồm các chức năng này.

  • Khả năng thiết kế và triển khai cơ sở dữ liệu để ghi nhớ ngữ cảnh hội thoại.

  • Kỹ thuật Prompt Engineering cơ bản và thực hành sẽ được trải nghiệm.

  • Bạn sẽ trải nghiệm dự án hoàn thiện hệ thống đặt chỗ thực tế.

Học cách triển khai Frontend!

Node.js, VS Code, React.js, JavsScript, Tailwind CSS, Vite Tool

Màn hình chính GourmetBot

Đặt chỗ, tra cứu, hủy GourmetBot

Học cách triển khai Backend!

IntelliJ IDEA, Spring Boot, Spring AI, JPA, MySQL

Ghi nhớ nội dung hội thoại

AI agent có thể nhớ nội dung cuộc trò chuyện trước đó và đưa ra câu trả lời phù hợp với ngữ cảnh bằng cách lưu trữ và tải nội dung cuộc trò chuyện từ cơ sở dữ liệu. Nhờ đó, có thể mang đến trải nghiệm tự nhiên và cá nhân hóa hơn cho khách hàng.

Triển khai chức năng đặt chỗ

Triển khai tính năng hiểu yêu cầu đặt chỗ của khách hàng bằng ngôn ngữ tự nhiên, kiểm tra tình trạng có thể đặt chỗ, sau đó tạo đặt chỗ thực tế. Học quy trình AI trò chuyện với khách hàng để thu thập thông tin cần thiết và cuối cùng gửi tin nhắn xác nhận đặt chỗ.

Triển khai hủy đặt chỗ

Khi khách hàng yêu cầu hủy đặt chỗ, chúng ta sẽ triển khai chức năng để AI tìm kiếm và xử lý hủy đặt chỗ đó. Bạn sẽ học cách xây dựng một hệ thống ổn định bằng cách xem xét các tình huống khác nhau có thể xảy ra khi hủy đặt chỗ.

Triển khai tra cứu đặt chỗ

Khách hàng có thể tra cứu lịch sử đặt chỗ của mình thông qua tính năng AI tìm kiếm và cung cấp thông tin đặt chỗ từ cơ sở dữ liệu. Bạn sẽ học cách nâng cao sự tiện lợi bằng cách cung cấp thông tin đặt chỗ chính xác cho khách hàng.

[Season 2] Spring AI Thực chiến: Dự báo phát triển hệ thống Multi AI Agent cấp doanh nghiệp

Lưu ý trước khi học

💻 Môi trường phát triển (Environment)
  • IDE: IntelliJ IDEA Community Edition.

  • Ngôn ngữ: Java 17 hoặc 21.

  • Framework: Spring Boot 3.5.8 (Phiên bản ổn định mới nhất).

  • Thư viện: Spring AI 1.0.3 (hoặc 1.1.0 Snapshot).

  • Cơ sở dữ liệu: MySQL 8.x.

  • Mô hình AI: OpenAI (gpt-4o-mini hoặc gpt-5-mini).

📚 Tài liệu học tập
  • Video bài giảng ở cuối cùng bài 30 (mã nguồn backend, frontend) sẽ được cung cấp.

  • Tài liệu giảng dạy được cung cấp dưới dạng file PDF.

  • Mã nguồn được cung cấp thông qua Github.

📚 Kiến thức tiên quyết (Prerequisites)

  • Java: Hiểu biết cơ bản về cú pháp Java (khuyến nghị Java 17+).

  • Spring Boot: Cách sử dụng cơ bản về DI/IoC, JPA(Repository), Controller.

  • Database: Hiểu biết cơ bản về SQL (khái niệm SELECT, JOIN).

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển backend muốn tạo AI agent có thể áp dụng vào dịch vụ thực tế bằng cách sử dụng tính năng @Tool của Spring AI

  • Nhà phát triển cần xây dựng hệ thống tích hợp chức năng AI để tương tác với cơ sở dữ liệu trong môi trường Java và Spring Boot

  • Nhà phát triển thực tế đang suy nghĩ về cách kết nối hiệu quả mô hình AI với hệ thống backend hiện có

  • Nhà phát triển muốn tạo ra dịch vụ bằng cách tích hợp hệ thống backend và frontend

Cần biết trước khi bắt đầu?

  • Tôi cần kiến thức cơ bản về ngôn ngữ lập trình Java.

  • Sẽ tốt hơn nếu bạn có hiểu biết cơ bản về framework Spring Boot.

  • Có kiến thức cơ bản về cơ sở dữ liệu và SQL sẽ rất hữu ích.

Xin chào
Đây là

8,145

Học viên

632

Đánh giá

665

Trả lời

4.9

Xếp hạng

12

Các khóa học

안녕하세요 박매일 강사입니다.
SW교육센터를 운영중이며 대학, 관공서, 기업체에 컨설팅 및 SW위탁교육을 진행하고 있습니다.


📄 주요 강의경력외 다수

- 구름 특성화고 전공캠프 강의(Full Stack 과정)
- 소프트웨어마이스터고등학교 산학협력교사
- 광주인공지능사관학교 강의
- 패스트캠퍼스 백엔드 부트캠프 강의
- 스마트인재개발원 교육부장 및 강의
- 한국전력공사 In-House 코딩 위탁 교육
- 한양대학교 ERICA 온라인 강의
- 비트소프트웨어교육센터운영(해외취업,국비교육)
- SW채용연수사업(미래창조과학부)

🎤 온라인 교육콘텐츠 제공

인프런 : Java,DB,MVC,Spring,Spring AI,IoT
패스트캠퍼스 : Java, Spring Boot

email : bitcocom@empas.com

Chương trình giảng dạy

Tất cả

30 bài giảng ∙ (7giờ 37phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

2 đánh giá

5.0

2 đánh giá

  • ADK123님의 프로필 이미지
    ADK123

    Đánh giá 326

    Đánh giá trung bình 5.0

    5

    16% đã tham gia

    • 박매일
      Giảng viên

      첫 수강평에 5점을 주셔서 감사합니다. 마지막까지 완강하시고 좋은 인사이트를 얻어가시면 좋겠습니다. 파이팅입니다~~

  • 오민경님의 프로필 이미지
    오민경

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    • 박매일
      Giảng viên

      감사합니다. 강의가 도움이 되시길 바랍니다. 마지막까지 파이팅하시게요~~

Ưu đãi có thời hạn, kết thúc sau 1 ngày ngày

19.250 ₫

30%

597.318 ₫

Khóa học khác của bitcocom

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!