Asynchrone Operationen¶
Optimieren Sie die Leistung mit asynchronen Operationen für umfangreiche Prompt-Evaluierungen und Batch-Verarbeitung
elluminate unterstützt asynchrone Operationen für verbesserte Leistung bei der Arbeit mit mehreren Prompts oder Evaluierungen. Dies ist besonders nützlich bei:
- Batch-Verarbeitung - Gleichzeitige Verarbeitung mehrerer Prompts oder Responses
- Leistungsoptimierung - Reduzierung der Gesamtausführungszeit bei umfangreichen Evaluierungen
- Ressourceneffizienz - Bessere Nutzung der Systemressourcen während I/O-Operationen
Das folgende Beispiel zeigt, wie man asynchrone Operationen mit Collections in elluminate verwendet:
-
Asynchrone Methoden in elluminate haben das Präfix
a. Zum Beispielaget_or_create_collectionanstelle vonget_or_create_collection. -
Die Verwendung von
asyncio.gatherermöglicht die gleichzeitige Ausführung mehrerer asynchroner Operationen, was die Leistung beim Hinzufügen mehrerer Einträge deutlich verbessert.
Die meisten elluminate SDK-Operationen haben asynchrone Gegenstücke, wodurch es einfach ist, bestehenden synchronen Code in asynchronen umzuwandeln. Folgen Sie einfach diesen Schritten:
- Fügen Sie den Methoden das Präfix
ahinzu (z.B.aratestattrate) - Verwenden Sie
awaitbei asynchronen Methodenaufrufen - Verpacken Sie Ihren Code in eine asynchrone Funktion
- Nutzen Sie
asyncio.run()zur Ausführung der asynchronen Funktion
Wenn Sie mit mehreren unabhängigen asynchronen Operationen arbeiten, sollten Sie die Verwendung von asyncio.gather() in Betracht ziehen, um diese parallel auszuführen. Obwohl dieses Beispiel die Aufgaben der Übersichtlichkeit halber nacheinander ausführt, können Sie mehrere asynchrone Aufrufe parallelisieren, um die Leistung zu verbessern.