AI 17 - 04 - 2025

LabXperience: Setup BrowserMCP để LLM điều khiển Browser của bạn

Bài viết hướng dẫn từng bước cách thiết lập và sử dụng Browser MCP, một công cụ giúp mô hình ngôn ngữ lớn (LLM) như ChatGPT hoặc Copilot tương tác trực tiếp với trình duyệt web thông qua các thao tác như truy cập trang web, điền form, click nút, trích xuất dữ liệu. . .

AI 12 - 04 - 2025

So sánh MCP Servers và Agent

Agent-based system là một mô hình trong đó các agent – những tác tử thông minh – được thiết kế để tự động thực hiện các nhiệm vụ dựa trên mục tiêu đã được xác định trước. Mỗi agent thường được trang bị khả năng lập kế hoạch (planning), bộ nhớ (memory) để ghi nhớ thông tin từ các lần tương tác trước, và đặc biệt là khả năng sử dụng công cụ (tools). Các công cụ này có thể là API, trình duyệt, máy tính, cơ sở dữ liệu, hoặc các module chức năng cụ thể mà agent có thể gọi đến khi cần thiết. Ngoài ra, một số agent còn có khả năng code execution – tức là tự sinh mã nguồn (thường bằng Python) và thực thi để giải quyết bài toán, tính toán hoặc phân tích dữ liệu ngay trong quá trình hoạt động.

RAG 11 - 01 - 2025

Hypothetical Question Retriever (HQR) trong RAG

Trong bài toán RAG, kỹ thuật Hypothetical Question Retriever (HQR) đã nổi lên như một giải pháp tiên tiến nhằm cải thiện khả năng tìm kiếm và sinh văn bản của các hệ thống AI. Bài viết này sẽ khám phá HQR, từ cơ chế hoạt động đến các ứng dụng tiềm năng trong thực tế. Hình dưới đây minh họa cách HQR hoạt động. Mô hình bắt đầu từ việc sinh các câu hỏi giả định từ một đoạn văn bản (chunk text), sau đó tìm kiếm thông tin dựa trên các câu hỏi đó để cung cấp kết quả tốt nhất: Hình 1. Cách HQR hoạt động. Nguồn ảnh: https://www. epsilla. com/blogs/demystifying-rag-empowered-chat-agents-aligning-question-and-document-embedding-spaces-with-hypothetical-questions  Biểu đồ mô phỏng không gian vector nơi các câu hỏi giả định (vòng tròn cam) được tạo ra từ một truy vấn gốc (điểm đỏ). Những câu hỏi này mở rộng phạm vi tìm kiếm, giúp truy xuất thêm thông tin liên quan. Các câu hỏi giả định sau khi được biểu diễn vector sẽ truy xuất thông tin từ các tài liệu liên quan (các điểm màu xanh). - Phân Tích Câu Hỏi Ban Đầu: Hệ thống phân tích câu hỏi hoặc truy vấn gốc để hiểu ý định và ngữ cảnh. Giả sử chúng ta có một đoạn văn bản (chunk text):

RAG 31 - 12 - 2024

Bạn đã hiểu về tìm kiếm ngữ nghĩa Semantic Search chưa?

Với các truy vấn đơn giản, công cụ tìm kiếm thường dễ dàng tìm ra nội dung phù hợp chỉ bằng cách đối chiếu từ khóa. Ví dụ, khi bạn tìm kiếm “giày thể thao màu trắng,” hệ thống sẽ hiển thị các sản phẩm có từ “giày thể thao” trong tiêu đề hoặc mô tả, và màu trắng trong thuộc tính. Nếu bổ sung các từ đồng nghĩa như “màu ngà” hoặc “màu kem,” bạn có thể tìm được nhiều lựa chọn hơn (Hình 1). Nhưng khi truy vấn trở nên phức tạp hơn, bạn phải tự thêm các từ đồng nghĩa, và kết quả có thể bao gồm cả các loại giày khác như giày chạy bộ hoặc giày sneaker.   Hình 1. Nếu bổ sung các từ đồng nghĩa như “màu ngà” hoặc “màu kem,” bạn có thể tìm được nhiều lựa chọn hơn Chẳng hạn, việc tìm kiếm từ “túi laptop” hoặc thậm chí “túi cho máy tính xách tay” có thể không khó với tìm kiếm từ khóa, nhưng các truy vấn như “đồ dùng để mang máy tính khi đi học” hoặc “làm sao để bảo vệ laptop khi di chuyển?” sẽ được xử lý tốt hơn nhiều bởi tìm kiếm ngữ nghĩa (Hình 2). Hình 2. Nhiều mô tả ngữ nghĩa ám chỉ cùng một đối tượng Tìm kiếm ngữ nghĩa (Semantic Search) là một phương pháp nâng cao nhằm cải thiện độ chính xác trong việc truy xuất thông tin bằng cách hiểu ý định của người dùng (User Intent) và ý nghĩa ngữ cảnh (Context) của các từ ngữ trong truy vấn. Thay vì chỉ dựa vào sự trùng khớp từ khóa như các công cụ tìm kiếm truyền thống, tìm kiếm ngữ nghĩa tập trung vào việc giải mã mối quan hệ giữa các khái niệm và ý nghĩa thực sự mà người dùng muốn truyền tải. Mục tiêu cuối cùng của bất kỳ công cụ tìm kiếm nào là giúp người dùng hoàn thành nhiệm vụ của họ một cách hiệu quả, dù đó là đọc tin tức, mua sắm quần áo hay tìm kiếm tài liệu. Để làm được điều này, hệ thống cần phải hiểu được điều mà người dùng thực sự muốn – hay còn gọi là User Intent (ý định của người dùng).

