Odróżnij dane wejściowe w Unicode od podziału imienia i nazwiska
Chińskie imię możesz wysłać jako tekst Unicode bez zamiany na alfabet łaciński. Obecne wyszukiwanie sprawdza znormalizowane składniki; nie dzieli automatycznie chińskiego imienia i nazwiska zapisanego bez spacji na nazwisko i imię. 王静怡 jest więc jednym kandydatem, a nie gwarantowanym wyszukiwaniem 静怡.
W przypadku popularnych znaków chińskich z tych przykładów obecny filtr kandydatów w zbiorze danych pomija składniki jedno- i dwuznakowe. Krótkie imię może być prawidłowymi danymi wejściowymi, a mimo to nie dać kandydata. Standardowe przejście na AI może nadal ocenić oryginalną przesłaną wartość; tryb tylko ze zbiorem danych zachowuje wynik unknown.
Normalizacja Unicode NFKC nie zapewnia ogólnej konwersji między chińskim uproszczonym a tradycyjnym i nie przypisuje zapisu łacińskiego do jednego oryginalnego chińskiego imienia. Zachowaj przesłany zapis i sprawdź zwrócone dopasowanie. Pozycja nazwiska, pismo ani latynizacja nie wystarczą, aby wnioskować o płci lub kraju danej osoby.
| Przykładowe dane wejściowe | Co przedstawia | Co sprawdzić |
|---|---|---|
王静怡 | Imię i nazwisko zapisane bez spacji | Jeden kandydat w zbiorze danych. Obecny parser nie oddziela nazwiska. |
静怡 | Dwuznakowe imię | Pomijane przez filtr długości kandydatów; przejście na AI może ocenić oryginalną wartość. |
王 静怡 | Rozdzielone krótkie składniki | Dodanie spacji nie omija filtra długości. Oba składniki z przykładu są za krótkie do wyszukiwania w zbiorze danych. |
Wang Jingyi | Dane wejściowe w alfabecie łacińskim | Traktowane jako odrębna wartość, dzielona na własne składniki. Nie ma gwarancji, że zostanie dopasowana do oryginalnych znaków ani do tego samego rekordu. |
Świadomie wybierz kontekst kraju CN
Demo wysyła country: CN (Chiny). API nie wybiera tego kraju na podstawie pisma, w którym zapisano imię. W swojej integracji używaj znanego i odpowiedniego kontekstu kraju albo pomiń country. Nie zamieniaj tego przykładu w wartość domyślną dla wszystkich rekordów.
Dla każdego kandydata wyszukiwanie wybiera rekord dla danego kraju, jeśli istnieje, a w przeciwnym razie sprawdza rekord globalny. Następnie wybiera dostępnego kandydata o największej zapisanej łącznej liczbie wystąpień. Rzeczywisty zakres dopasowania sprawdzisz w data.match.scope i data.match.country. Rekord kraju z równymi liczbami wystąpień nie jest automatycznie zastępowany wynikiem globalnym; jeśli włączony jest fallback, zamiast tego może zostać użyta AI.
data.input.country opisuje kontekst wysłany w zapytaniu. data.country i data.country_source opisują zwrócone powiązanie z krajem i jego pochodzenie. To różne pola; nie dowodzą one obywatelstwa, pochodzenia etnicznego ani miejsca zamieszkania.
Wyślij zapytanie V2 o imię ze swojej aplikacji
Ustaw zmienną GENDERAPI_API_KEY na swój istniejący klucz i uruchom przykład na swoim serwerze. Zapytanie jawnie włącza standardowe przejście na AI. Pokazuje format zapytania, a nie zmierzoną dokładność ani potwierdzone pokrycie. Aby korzystać tylko ze zbioru danych, użyj options.ai_mode: off.
Wybierz język programowania. Skonfiguruj klucz API, następnie uruchom przykład na swoim serwerze.
Każde zapytanie o prognozę, łącznie z ponownymi próbami, jest nową płatną operacją. Te przykłady nie ponawiają zapytań automatycznie. Przed wysłaniem kolejnego zapytania sprawdź status rozliczenia.
Zanim uruchomisz: dostęp i obsługa błędów
Uruchamiaj te przykłady na swoim serwerze. Ustaw w środowisku procesu zmienną GENDERAPI_API_KEY na swój istniejący klucz API. Upewnij się, że meta.access.mode ma wartość api_key: nierozpoznany klucz może spowodować przejście na próbę dla adresu IP.
W przypadku odpowiedzi JSON z kodem HTTP 4xx i 5xx przykłady zachowują treść błędu i zwracają niezerowy kod wyjścia. Przed ponowną próbą sprawdź code, action i meta.usage.billing_status.
Przewodnik po błędach i ponawianiu zapytań →cURL 7.76+ w powłoce POSIX. Uruchom w terminalu. Dokumentacja środowiska uruchomieniowego
Node.js 22+; wbudowany fetch. Zapisz jako example.mjs i uruchom node example.mjs. Dokumentacja środowiska uruchomieniowego
Python 3.10+; biblioteka standardowa. Zapisz jako example.py i uruchom python3 example.py. Dokumentacja środowiska uruchomieniowego
PHP 8+ z rozszerzeniem cURL. Zapisz jako example.php i uruchom php example.php. Dokumentacja środowiska uruchomieniowego
Java 17+; standardowy klient HTTP. Zapisz jako GenderApiExample.java i uruchom java GenderApiExample.java. Dokumentacja środowiska uruchomieniowego
Aplikacja konsolowa .NET 8+. Użyj jako Program.cs w projekcie konsolowym, a następnie uruchom dotnet run. Dokumentacja środowiska uruchomieniowego
Go 1.22+; biblioteka standardowa. Zapisz jako main.go i uruchom go run main.go. Dokumentacja środowiska uruchomieniowego
Przechowuj wynik razem z informacjami, na których się opiera
Wywnioskowane powiązanie nie jest płcią zadeklarowaną przez daną osobę. Przechowuj osobno oryginalne dane wejściowe, zwrócone informacje o dopasowaniu i dane przekazane przez samą osobę. Wynik unknown jest prawidłowym wynikiem; nie zamieniaj go w swojej aplikacji na zgadywaną kategorię.
| Pole | Jak z niego korzystać |
|---|---|
data.gender / data.result_status | Używaj male lub female tylko wtedy, gdy wynik ma status identified. Gdy wynik jest unknown, zachowaj natywną wartość null z JSON. |
data.name / data.match | Sprawdź zwrócone imię i wybranego kandydata. Dopasowanie fragmentu nie dowodzi, że dane wejściowe należą do osoby o tym imieniu. |
data.confidence / data.confidence_kind | Pewność jest wyrażona w skali 0–1 albo ma wartość null. observed_frequency wynika z zapisanych liczb wystąpień; model_reported to wynik podany przez AI. Progi oceniaj osobno dla każdego rodzaju. |
data.source / data.sample_count | Rozróżniaj dataset, ai i none. Wyniki AI nie mają zapisanej liczby próbek. Liczba próbek nie jest zmierzoną dokładnością. |
meta.access.mode | W integracji z kontem sprawdź, czy wartość to api_key. Brakujący lub nierozpoznany klucz może zamiast tego korzystać ze wspólnej próby dla adresu IP. |
meta.usage | Odczytaj charged_credits i billing_status. Udany wynik unknown jest płatny. Utrata odpowiedzi nie oznacza, że zapytanie było bezpłatne. |
Zdecyduj, kiedy korzystać z AI
forceToGenderize jest opcjonalne dla imion, adresów e-mail i nazw użytkowników. Gdy jest włączone, pomiń ai_mode lub użyj fallback; off i always są z nim sprzeczne i zwracają 422. Dodatnie saldo początkowe wystarcza do rozpoczęcia zapytania, nawet jeśli ostateczne obciążenie obniży saldo poniżej zera.
Tryb pseudonimów może zwrócić płeć razem z name: null. Może też zwrócić wynik unknown. Ani standardowe przejście na AI, ani analiza pseudonimów nie gwarantują poprawnej odpowiedzi ani wartości innej niż null.
| Opcja zapytania | Działanie | Kredyty za udane wyszukiwanie |
|---|---|---|
| options.ai_mode: off | Korzysta tylko ze zbioru danych. | 1, także przy wyniku unknown |
| options.ai_mode: fallback | Najpierw sprawdza zbiór danych, a gdy nie zwróci on płci, korzysta ze standardowej AI. To ustawienie domyślne dla pojedynczych zapytań. | Łącznie 1, łącznie z przejściem na AI |
| options.ai_mode: always | Od razu korzysta z AI. | 2 |
| forceToGenderize: true | Najpierw sprawdza zbiór danych, a potem pozwala AI zinterpretować osobisty pseudonim lub alias, nawet bez prawdziwego imienia. | 1 za wynik rozstrzygnięty w zbiorze danych; łącznie 2, jeśli użyta zostanie AI |
Przetwarzaj listę imion bez utraty kontekstu
Wyślij do 50 elementów z kluczem API lub 10 w próbie dla adresu IP przez POST /api/v2/gender/batch. Nadaj elementom unikalne id i zachowaj oryginalną wartość każdego wiersza. Każdy element może mieć własne opcje kraju i AI; pomiń kraj, gdy jest nieznany.
W przeciwieństwie do pojedynczych zapytań, które domyślnie korzystają z trybu fallback, elementy partii domyślnie korzystają tylko ze zbioru danych. Ustaw options.ai_mode: fallback w każdym elemencie, który wymaga AI. Sprawdzaj każdy wynik, nawet po HTTP 200, zachowuj wyniki unknown i przed ponownym wysłaniem przejrzyj błędy oraz rozliczenie. Każdy udany standardowy element kosztuje 1 kredyt; jedno zapytanie HTTP z partią to nie jeden kredyt za prognozę.
Wiedz, co wysyłasz
Demo wysyła wpisaną wartość do GenderAPI.io dopiero po kliknięciu Analizuj. Jeśli zostanie użyta AI, przesłane type, value i kontekst kraju trafiają do skonfigurowanej usługi inferencji. Aby uzyskać prognozę wyłącznie ze zbioru danych, użyj w swojej integracji options.ai_mode: off bez forceToGenderize.
Polityka prywatności, umowa powierzenia przetwarzania danych i rejestr podmiotów przetwarzających opisują opublikowane zasady przetwarzania. Wynik jest wywnioskowanym powiązaniem; pierwszeństwo mają informacje przekazane przez samą osobę. Nie opieraj na nim decyzji, które mają istotne skutki dla danej osoby.
Najczęściej zadawane pytania
Dlaczego dwuznakowe chińskie imię może dać wynik unknown w trybie tylko ze zbiorem danych?
Obecny filtr kandydatów pomija składniki, których długość ciągu w JavaScript wynosi najwyżej dwa. W przypadku pokazanych tu znaków chińskich dwuznakowe imię jest prawidłowymi danymi wejściowymi, ale nie staje się kandydatem w zbiorze danych. Przejście na AI może ocenić oryginalną wartość.
Czy V2 automatycznie oddziela chińskie nazwisko od imienia?
Wyszukiwanie w zbiorze danych nie dzieli chińskiego imienia i nazwiska zapisanego bez spacji. AI może wywnioskować imię z pełnej wartości, ale żadna z tych ścieżek nie gwarantuje wybrania zamierzonego imienia. Sprawdź source i match w odpowiedzi.
Czy dla tej grupy imion opublikowano niezależną ocenę dokładności?
Ta strona nie publikuje takiej oceny. Przyjęcie danych wejściowych, pokazanie zapisanych liczb wystąpień ani zwrócenie wyniku pewności nie jest niezależnym pomiarem dokładności. Z metodologii dowiesz się, jakie informacje są dostępne i jakie pomiary nie zostały jeszcze opublikowane.
Czy wynik bez prognozy zużywa kredyty?
Udany wynik unknown jest płatny. Standardowy tryb ze zbiorem danych lub fallback kosztuje łącznie 1 kredyt. Z forceToGenderize zapytanie kosztuje 1 kredyt, jeśli zbiór danych je rozstrzygnie, albo łącznie 2, jeśli użyta zostanie AI, także przy wyniku unknown. Błędy podlegają odrębnym zasadom rozliczania; sprawdź meta.usage.