Skip to content

Commit cfe3e1a

Browse files
committed
🔨 refactor(feature_test): replace detect_multilingual with detect, adjust parameters for accuracy
1 parent aeac7b6 commit cfe3e1a

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

feature_test/__init__.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@
33
# @Author : sudoskys
44
from fast_langdetect import (
55
detect,
6-
detect_multilingual,
76
detect_language,
87
LangDetector,
98
LangDetectConfig,
9+
DetectError,
1010
)
1111

12-
# 测试繁体,简体,日文,英文,韩文,法文,德文,西班牙文
13-
print(detect_multilingual("Hello, world!你好世界!Привет, мир!", low_memory=False))
14-
# [{'lang': 'ja', 'score': 0.32009604573249817}, {'lang': 'uk', 'score': 0.27781224250793457}, {'lang': 'zh', 'score': 0.17542070150375366}, {'lang': 'sr', 'score': 0.08751443773508072}, {'lang': 'bg', 'score': 0.05222449079155922}]
15-
print(detect("hello world"))
16-
print(detect("你好世界"))
12+
# 多语言候选(使用 full 模型,返回前 5 个候选)
13+
print(detect("Hello, world!你好世界!Привет, мир!", model="full", k=5))
14+
15+
# 简单检测(返回列表,取前 1 个候选)
16+
print(detect("hello world", k=1))
17+
print(detect("你好世界", k=1))
1718
print(detect_language("Привет, мир!"))
1819
print(detect_language("你好世界"))
1920
print(detect_language("こんにちは世界"))
@@ -27,17 +28,22 @@
2728
)
2829
)
2930

30-
# When offline, its raise error
31-
print(
32-
detect_multilingual(
33-
"Hello, world!你好世界!Привет, мир!",
34-
low_memory=False,
35-
config=LangDetectConfig(allow_fallback=True)
31+
# 当离线或无网络时,使用 full 模型会抛出 DetectError;lite 模型离线可用
32+
try:
33+
print(
34+
detect(
35+
"Hello, world!你好世界!Привет, мир!",
36+
model="full",
37+
k=5,
38+
config=LangDetectConfig(),
39+
)
3640
)
37-
)
41+
except DetectError as e:
42+
print(f"Detection failed: {e}")
3843

39-
config = LangDetectConfig(allow_fallback=False)
44+
# 使用自定义配置与实例化 Detector
45+
config = LangDetectConfig()
4046
detector = LangDetector(config)
41-
# 尝试使用大模型进行检测(应该会失败并回退到小模型
42-
result = detector.detect("Hello world", low_memory=False)
47+
# 使用大模型进行检测(无自动回退
48+
result = detector.detect("Hello world", model="full", k=1)
4349
print(result)

feature_test/lingua_t.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from lingua import LanguageDetectorBuilder
22

3-
from fast_langdetect import detect_language, detect_multilingual
3+
from fast_langdetect import detect_language, detect
44

55
low_mem_detector = (LanguageDetectorBuilder
66
.from_all_languages()
@@ -47,7 +47,7 @@
4747
這些機構主辦的課程,多以基本電腦使用為主,例如文書處理、中文輸入、互聯網應用等
4848
Bonjour le monde
4949
"""
50-
langs = detect_multilingual(sentence.replace("\n", " "), low_memory=False)
50+
langs = detect(sentence.replace("\n", " "), model="full", k=5)
5151
for lang in langs:
5252
print(lang)
5353
confidence_values = detector.compute_language_confidence_values(sentence)

0 commit comments

Comments
 (0)