Công cụ Language detection trong ElevenAgents: Cho phép agent tự động chuyển đổi ngôn ngữ
Mua gói Thành viên QuanTriMang Pro để trải nghiệm website không quảng cáo và sử dụng các tiện ích AI trên QuanTriMang.
Tổng quan
Công cụ hệ thống Language detection cho phép agent ElevenLabs của bạn chuyển ngôn ngữ đầu ra sang bất kỳ ngôn ngữ nào mà agent hỗ trợ. Công cụ hệ thống này không được kích hoạt tự động. Mô tả của nó có thể được tùy chỉnh để phù hợp với trường hợp sử dụng cụ thể của bạn.
Nếu có thể, bạn nên bật tất cả ngôn ngữ cho agent và bật công cụ hệ thống phát hiện ngôn ngữ.
Công cụ phát hiện ngôn ngữ của ElevenLabs kích hoạt chuyển đổi ngôn ngữ trong hai trường hợp, cả hai đều dựa trên ngôn ngữ và nội dung được phát hiện của âm thanh nhận được:
detectionnếu người dùng nói một ngôn ngữ khác với ngôn ngữ đầu ra hiện tại, một công tắc sẽ được kích hoạtcontentnếu người dùng yêu cầu ngôn ngữ hiện tại thay đổi sang ngôn ngữ mới, một chuyển đổi sẽ được kích hoạt
Mục đích: Tự động chuyển sang ngôn ngữ được người dùng phát hiện trong khi hội thoại.
Điều kiện kích hoạt: LLM nên gọi công cụ này khi:
- Người dùng nói bằng ngôn ngữ khác với ngôn ngữ hội thoại hiện tại
- Người dùng yêu cầu chuyển đổi ngôn ngữ một cách rõ ràng
- Cần hỗ trợ đa ngôn ngữ cho cuộc trò chuyện
Tham số:
reason(chuỗi, bắt buộc): Lý do chuyển đổi ngôn ngữlanguage(chuỗi, bắt buộc): Mã ngôn ngữ để chuyển sang (phải có trong danh sách ngôn ngữ được hỗ trợ)
Định dạng gọi hàm:
{
"type": "function",
"function": {
"name": "language_detection",
"arguments": "{\"reason\": \"User requested Spanish\", \"language\": \"es\"}"
}
}
Triển khai: Định cấu hình các ngôn ngữ được hỗ trợ trong phần cài đặt agent và thêm công cụ hệ thống Language detection. Agent sẽ tự động chuyển đổi giọng nói và phản hồi cho phù hợp với ngôn ngữ được phát hiện.
Bật tính năng phát hiện ngôn ngữ
1. Định cấu hình các ngôn ngữ được hỗ trợ
Các ngôn ngữ mà agent có thể chuyển đổi sang phải được xác định trong tab Agent settings.
2. Thêm công cụ phát hiện ngôn ngữ
Bật tính năng phát hiện ngôn ngữ bằng cách chọn công cụ hệ thống đã được định cấu hình sẵn vào danh sách công cụ của agent trong tab Agent. Tùy chọn này sẽ tự động xuất hiện khi bạn chọn thêm công cụ.
3. Định cấu hình mô tả công cụ
Thêm mô tả nêu rõ thời điểm cần gọi công cụ này.
Giới hạn việc chuyển đổi ngôn ngữ vào giai đoạn đầu cuộc hội thoại
Trong một cuộc hội thoại dài, âm thanh nền hoặc giọng địa phương khác lạ đôi khi có thể kích hoạt việc chuyển đổi ngôn ngữ ngoài ý muốn của người gọi. Việc bật tùy chọn only_at_conversation_start (chỉ áp dụng ở đầu cuộc hội thoại) sẽ giới hạn phạm vi chuyển đổi ngôn ngữ trong hai lượt phản hồi đầu tiên của người dùng.
Nếu ngôn ngữ không thay đổi trong hai lượt đó, tính năng phát hiện ngôn ngữ sẽ bị vô hiệu hóa cho phần còn lại của cuộc hội thoại: Mọi nỗ lực chuyển đổi sau đó đều sẽ thất bại và agent vẫn tiếp tục sử dụng ngôn ngữ hiện tại. Nếu ngôn ngữ thực sự thay đổi trong khoảng thời gian này, tính năng chuyển đổi vẫn sẽ tiếp tục khả dụng trong suốt phần còn lại của cuộc hội thoại, cho phép điều chỉnh nếu phát hiện sai ngôn ngữ.
Tùy chọn này mặc định bị tắt.
Cập nhật qua dashboard
Chọn công cụ Detect language trong tab Tools và bật tùy chọn Only at start of conversation.
Cập nhật qua giao diện dòng lệnh (CLI)
1. Tải xuống cấu hình agent
elevenlabs agents pull
2. Chỉnh sửa file agent_configs/<agent-name>.json
Thiết lập thuộc tính only_at_conversation_start cho công cụ phát hiện ngôn ngữ. Các trường dữ liệu xung quanh đã được lược bỏ để đảm bảo sự ngắn gọn.
{
"conversation_config": {
"agent": {
"prompt": {
"built_in_tools": {
"language_detection": {
"type": "system",
"name": "language_detection",
"params": {
"system_tool_type": "language_detection",
"only_at_conversation_start": true
}
}
}
}
}
}
}
3. Đẩy các thay đổi của bạn lên
elevenlabs agents push
Cập nhật qua API
Python
from elevenlabs import ElevenLabs
elevenlabs = ElevenLabs()
elevenlabs.conversational_ai.agents.update(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
conversation_config={
"agent": {
"prompt": {
"built_in_tools": {
"language_detection": {
"type": "system",
"name": "language_detection",
"params": {
"system_tool_type": "language_detection",
"only_at_conversation_start": True,
},
}
}
}
}
},
)
TypeScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const elevenlabs = new ElevenLabsClient();
await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
conversationConfig: {
agent: {
prompt: {
builtInTools: {
languageDetection: {
type: "system",
name: "language_detection",
params: {
systemToolType: "language_detection",
onlyAtConversationStart: true,
},
},
},
},
},
},
});
Khi việc chuyển đổi ngôn ngữ bị chặn, công cụ sẽ gửi thông báo lỗi đến mô hình ngôn ngữ lớn (LLM), yêu cầu mô hình tiếp tục sử dụng ngôn ngữ hiện tại. Người gọi sẽ không biết lý do cụ thể cho việc này.
Triển khai API
Khi tạo một agent thông qua API, bạn có thể thêm công cụ phát hiện ngôn ngữ vào cấu hình agent của mình. Công cụ này cần được định nghĩa là một công cụ hệ thống (system tool):
Python
from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
# Create language presets
language_presets = {
"nl": {"overrides": {"agent": {"first_message": "Hoi, hoe gaat het met je?"}}},
"fi": {"overrides": {"agent": {"first_message": "Hei, kuinka voit?"}}},
"tr": {"overrides": {"agent": {"first_message": "Merhaba, nasılsın?"}}},
"ru": {"overrides": {"agent": {"first_message": "Привет, как ты?"}}},
"pt": {"overrides": {"agent": {"first_message": "Oi, como você está?"}}},
}
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
first_message="Hi how are you?",
prompt={
"built_in_tools": {
"language_detection": {
"type": "system",
"name": "language_detection",
# Optional: customize when the tool should be triggered
"description": "",
"params": {"system_tool_type": "language_detection"},
}
},
},
),
language_presets=language_presets,
),
)
JavaScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const elevenlabs = new ElevenLabsClient({
apiKey: "YOUR_API_KEY",
});
await elevenlabs.conversationalAi.agents.create({
conversationConfig: {
agent: {
firstMessage: "Hi, how are you?",
prompt: {
builtInTools: {
languageDetection: {
type: "system",
name: "language_detection",
description: "", // Optional: Customize when the tool should be triggered
params: { systemToolType: "language_detection" },
},
},
},
},
languagePresets: {
nl: { overrides: { agent: { firstMessage: "Hoi, hoe gaat het met je?" } } },
fi: {
overrides: { agent: { firstMessage: "Hei, kuinka voit?" } },
firstMessageTranslation: {
sourceHash: '{"firstMessage":"Hi how are you?","language":"en"}',
text: "Hei, kuinka voit?",
},
},
tr: { overrides: { agent: { firstMessage: "Merhaba, nasılsın?" } } },
ru: { overrides: { agent: { firstMessage: "Привет, как ты?" } } },
pt: { overrides: { agent: { firstMessage: "Oi, como você está?" } } },
ar: { overrides: { agent: { firstMessage: "مرحبًا كيف حالك؟" } } },
},
},
});
Bash
curl -X POST https://api.elevenlabs.io/v1/convai/agents/create \
-H "xi-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"conversation_config": {
"agent": {
"first_message": "Hi how are you?",
"prompt": {
"built_in_tools": {
"language_detection": {
"type": "system",
"name": "language_detection",
"description": "",
"params": { "system_tool_type": "language_detection" }
}
}
}
},
"language_presets": {
"nl": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "Hoi, hoe gaat het met je?",
"language": null
},
"tts": null
}
},
"fi": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "Hei, kuinka voit?",
"language": null
},
"tts": null
}
},
"tr": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "Merhaba, nasılsın?",
"language": null
},
"tts": null
}
},
"ru": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "Привет, как ты?",
"language": null
},
"tts": null
}
},
"pt": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "Oi, como você está?",
"language": null
},
"tts": null
}
},
"ar": {
"overrides": {
"agent": {
"prompt": null,
"first_message": "مرحبًا كيف حالك؟",
"language": null
},
"tts": null
}
}
}
}
}'
Để trống phần mô tả nếu muốn sử dụng câu lệnh mặc định cho việc nhận diện ngôn ngữ.
Bạn nên đọc
-
Nâng cao khả năng ElevenAgents bằng cơ sở kiến thức quy mô lớn sử dụng RAG
-
Code tools: Chạy logic JavaScript tùy chỉnh trực tiếp trên cơ sở hạ tầng của ElevenLabs
-
Cấu hình hành vi kênh (channel) cho ElevenAgents
-
Công cụ End call trong ElevenAgents: Cho phép agent tự động ngắt cuộc gọi với người dùng
-
Cách kết nối agent đàm thoại ElevenLabs với các công cụ và nguồn dữ liệu bên ngoài bằng MCP
-
Thiết lập cơ sở kiến thức cho ElevenAgents
-
Thêm âm thanh nền, áp dụng bộ lọc giọng nói cho ElevenAgents
-
Tìm hiểu về chế độ Expressive trong ElevenAgents
-
Cách cấu hình agent để giao tiếp bằng nhiều ngôn ngữ trong ElevenAgents
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Hướng dẫn AI
AI Tools
Học IT
Hàm Excel