Generative AI 19 - 12 - 2024

Hiểu về "Temperature" trong các mô hình ngôn ngữ lớn

Trong các mô hình ngôn ngữ lớn như GPT-3. 5 hoặc GPT-4, tham số "temperature" là một tham số quan trọng quyết định tính ngẫu nhiên của văn bản được sinh ra. Vậy temperature được sử dụng như thế nào và làm sao để điều chỉnh nó? Cùng tìm hiểu! Khi mô hình ngôn ngữ sinh văn bản, nó đánh giá mỗi từ trong từ vựng bằng một giá trị xác suất (logits). Các xác suất này sau đó được chuyển thành phân phối xác suất bằng hàm softmax, giúp mô hình lựa chọn từ tiếp theo. Temperature điều chỉnh cách phân phối này hoạt động: Temperature cao (>1): Phân phối xác suất trở nên phẳng hơn, cho phép mô hình lựa chọn những từ ít khả dĩ xảy ra. Kết quả là văn bản sáng tạo, nhưng cũng có nguy cơ không mạch lạc.   Hình 1: Kết quả khi temperature rất thấp đem lại văn bản mạch lạc, nhưng lắp lại.  Nguồn ảnh: https://blog. dailydoseofds. com/p/what-is-temperature-in-llms 

RAG 17 - 12 - 2024

Cơ sở dữ liệu Vector (Vector Database) là gì?

Cơ sở dữ liệu vector là hệ thống lưu trữ và quản lý dữ liệu dưới dạng vector – các dãy số biểu diễn dữ liệu phi cấu trúc như văn bản, hình ảnh, âm thanh và video. Mỗi vector là một biểu diễn toán học có thể nắm bắt thông tin ngữ nghĩa, nội dung hoặc đặc điểm của dữ liệu gốc. Trong thời đại AI và dữ liệu lớn, dữ liệu phi cấu trúc như hình ảnh, video, đoạn hội thoại hoặc âm thanh chiếm phần lớn thông tin trên Internet và trong đời sống. Tuy nhiên, dữ liệu này rất khó xử lý và tìm kiếm bằng các phương pháp truyền thống vì chúng không có cấu trúc rõ ràng. Chuyển đổi dữ liệu phi cấu trúc thành các vector số thông qua mô hình học máy như mạng nơ-ron hoặc các mô hình ngôn ngữ lớn (LLM). Dưới đây là quy trình phổ biến cho một cơ sở dữ liệu vector: Nguồn ảnh: Bài viết gốc. Truy vấn (Querying): Cơ sở dữ liệu vector so sánh vector truy vấn với các vector trong tập dữ liệu bằng cách sử dụng tìm kiếm tương đồng dựa trên một thước đo do người dùng xác định trước. Điều này giúp tìm ra các vector gần nhất với vector truy vấn, tối đa hóa độ tương đồng.

Blog kỹ thuật 11 - 11 - 2024

Parent-Child Retriever: Mô Hình Truy Xuất Thông Tin với Ngữ Cảnh Rộng hơn

Parent-Child Retriever là một phương pháp tiên tiến trong hệ thống Retrieval-Augmented Generation (RAG), còn được biết đến với tên Parent-Document-Retriever. Khác với các phương pháp cơ bản như Basic Retriever, Parent-Child Retriever không chỉ tập trung vào việc tìm kiếm những đoạn văn bản có nội dung tương đồng, mà còn mở rộng ngữ cảnh để cung cấp thêm thông tin bao quanh, giúp tạo ra các câu trả lời chính xác và toàn diện hơn. Trong Parent-Child Retriever, nội dung văn bản được chia thành các đoạn lớn hơn gọi là parent chunks và tiếp tục được chia nhỏ thành các đoạn con gọi là child chunks. Mỗi child chunk sẽ được chuyển đổi thành embedding, giúp hệ thống hiểu được ý nghĩa ngữ nghĩa của đoạn văn. Trong quá trình tìm kiếm, các child chunk này sẽ được so sánh với câu hỏi của người dùng để tìm ra những đoạn có ý nghĩa tương đồng nhất. Các parent chunk tương ứng của child chunk sẽ được sử dụng để cung cấp ngữ cảnh rộng hơn cho câu trả lời.   Chia tiếp các parent chunk thành child chunk: Mỗi parent chunk tiếp tục được chia nhỏ thành các child chunk để chuẩn bị cho việc tạo embedding.

Bài Đọc Nhiều Nhất

Tổng hợp các mô hình CNN nổi tiếng - Phần 1
Tổng quan ROS cơ bản
Hướng dẫn cài đặt và thực hành Spring Boot (Phần 1)