|
3 | 3 | # @Author : sudoskys |
4 | 4 | from fast_langdetect import ( |
5 | 5 | detect, |
6 | | - detect_multilingual, |
7 | 6 | detect_language, |
8 | 7 | LangDetector, |
9 | 8 | LangDetectConfig, |
| 9 | + DetectError, |
10 | 10 | ) |
11 | 11 |
|
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)) |
17 | 18 | print(detect_language("Привет, мир!")) |
18 | 19 | print(detect_language("你好世界")) |
19 | 20 | print(detect_language("こんにちは世界")) |
|
27 | 28 | ) |
28 | 29 | ) |
29 | 30 |
|
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 | + ) |
36 | 40 | ) |
37 | | -) |
| 41 | +except DetectError as e: |
| 42 | + print(f"Detection failed: {e}") |
38 | 43 |
|
39 | | -config = LangDetectConfig(allow_fallback=False) |
| 44 | +# 使用自定义配置与实例化 Detector |
| 45 | +config = LangDetectConfig() |
40 | 46 | detector = LangDetector(config) |
41 | | -# 尝试使用大模型进行检测(应该会失败并回退到小模型) |
42 | | -result = detector.detect("Hello world", low_memory=False) |
| 47 | +# 使用大模型进行检测(无自动回退) |
| 48 | +result = detector.detect("Hello world", model="full", k=1) |
43 | 49 | print(result) |
0 commit comments