Skilj mellan Unicode-indata och uppdelning av fullständiga namn
Du kan skicka ett kinesiskt namn som Unicode-text utan att först omvandla det till latinsk skrift. Den nuvarande sökningen kontrollerar normaliserade delar; ett fullständigt kinesiskt namn som skrivs utan mellanslag delas inte automatiskt upp i efternamn och förnamn. 王静怡 är därför en enda kandidat och ingen garanterad sökning efter 静怡.
För de vanliga kinesiska tecknen i exemplen hoppar det nuvarande kandidatfiltret i datamängden över delar med ett eller två tecken. Ett kort förnamn kan vara giltiga indata och ändå inte ge någon kandidat. Den vanliga AI-reserven kan fortfarande tolka det ursprungligen skickade värdet; en förfrågan som bara använder datamängden behåller det okända resultatet.
Unicode-normaliseringen NFKC ger ingen allmän omvandling mellan förenklad och traditionell kinesiska och kopplar inte en latinsk stavning till ett enda ursprungligt kinesiskt namn. Behåll den skickade stavningen och granska den returnerade träffen. Efternamnets placering, skriften eller romaniseringen räcker inte för att dra slutsatser om en persons kön eller land.
| Exempel på indata | Vad det visar | Vad du bör kontrollera |
|---|---|---|
王静怡 | Fullständigt namn utan mellanslag | En kandidat i datamängden. Den nuvarande tolkaren skiljer inte ut efternamnet. |
静怡 | Förnamn med två tecken | Hoppas över av kandidatfiltrets längdgräns; AI-reserven kan tolka det ursprungliga värdet. |
王 静怡 | Separata korta delar | Ett extra mellanslag kringgår inte längdgränsen. Båda delarna i exemplet är för korta för sökningen i datamängden. |
Wang Jingyi | Indata med latinsk skrift | Behandlas som ett eget värde och delas upp i egna delar. Det är inte garanterat att värdet kopplas till de ursprungliga tecknen eller till samma post. |
Välj landskontexten CN medvetet
Demon skickar country: CN (Kina). API:et väljer inte landet utifrån den skrift som namnet är skrivet med. Använd en känd och passande landskontext i din integration eller utelämna country. Gör inte det här exemplet till standardvärde för alla poster.
För varje kandidat väljer sökningen den landsspecifika posten om den finns och kontrollerar annars den globala posten. Därefter väljs den tillgängliga kandidaten med det största lagrade totala antalet. Träffens faktiska omfattning ser du i data.match.scope och data.match.country. En landsspecifik post med lika frekvenser ersätts inte automatiskt av det globala resultatet; om reserven är aktiverad kan AI användas i stället.
data.input.country beskriver den kontext som skickades i förfrågan. data.country och data.country_source beskriver den returnerade landskopplingen och dess ursprung. Det är olika fält; de visar varken medborgarskap, etniskt ursprung eller bostadsort.
Skicka en V2-förfrågan för namn från din applikation
Sätt GENDERAPI_API_KEY till din befintliga nyckel och kör exemplet på din server. Förfrågan aktiverar uttryckligen den vanliga AI-reserven. Den visar förfrågans format, inte någon uppmätt noggrannhet eller bekräftad täckning. För en prediktion som bara använder datamängden anger du options.ai_mode: off.
Välj ett programmeringsspråk. Konfigurera din API-nyckel, kör sedan exemplet på din server.
Varje prediktionsförfrågan är en ny debiterbar åtgärd, även vid nya försök. Exemplen gör inga automatiska nya försök. Kontrollera debiteringsstatus innan du skickar en ny förfrågan.
Innan du kör: åtkomst och felhantering
Kör exemplen på din server. Sätt GENDERAPI_API_KEY i processmiljön till din befintliga API-nyckel. Kontrollera att meta.access.mode är api_key: en nyckel som inte känns igen kan leda till IP-provperioden.
Vid JSON-svar med HTTP 4xx och 5xx behålls felinnehållet och exemplet avslutas med en slutstatus som inte är noll. Kontrollera code, action och meta.usage.billing_status innan du försöker igen.
Guide om fel och nya försök →cURL 7.76+ i ett POSIX-skal. Kör i terminalen. Dokumentation för körmiljön
Node.js 22+; inbyggd fetch. Spara som example.mjs och kör node example.mjs. Dokumentation för körmiljön
Python 3.10+; standardbiblioteket. Spara som example.py och kör python3 example.py. Dokumentation för körmiljön
PHP 8+ med tillägget cURL. Spara som example.php och kör php example.php. Dokumentation för körmiljön
Java 17+; inbyggd HTTP-klient. Spara som GenderApiExample.java och kör java GenderApiExample.java. Dokumentation för körmiljön
Konsolapplikation med .NET 8+. Använd som Program.cs i ett konsolprojekt och kör sedan dotnet run. Dokumentation för körmiljön
Go 1.22+; standardbiblioteket. Spara som main.go och kör go run main.go. Dokumentation för körmiljön
Spara resultatet tillsammans med underlaget
En härledd koppling är inte det kön som en person själv uppger. Spara ursprungliga indata, det returnerade underlaget och det personen själv har angett separat. Ett okänt resultat är ett giltigt resultat och bör inte bli en gissad kategori i din applikation.
| Fält | Användning |
|---|---|
data.gender / data.result_status | Använd male eller female bara vid identified. Behåll det inbyggda JSON-värdet null vid ett okänt resultat. |
data.name / data.match | Granska det returnerade namnet och den valda kandidaten. En träff på en delsträng visar inte att indata tillhör en person med det förnamnet. |
data.confidence / data.confidence_kind | Konfidensen ligger på en skala från 0 till 1 eller är null. observed_frequency bygger på lagrade frekvenser; model_reported är ett AI-värde. Utvärdera tröskelvärden separat för varje typ. |
data.source / data.sample_count | Skilj mellan dataset, ai och none. AI-resultat har ingen lagrad urvalsstorlek. En urvalsstorlek är inget uppmätt noggrannhetsvärde. |
meta.access.mode | Kontrollera att api_key rapporteras i en kontointegration. Nycklar som saknas eller inte känns igen kan i stället använda den delade IP-provperioden. |
meta.usage | Läs charged_credits och billing_status. Ett lyckat okänt resultat debiteras. Ett förlorat svar visar inte att förfrågan var kostnadsfri. |
Bestäm när AI ska användas
forceToGenderize är valfritt för namn, e-postadresser och användarnamn. När det är aktiverat utelämnar du ai_mode eller använder fallback; off och always kan inte kombineras med det och ger 422. Ett positivt startsaldo räcker för att starta en förfrågan, även om den slutliga debiteringen gör saldot negativt.
Smeknamnsläget kan returnera ett kön tillsammans med name: null. Det kan också ge ett okänt resultat. Varken vanlig AI-reserv eller tolkning av smeknamn garanterar ett korrekt svar eller ett värde som inte är null.
| Alternativ i förfrågan | Beteende | Krediter för en lyckad sökning |
|---|---|---|
| options.ai_mode: off | Använd bara datamängden. | 1, även för ett okänt resultat |
| options.ai_mode: fallback | Kontrollera datamängden först och använd sedan vanlig AI om inget kön returneras. Detta är standard för enskilda förfrågningar. | Totalt 1, inklusive AI-reserv |
| options.ai_mode: always | Använd AI direkt. | 2 |
| forceToGenderize: true | Kontrollera datamängden först och låt sedan AI tolka ett personligt smeknamn eller alias, även utan ett riktigt förnamn. | 1 för ett resultat som fastställs i datamängden; totalt 2 om AI används |
Bearbeta en namnlista utan att tappa kontexten
Skicka upp till 50 poster med en API-nyckel eller 10 med IP-provperioden via POST /api/v2/gender/batch. Ge posterna unika id och behåll det ursprungliga värdet för varje rad. Varje post kan ha egna alternativ för land och AI; utelämna landet när det är okänt.
Till skillnad från enskilda förfrågningar, som använder reserven som standard, använder poster i en batch som standard bara datamängden. Ange options.ai_mode: fallback i varje post som behöver AI. Kontrollera varje resultat, även efter HTTP 200, behåll okända resultat och granska fel och debitering innan du skickar igen. Varje lyckad vanlig post kostar 1 kredit; en HTTP-förfrågan med en batch motsvarar inte en kredit per prediktion.
Veta vad du skickar
Livedemon skickar det inmatade värdet till GenderAPI.io först när du skickar in det. Om AI används skickas den inskickade type, value och landskontexten till den konfigurerade tjänsten för prediktioner. För en prediktion som bara använder datamängden anger du options.ai_mode: off utan forceToGenderize i din integration.
Integritetspolicyn, personuppgiftsbiträdesavtalet och förteckningen över underbiträden beskriver de publicerade villkoren för behandlingen. Ett resultat är en härledd koppling, och det en person själv uppger har företräde. Använd det inte som grund för beslut med stora konsekvenser för en person.
Vanliga frågor
Varför kan ett kinesiskt förnamn med två tecken förbli okänt när bara datamängden används?
Det nuvarande kandidatfiltret hoppar över delar vars stränglängd i JavaScript är högst två. För de kinesiska tecken som visas här är ett förnamn med två tecken giltiga indata, men det blir ingen kandidat i datamängden. AI-reserven kan tolka det ursprungliga värdet.
Skiljer V2 automatiskt det kinesiska efternamnet från förnamnet?
Sökningen i datamängden delar inte upp ett fullständigt kinesiskt namn som skrivs utan mellanslag. AI kan härleda ett förnamn ur hela värdet, men ingen av vägarna garanterar att det avsedda förnamnet väljs. Granska source och match i svaret.
Har en oberoende utvärdering av noggrannheten publicerats för den här namngruppen?
Den här sidan publicerar ingen sådan utvärdering. Att indata tas emot, att lagrade frekvenser visas eller att ett konfidensvärde returneras är ingen oberoende mätning av noggrannheten. Metodiken visar vilka uppgifter som finns och vilka mätningar som ännu inte har publicerats.
Förbrukar ett resultat utan prediktion krediter?
Ett lyckat okänt resultat debiteras. Vanligt läge med datamängden eller med reserv kostar totalt 1 kredit. Med forceToGenderize kostar förfrågan 1 kredit om datamängden ger resultatet, eller totalt 2 om AI används, även vid ett okänt resultat. För fel gäller egna debiteringsregler; kontrollera meta.usage.