Trong bài viết này, chúng ta sẽ khám phá cách xây dựng một Agent Giao thức Ngữ cảnh Mô hình (MCP) dựa trên AI, có thể giúp người dùng vận hành trình duyệt web để hoàn thành các tác vụ hoặc tạo lưu lượng mạng dựa trên hướng dẫn bằng ngôn ngữ tự nhiên. Điều này đạt được bằng cách sử dụng thư viện browser-use mạnh mẽ kết hợp với dịch vụ mô-đun DeepSeek LLM được định cấu hình Local/LAN.
Chúng tôi sẽ giới thiệu từng bước cách thiết lập Dịch vụ Ollama DeepSeek-R1 trong môi trường LAN cục bộ, liên kết nó với MCP Agent và tích hợp với tự động hóa trình duyệt. Vì mô hình DeepSeek chạy cục bộ, bạn sẽ không phải lo lắng về các vấn đề "deepseek service busy" và phí token. Ngoài ra, thiết lập này cho phép thử nghiệm các mô hình khác nhau hoặc bao gồm các phiên bản DeepSeek tinh chỉnh tùy chỉnh để so sánh hiệu suất của các mô hình khác nhau.
Bài viết này sẽ đề cập đến các phần sau:
-
Giới thiệu Kịch bản Kiểm tra Agent – Tổng quan về các trường hợp sử dụng với bản demo.
-
Thiết kế Chi tiết Hoạt động của Agent – Giới thiệu kỹ thuật về cách MCP Agent tương tác với trình duyệt.
-
Thiết lập Môi trường Kiểm tra – Định cấu hình dịch vụ DeepSeek cục bộ và mô-đun tương tác trình duyệt.
-
Tóm tắt Kết quả Kiểm tra và Kết luận – Đánh giá hiệu suất, thông tin chi tiết và các cải tiến tiềm năng.
# Created: 2025/03/08
# version: v_0.0.1
# Copyright: Copyright (c) 2025 LiuYuancheng
# License: MIT License
Các Kịch bản Tác vụ của MCP Agent
Để chứng minh khả năng của MCP Agent, chúng tôi đánh giá hiệu suất của nó thông qua hai kịch bản tác vụ. Trong mỗi trường hợp, agent nhận được một chuỗi đầu vào bằng ngôn ngữ tự nhiên và tự động tương tác với trình duyệt web để truy xuất và tóm tắt thông tin liên quan. Đầu ra cuối cùng là một tệp tóm tắt văn bản ngắn gọn.
Kịch bản 1: Tìm kiếm & Tóm tắt Thông tin Chung
Trong kịch bản này, agent thực hiện một tìm kiếm trên web, thu thập nội dung liên quan và tạo ra một bản tóm tắt có cấu trúc.
Chuỗi Đầu vào Ngôn ngữ Tự nhiên:
Use google search 'deepseek', go to its web and summarize the web contents in 300 words.
Hoạt động của Agent: Agent bắt đầu một truy vấn tìm kiếm, trích xuất các chi tiết chính từ nhiều nguồn và biên soạn một bản tóm tắt. Video demo được hiển thị bên dưới:
Figure-01: Scenario 1: General Information Search & Summarization record, version v_0.0.1 (2025)
Kịch bản 2: Trích xuất & Tóm tắt Nội dung Web Mục tiêu
Ở đây, agent được giao nhiệm vụ truy cập một trang web hoặc kho lưu trữ dự án cụ thể, trích xuất các chi tiết quan trọng (ví dụ: tệp README) và tóm tắt nội dung.
Chuỗi Đầu vào Ngôn ngữ Tự nhiên:
Find the project “Deepseek_Local_LATA,” open the README file, and summarize the project in 100 words.
Hoạt động của Agent: Agent định vị kho lưu trữ, trích xuất nội dung README và tạo ra một bản tóm tắt ngắn gọn. Video demo được hiển thị bên dưới:
Figure-02: Scenario 2: Targeted Web Content Extraction & Summarization record, version v_0.0.1 (2025)
Các kịch bản này cho thấy cách MCP Agent có thể tự động điều hướng web, truy xuất thông tin liên quan và cung cấp các bản tóm tắt có cấu trúc—tất cả đều được hỗ trợ bởi xử lý AI DeepSeek cục bộ/LAN để đạt hiệu quả và kiểm soát.
Thiết kế Chi tiết Hoạt động của MCP Agent
Trước khi đi sâu vào thiết kế chi tiết của agent, trước tiên hãy giới thiệu một số kiến thức cơ bản về Giao thức Ngữ cảnh Mô hình (MCP). MCP là một tiêu chuẩn mở cho phép các kết nối an toàn và tiêu chuẩn hóa giữa các trợ lý AI và các nguồn dữ liệu khác nhau. Nó cho phép các Mô hình Ngôn ngữ Lớn (LLM) truy cập trực tiếp vào các công cụ và bộ dữ liệu, cải thiện khả năng truy xuất và xử lý thông tin của chúng.
Kiến thức nền: Giao thức Ngữ cảnh Mô hình (MCP)
Trong kiến trúc MCP, MCP Servers hoạt động như các chương trình nhẹ, hiển thị các chức năng cụ thể thông qua giao thức tiêu chuẩn hóa. MCP Service đóng vai trò là một lớp trung gian, kết nối các ứng dụng hoặc công cụ với dịch vụ LLM. Các dịch vụ này bao gồm nhiều MCP Agents khác nhau, mỗi agent cung cấp các công cụ, tài nguyên và mẫu lời nhắc cho phép các tương tác động giữa các hệ thống AI và khách hàng.
Đối với dự án này, chúng tôi phát triển một MCP Agent đơn giản tương tác với trình duyệt web. Quy trình làm việc của agent này được hiển thị bên dưới:
Figure-03: simple workflow diagram of browser control MCP agent, version v_0.0.1 (2025)
Bằng cách quản lý tài nguyên với các mẫu truy cập dựa trên URI và hỗ trợ đàm phán khả năng, MCP Servers đóng một vai trò quan trọng trong việc mở rộng các chức năng của hệ thống AI, cho phép chúng thực hiện các hành động hoặc truy xuất thông tin một cách an toàn và hiệu quả.
Tổng quan về Quy trình làm việc của Agent
Quy trình làm việc của agent rất đơn giản như được hiển thị bên dưới và nó hoạt động trong ba bước chính:
-
Bước 1: Thêm Lời nhắc Kịch bản & Tạo Danh sách Việc cần làm.
-
Bước 2: Tương tác với Trình duyệt và phân tích nội dung trang.
-
Bước 3: Tạo Bản Tóm tắt/Kết quả Cuối cùng và xác minh các tác vụ đã hoàn thành.
Figure-04: detailed workflow diagram of browser control MCP agent, version v_0.0.1 (2025)
Bước 1: Thêm Lời nhắc Kịch bản & Tạo Danh sách Việc cần làm
Agent bắt đầu bằng cách sửa đổi yêu cầu đầu vào của người dùng thành một Danh sách Việc cần làm có cấu trúc. Bước này đảm bảo rằng agent hiểu cách thực hiện một cách có hệ thống tác vụ được yêu cầu. Dưới đây là một ví dụ về lời nhắc mà chúng tôi thêm vào trước yêu cầu của người dùng:
Prompt: I am an AI agent program can simulate human actions as a beginner user to use browser, please create the TO-DO steps need to be simulated for the task:
Khi chuỗi đầu vào của người dùng Google search DeepSeek and summarize the product features in 300 words
, yêu cầu agent gửi đến AI sẽ được sửa đổi thành nội dung bên dưới:
# Input to deepseekR1:8b model
Prompt: I am an AI agent program can simulate human actions as a beginner user to use browser, please create the TO-DO steps need to be simulated for the task: Using Google search to find DeepSeek and summarize its product features in 300 words.
The output should exactly follow the JSON format below:
{
"initURL":"",
"tasksList":[
"1. ",
"2. ",
"3. ",
"4. ",
...
]
}
Sau đó, chúng tôi gửi yêu cầu đến Deepseek để nhận danh sách Việc cần làm bên dưới:
# Output from deepseekR1:8b model
initURL = "https://www.google.com/"
tasksList = [
"1. Type in for 'deepseek' in the Google page's search bar",
"2. Click the first search result",
"3. Select the first deepseek link in the google search result page"
"4. Base on the web content in the link, summarize the contents in 300 words"
]
Bước 2: Agent Tương tác với Trình duyệt của Máy chủ
Khi Danh sách Việc cần làm được tạo, agent sẽ thực hiện các bước một cách tự động bằng cách sử dụng thư viện Playwright và mô-đun tương tác browser-use:
-
Mở URL ban đầu do mô hình deepseek-r1:8b cung cấp (trang tìm kiếm Google).
-
Thực hiện các hành động tuần tự từ Danh sách Việc cần làm (ví dụ: nhập, nhấp, điều hướng).
-
Phân tích nội dung trang web hiện tại bằng browser-use và quyết định xem nó có đáp ứng các yêu cầu của bước hay không.
-
Tiếp tục đến bước tiếp theo cho đến khi tất cả các tác vụ được hoàn thành.
Mỗi bước được đánh giá dựa trên phân tích trang web theo thời gian thực để đảm bảo thực hiện chính xác. Nếu một bước không thể hoàn thành, agent sẽ cố gắng thực hiện các biện pháp khắc phục hoặc ghi lại lỗi.
Tài liệu tham khảo:
-
Playwright : https://github.com/microsoft/playwright
-
Browser-Use: https://github.com/browser-use/browser-use
Bước 3: Tạo Bản Tóm tắt Kết quả
Khi tất cả các tác vụ trong Danh sách Việc cần làm được hoàn thành, nội dung được trích xuất sẽ được gửi đến DeepSeek LLM để tóm tắt. Lời nhắc Xác minh Cuối cùng được Gửi đến LLM:
The result content is: .
Can this content fulfill the user's goal to Google search DeepSeek and summarize its product features in 300 words?
Đầu ra cuối cùng bao gồm:
-
Bản tóm tắt nội dung được trích xuất.
-
Xác minh độ chính xác của kết quả của DeepSeek.
-
Kết quả kiểm tra được lưu trữ để đánh giá thêm.
Agent này có thể được mở rộng hơn nữa để hỗ trợ các mô hình AI đám mây hoặc cục bộ khác nhau, tự động hóa duyệt web tùy chỉnh và các tác vụ suy luận nhiều bước dựa trên các kịch bản do người dùng xác định.
Giới thiệu và Thiết lập Môi trường
Tổng quan về Môi trường
Trong thiết lập môi trường kiểm tra này, chúng tôi đã định cấu hình một Mạng Khu vực Cục bộ (LAN) với ít nhất hai loại máy:
-
Một máy chủ được hỗ trợ bởi GPU lưu trữ dịch vụ DeepSeek.
-
Nhiều máy tính xách tay tiêu chuẩn chạy các agent điều khiển trình duyệt.
AI agent sẽ chịu trách nhiệm điều khiển trình duyệt trên máy tính xách tay và cấu trúc liên kết mạng được minh họa bên dưới:
Figure-05: Test environment network connection configuration, version v_0.0.1 (2025)
Để thiết lập môi trường này, chúng ta cần thực hiện thiết lập sau và cấu hình được hiển thị bên dưới:
-
Triển khai dịch vụ DeepSeek trên máy chủ GPU.
-
Cài đặt và định cấu hình các agent điều khiển trình duyệt trên máy tính xách tay.
Tên VM | Địa chỉ IP | Thông số phần cứng | Hệ điều hành | Chương trình | Yêu cầu Ngôn ngữ Tự nhiên |
---|---|---|---|---|---|
Máy chủ GPU cục bộ | 192.168.50.12 | Intel-i5, 32GB, RTX-3060 | Windows- 11 | Ollama [deepseek-r1:8b] | N.A |
Laptop01 | 192.168.50.112 | Intel-i5, 16GB, RTX-1060 | Windows- 11 | Browser Control Agent | Google search deepseek and summarize the product features in 300 words. |
Laptop02 | 192.168.50.113 | Intel-i5, 16GB, Intel UHD GPU | Windows- 11 | Browser Control Agent | Find the project "Deepseek_Local_LATA" and open the readme file, summarize the project in 100 words. |
Thiết lập Dịch vụ DeepSeek trên Nút GPU
Máy chủ GPU cần chạy DeepSeek-R bằng Ollama và hiển thị kết nối dịch vụ cho các nút LAN.
Bước 1: Cài đặt Dịch vụ Ollama LLM
Tải xuống Ollama từ trang web chính thức: https://ollama.com/download và chọn gói phù hợp cho hệ điều hành của bạn và cài đặt nó.
Bước 2 Tải xuống và Chạy DeepSeek-R
Vì máy chủ GPU của chúng tôi có RTX 3060 (12GB), chúng tôi sử dụng mô hình 8B. Chạy lệnh sau để tải xuống và khởi chạy mô hình DeepSeek-R1:8b:
ollama run deepseek-r1:8b
Để kiểm tra mô hình deepseek lớn nhất mà nút GPU của bạn có thể chạy, bạn có thể tham khảo liên kết này: https://www.linkedin.com/pulse/deploying-deepseek-r1-locally-custom-rag-knowledge-data-yuancheng-liu-uzxwc
Bước 3: Hiển thị Dịch vụ DeepSeek cho LAN
Đặt biến môi trường trên Mac
Nếu Ollama được chạy dưới dạng ứng dụng macOS, các biến môi trường nên được đặt bằng launchctl
:
-
Đối với mỗi biến môi trường, hãy gọi
launchctl setenv
.
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
-
Khởi động lại ứng dụng Ollama.
Đặt biến môi trường trên Linux
Nếu Ollama được chạy dưới dạng dịch vụ systemd, các biến môi trường nên được đặt bằng systemctl
:
-
Chỉnh sửa dịch vụ systemd bằng cách gọi
systemctl edit ollama.service
. Thao tác này sẽ mở một trình soạn thảo. -
Đối với mỗi biến môi trường, hãy thêm một dòng
Environment
bên dưới phần[Service]
:[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434" -
Lưu và thoát.
-
Tải lại
systemd
và khởi động lại Ollama:systemctl daemon-reload
systemctl restart ollama
Đặt biến môi trường trên Windows
Trên Windows, Ollama kế thừa các biến môi trường người dùng và hệ thống của bạn.
-
Trước tiên, hãy Thoát Ollama bằng cách nhấp vào nó trên thanh tác vụ.
-
Khởi động ứng dụng Cài đặt (Windows 11) hoặc Bảng điều khiển (Windows 10) và tìm kiếm biến môi trường.
-
Nhấp vào Chỉnh sửa biến môi trường cho tài khoản của bạn.
-
Chỉnh sửa hoặc tạo một biến mới cho tài khoản người dùng của bạn cho
OLLAMA_HOST
, đặt giá trị của nó thành0.0.0.0
-
Nhấp vào OK/Áp dụng để lưu.
-
Khởi động ứng dụng Ollama từ menu Bắt đầu của Windows.
Tài liệu tham khảo: https://github.com/ollama/ollama/blob/main/docs/faq.md#how-do-i-configure-ollama-server
Định cấu hình Agent trên Nút Hoạt động
Khi nút GPU đã sẵn sàng, chúng ta cần định cấu hình từng máy tính xách tay nút hoạt động. Nút hoạt động yêu cầu: Một trình duyệt web hiện đại, Python 3.11 trở lên, Yêu cầu và các thư viện Python đã cài đặt.
Bước 1: Cài đặt Thư viện Python Yêu cầu
Cài đặt hỗ trợ Ollama và LangChain:
pip install ollama
pip install langchain-ollama
Cài đặt thư viện tự động hóa browser-use:
pip install browser-use
Cài đặt Playwright để điều khiển trình duyệt:
playwright install
Bước 2: Định cấu hình Tham số Agent
Mỗi máy tính xách tay chạy một agent điều khiển trình duyệt tương tác với DeepSeek, tải xuống tệp dsBrowserCtrlAgent.py
, dsBrowserCtrlConfig.txt
và ConfigLoader.py
vào nút hoạt động.
Thiết lập cấu hình dịch vụ deepseek dsBrowserCtrlConfig.txt
dựa trên nút GPU và mô hình đang chạy:
# This is the config file template for the module
# Setup the parameters with below format (every line follow : format, the
# key can not be changed):
#-----------------------------------------------------------------------------
# GPU node IP address which provide the ollama service.
OLLAMA_HOST_IP:192.168.50.12
#-----------------------------------------------------------------------------
# The deepseek model name we want to use.
DP_MODEL_NAME:deepseek-r1:8b
#-----------------------------------------------------------------------------
# The deepseek CTX number name we want to use, # for deepseek-r1:7b and 8b use
# 6000, for higher model use 32000
NUM_CTX:6000
Sau đó, thêm yêu cầu vào tham số USER_REQUEST
như được hiển thị bên dưới rồi bắt đầu:
#-----------------------------------------------------------------------------
# the user request string such as Use google search 'deepseek', go to its web
# and summarize the web contents in 100 words
USER_REQUEST:Use google search 'deepseek', go to its web and summarize the web contents in 100 words
Bước 3: Chạy MCP Agent
Sau đó, thực thi agent bằng lệnh bên dưới và thu thập kết quả.
python dsBrowserCtrlAgent.py
Agent sẽ Kết nối với máy chủ GPU đang chạy DeepSeek-R1, thực hiện các tương tác trình duyệt (ví dụ: tìm kiếm, nhấp, tóm tắt) và trả về đầu ra đã xử lý dựa trên yêu cầu.
Liên kết mã: https://github.com/LiuYuancheng/Deepseek_Local_LATA/tree/main/Application/BrowserAgent
Tóm tắt Kết quả Kiểm tra và Kết luận
Trong quá trình đánh giá, chúng tôi đã kiểm tra bốn kích thước mô hình DeepSeek khác nhau để phân tích tác động của chúng đối với việc hoàn thành tác vụ và tốc độ thực thi. Thử nghiệm bao gồm thực hiện một loạt các tác vụ dựa trên trình duyệt, bao gồm tìm kiếm một dự án cụ thể, chọn các liên kết liên quan, đọc nội dung và tóm tắt thông tin.
Dưới đây là kết quả tác vụ của kịch bản 2:
Hàm \ Mô hình Deepseek | deepseek-r1:1.5b | deepseek-r1:7b | deepseek-r1:8b | deepseek-r1:14b |
---|---|---|---|---|
Tạo Danh sách Việc cần làm | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành |
1. Nhấp vào biểu tượng tìm kiếm (kính lúp) ở đầu trang. | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành |
2. Nhập 'Deepseek_Local_LATA' vào thanh tìm kiếm. | Thất bại | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành |
3. Chọn liên kết Deepseek_Local_LATA trong kết quả | Thất bại | Đã hoàn thành | Đã hoàn thành | Đã hoàn thành |
4. Chọn liên kết tệp README.md và cuộn xuống | Thất bại | Thất bại | Đã hoàn thành | Đã hoàn thành |
5. Dựa trên nội dung readme trong liên kết, tóm tắt nội dung trong 100 từ | Thất bại | Thất bại | Đã hoàn thành | Đã hoàn thành |
Trong quá trình kiểm tra, có một số quan sát:
-
Hoàn thành Tác vụ Cơ bản: Tất cả các mô hình, kể cả mô hình nhỏ nhất (1.5B), đã thực hiện thành công các hành động đơn giản như tạo danh sách việc cần làm và nhấp vào biểu tượng tìm kiếm.
-
Tìm kiếm và Điều hướng: Các mô hình dưới 7B gặp khó khăn trong việc thực hiện tìm kiếm từ khóa và chọn các liên kết liên quan.
-
Xử lý Nội dung: Cần tối thiểu 8B để đọc và tóm tắt tệp README một cách hiệu quả.
-
Mở rộng Hiệu suất: Mô hình 14B đã chứng minh hiệu suất vượt trội, hoàn thành tất cả các tác vụ mà không gặp lỗi và đảm bảo tốc độ và độ chính xác thực thi tốt hơn.
Kết luận :
Kết quả kiểm tra nhấn mạnh rằng kích thước mô hình ảnh hưởng đáng kể đến tỷ lệ thành công của tác vụ và hiệu quả thực thi. Mô hình 8B là lựa chọn khả thi tối thiểu cho các tác vụ duyệt web cơ bản, trong khi mô hình lớn hơn 14B được khuyến nghị để xử lý các quy trình phức tạp, đa bước với độ chính xác và độ tin cậy cao hơn.
Thiết kế này đảm bảo một phương pháp có cấu trúc, tự động và chính xác để thực hiện các tác vụ dựa trên trình duyệt bằng cách sử dụng một tác nhân AI được hỗ trợ bởi MCP. Bằng cách tích hợp xử lý DeepSeek LLM cục bộ, người dùng được hưởng lợi từ:
-
Độ trễ thấp hơn so với các giải pháp dựa trên đám mây.
-
Hiệu quả chi phí bằng cách loại bỏ sự phụ thuộc vào các API bên ngoài.
-
Tính linh hoạt tùy chỉnh cho tự động hóa dựa trên AI phù hợp.
Đối với những người dùng tìm kiếm độ chính xác cao hơn và khả năng thực thi mạnh mẽ, việc đầu tư vào các mô hình DeepSeek lớn hơn (14B trở lên) được khuyến nghị để tối đa hóa hiệu suất và độ tin cậy trong tự động hóa tác vụ trình duyệt dựa trên AI.
- Liên kết Repo GitHub của dự án: https://github.com/LiuYuancheng/Deepseek_Local_LATA
- Nếu bạn quan tâm đến việc triển khai và kiểm tra cục bộ Deepseek-R1 khác, vui lòng tham khảo:
- Kiểm tra Deepseek 01 : https://www.linkedin.com/pulse/deploying-deepseek-r1-locally-custom-rag-knowledge-data-yuancheng-liu-uzxwc
- Kiểm tra Deepseek 02 : https://www.linkedin.com/pulse/use-simple-web-wrapper-share-local-deep-seek-r1-model-yuancheng-liu-n7p6c
Cảm ơn bạn đã dành thời gian xem chi tiết bài viết, nếu bạn có bất kỳ câu hỏi và đề xuất nào hoặc tìm thấy bất kỳ lỗi chương trình nào, vui lòng nhắn tin cho tôi. Rất cảm ơn nếu bạn có thể đưa ra một số nhận xét và chia sẻ bất kỳ lời khuyên cải tiến nào để chúng tôi có thể làm cho công việc của mình tốt hơn ~
last edit by LiuYuancheng (liu_yuan_cheng@hotmail.com) by 18/03/2025 if you have any problem, please send me a message.