Công cụ Language detection trong ElevenAgents: Cho phép agent tự động chuyển đổi ngôn ngữ

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:

  • detection nế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ạt
  • content nế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.

Ngôn ngữ của agent
Ngôn ngữ của agent

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ụ.

Công cụ hệ thống
Công cụ hệ thống

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.

Mô tả
Mô tả

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ữ.

Thứ Sáu, 16/10/2026 14:51
5 ★ 1 👨
Xác thực tài khoản!

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:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Eleven Agents