Trong bài viết trước về triển khai tư nhân hóa Dify, chúng ta đã thêm công cụ tìm kiếm mạng nội bộ vào luồng công việc để giải quyết vấn đề thu thập thông tin thời gian thực. Trong bài này, chúng ta sẽ tập trung vào hai trường hợp sử dụng chính: tích hợp cơ chế phát hiện từ nhạy cảm tùy chỉnh qua API để đảm bảo tuân thủ và xây dựng công cụ tự động hóa để truy vấn hệ thống nội bộ.
Một. Mở rộng API: Tích hợp API phát hiện từ nhạy cảm vào trò chuyện AI
Để đảm bảo tuân thủ pháp luật khi triển khai ứng dụng trò chuyện AI, cần kiểm tra nội dung đầu vào và đầu ra. Dify hỗ trợ mở rộng API, cho phép tích hợp chức năng kiểm duyệt nội dung.
1. Phát triển API phát hiện từ nhạy cảm
Dưới đây là một ví dụ về cách tạo API phát hiện từ nhạy cảm bằng NodeJS:
const express = require('express');
const app = express();
app.use(express.json());
// Danh sách từ nhạy cảm
const FORBIDDEN_WORDS = ['bạo lực', 'nội dung người lớn', 'chất cấm', 'nhạy cảm'];
// Endpoint kiểm tra từ nhạy cảm
app.post('/api/check-sensitive-words', (req, res) => {
const { action, data } = req.body;
if (action === 'ping') {
return res.json({ status: 'online' });
}
if (action === 'check') {
let fullText = '';
if (data.text) fullText += data.text;
if (data.inputs) fullText += Object.values(data.inputs).join(' ');
const detectedWords = FORBIDDEN_WORDS.filter(word => fullText.includes(word));
if (detectedWords.length > 0) {
return res.json({
blocked: true,
message: 'Nội dung chứa từ nhạy cảm đã bị chặn.'
});
}
return res.json({ blocked: false });
}
res.status(400).json({ error: 'Hành động không hợp lệ.' });
});
app.listen(3000, () => console.log('API running on port 3000'));
2. Cấu hình API mở rộng trong Dify
Sau khi triển khai API, bạn cần đăng ký nó trong Dify:
- Vào phần Cài đặt trên giao diện người dùng.
- Thêm mới một mở rộng API với endpoint của dịch vụ vừa tạo.
- Lưu ý rằng nếu Dify chạy trong Docker cùng máy chủ, hãy sử dụng IP công cộng thay vì localhost.
3. Kích hoạt chức năng kiểm duyệt trong ứng dụng trò chuyện
Truy cập ứng dụng trò chuyện đã tạo -> Orchestrate -> Moderation, chọn mở rộng API mà bạn đã cấu hình để áp dụng cho cả đầu vào và đầu ra.
Hai. Phát triển công cụ tùy chỉnh: Kết nối hệ thống truy vấn đơn hàng qua OpenAPI
Mục tiêu ở đây là cho phép người dùng truy vấn trạng thái đơn hàng bằng ngôn ngữ tự nhiên.
1. Xây dựng API truy vấn đơn hàng và định nghĩa OpenAPI
Dưới đây là một ví dụ về API đơn hàng:
app.get('/v1/orders/:id', (req, res) => {
const orderId = req.params.id;
const orderDetails = {
id: orderId,
title: "Đơn hàng mẫu - Lỗi kết nối",
description: "Phát hiện lỗi SSH trên một số nút.",
status: "đang xử lý",
priority: "cao",
creator: "Quản trị viên",
createdAt: "2024-02-13T08:00:00Z",
assignee: "Kỹ sư vận hành - Nguyễn Văn A"
};
if (orderId === '404') {
return res.status(404).json({ error: 'Không tìm thấy đơn hàng.' });
}
res.json(orderDetails);
});
Tiếp theo, tạo tệp JSON định nghĩa OpenAPI tương ứng.
2. Kết nối công cụ tùy chỉnh trong Dify
Truy cập Tools -> Custom -> Create Custom Tool, dán định nghĩa OpenAPI vào hộp nhập liệu Schema. Đảm bảo thay thế URL server thành địa chỉ thật của máy chủ.
3. Sử dụng công cụ trong Workflow hoặc Agent
Sau khi thiết lập xong, bạn có thể gọi công cụ trong các quy trình làm việc hoặc đại lý AI. Ví dụ, khi nhập "Kiểm tra tiến độ đơn hàng T1001", hệ thống sẽ:
- Hiểu yêu cầu và trích xuất ID đơn hàng.
- Gọi công cụ
v1_orders_id_getvới tham sốid. - Chuyển đổi phản hồi JSON thành câu trả lời dễ hiểu.