Functies van de taalservice asynchroon gebruiken
Met de taalservice kunt u API-aanvragen asynchroon verzenden met behulp van de REST API of clientbibliotheek. U kunt ook meerdere verschillende taalservicefuncties in uw aanvraag opnemen, die tegelijkertijd op uw gegevens moeten worden uitgevoerd.
Op dit moment zijn de volgende functies beschikbaar om asynchroon te worden gebruikt:
- Entiteiten koppelen
- Documentsamenvatting
- Gesprekssamenvatting
- Sleuteltermextractie
- Taaldetectie
- NER (Herkenning van benoemde entiteiten)
- Detectie van klantinhoud
- Sentimentanalyse en meninganalyse
- Text Analytics voor status
- Persoonlijke identificeerbare informatie (PII)
Wanneer u asynchrone aanvragen verzendt, worden voor elk gebruik van de functie kosten in rekening gebracht op basis van het aantal tekstrecords dat u in uw aanvraag opneemt. Als u bijvoorbeeld een tekstrecord verzendt voor sentimentanalyse en NER, wordt dit geteld als het verzenden van twee tekstrecords en worden beide in rekening gebracht op basis van uw prijscategorie.
Een asynchrone taak verzenden met behulp van de REST API
Als u een asynchrone taak wilt verzenden, raadpleegt u de referentiedocumentatie voor de JSON-hoofdtekst die u in uw aanvraag verzendt.
- Voeg uw documenten toe aan het
analysisInput
object. - Neem in het
tasks
object de bewerkingen op die u wilt uitvoeren op uw gegevens. Als u bijvoorbeeld een sentimentanalyse wilt uitvoeren, neemt u hetSentimentAnalysisLROTask
-object op. - U kunt eventueel het volgende doen:
- Kies een specifieke versie van het model dat voor uw gegevens wordt gebruikt.
- Neem extra taalservicefuncties op in het
tasks
object, die tegelijkertijd op uw gegevens moeten worden uitgevoerd.
Nadat u de JSON-hoofdtekst voor uw aanvraag hebt gemaakt, voegt u uw sleutel toe aan de Ocp-Apim-Subscription-Key
header. Verzend vervolgens uw API-aanvraag naar het eindpunt voor het maken van een taak. Bijvoorbeeld:
POST https://your-endpoint.cognitiveservices.azure.com/language/analyze-text/jobs?api-version=2022-05-01
Een geslaagde aanroep retourneert een 202-antwoordcode. De operation-location
in de antwoordheader is de URL die u gebruikt om de API-resultaten op te halen. De waarde ziet er ongeveer als volgt uit:
GET {Endpoint}/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-05-01
Als u de status wilt ophalen en de resultaten van de aanvraag wilt ophalen, verzendt u een GET-aanvraag naar de URL die u in de operation-location
header van het vorige API-antwoord hebt ontvangen. Vergeet niet om uw sleutel op te nemen in de Ocp-Apim-Subscription-Key
. Het antwoord bevat de resultaten van uw API-aanroep.
Asynchrone API-aanvragen verzenden met behulp van de clientbibliotheek
Zorg er eerst voor dat de clientbibliotheek is geïnstalleerd voor de taal van uw keuze. Zie het quickstart-artikel voor de functie die u wilt gebruiken voor stappen voor het installeren van de clientbibliotheek.
Gebruik daarna het clientobject om asynchrone aanroepen naar de API te verzenden. Welke methode moet worden gebruikt, is afhankelijk van uw taal. Gebruik de beschikbare voorbeelden en referentiedocumentatie om u op weg te helpen.
Beschikbaarheid van resultaten
Wanneer u deze functie asynchroon gebruikt, zijn de API-resultaten 24 uur beschikbaar vanaf het moment dat de aanvraag is opgenomen en worden ze aangegeven in het antwoord. Na deze periode worden de resultaten opgeschoond en kunnen ze niet meer worden opgehaald.
Automatische taaldetectie
Vanaf de versie 2022-07-01-preview
van de REST API kunt u automatische taaldetectie voor uw documenten aanvragen. Door de language
parameter in te stellen op auto
, wordt de gedetecteerde taalcode van de tekst geretourneerd als een taalwaarde in het antwoord. Voor deze taaldetectie worden geen extra kosten in rekening gebracht voor uw taalresource.
Gegevenslimieten
Notitie
- Als u grotere documenten moet analyseren dan volgens de limiet is toegestaan, kunt u de tekst opdelen in kleinere tekstfragmenten voordat u ze naar de API kunt verzenden.
- Een document bestaat uit één tekenreeks van teksttekens.
U kunt maximaal 125.000 tekens verzenden naar alle documenten in de asynchrone aanvraag, zoals gemeten door StringInfo.LengthInTextElements. Deze tekenlimiet is hoger dan de limiet voor synchrone aanvragen, om een hogere doorvoer mogelijk te maken.
Als een document de tekenlimiet overschrijdt, weigert de API de hele aanvraag en retourneert een 400 bad request
fout als een document in het document de maximale grootte overschrijdt.