10.0+50.3 Das ai-Modul

Mit dem ai-Modul greifen Sie aus Skripten auf die LLM-Integration von QF-Test zu.

 
 
String ask(String message, String configName, Double temperature, Double topP, Integer topK, Double frequencyPenalty, Double presencePenalty, Integer maxOutputTokens, List<String> stopSequences, Integer timeoutMs) throws TestException

Sendet eine Nachricht an ein konfiguriertes LLM und gibt die Antwort zurück.

print(ai.ask("Bist du da?", "my-llm"))
                print(ai.ask(
                "Jetzt etwas komplizierteres!",
                "my-llm",
                temperature=0.7,
                topK=4,
                topP=0.0,
                presencePenalty=1.0,
                frequencyPenalty=0.9,
                maxOutputTokens=1000,
                stopSequences=['stop!'],
                timeoutMs=10000,
                ))
              
Beispiel 50.5:  Verwendung von ai.ask (Jython-Skript)
Parameter
message Die Nachricht, die an das LLM gesendet werden soll.
configurationName Der Name einer LLM-Konfiguration wie in LLM-Konfigurationen in den QF-Test Optionen hinterlegt.
temperature Steuert die "Zufälligkeit" des generierten Textes.
topK Steuert wie viele der Tokens mit der höchsten Wahrscheinlich berücksichtigt werden sollen.
topP Steuert welche Tokens berücksichtigt werden sollen.
presencePenalty Verhindert, dass das LLM Wörter mehrfach benutzt.
frequencyPenalty Verhindert, dass das LLM Wörter wiederholt.
maxOutputTokens Maximale Anzahl von Tokens die in einer Antwort generiert werden können.
stopSequences Hindert das LLM daran, nach den auftauchen dieser Zeichenketten weiteren text zu generieren.
timeoutMs Wie lange auf eine Antwort des LLM gewartet werden soll, in Millisekunden.
Rückgabewert Die Antwort des LLM als Zeichenkette.
 
void addCustomModel(final String name, final Object responseFunction)

Fügt der Liste der definierten KI-Konfigurationen ein benutzerdefiniertes Modell hinzu.

if ("myLLM" not in ai.getConfigNames()) {
                ai.addCustomModel("myLLM", { msg ->
                qf.logMessage("Eingabe für das LLM: " + msg)
                return "Hier könnte Ihre Antwort stehen."
                })
                }
Beispiel 50.6:  Verwendung von ai.addCustomModel (Jython-Skript)
Parameter
name Der Name der KI-Konfiguration, unter dem das benutzerdefinierte Modell referenziert werden kann
responseFunction Eine Funktion, die die Anfrage empfängt – ihr erster Parameter ist die Anfrage selbst, ein optionaler zweiter Parameter enthält die Anfrageparameter.
 
void removeCustomModel(final String name)

Entfernt das benutzerdefinierte Modell aus der Liste der definierten Modelle

Parameter
name Der Name, unter dem das benutzerdefinierte Modell registriert wurde
 
List<String> getConfigNames()

Gibt eine Liste aller verfügbaren KI-Konfigurationsnamen zurück

Rückgabewert Liste aller verfügbaren KI-Konfigurationsnamen
 
void setDefaultConfig(String provider, String baseUrl, String apiKey, String modelName, String displayName="Default")

Defiert eine LLM-Konfiguration, die statt der ersten unter Optionen > Künstliche Intelligenz konfigurierten als Standard verwendet wird.

Parameter
provider Aktuell verfügbare Anbieter-Typen: OpenAIGeneric, Anthropic, Gemini und Ollama.
baseUrl Die URL, unter der das LLM angesprochen werden kann. Endet üblicherweise mit /v1 oder ähnlich.
apiKey Der API-Schlüssel dient zur Authentifizierung mit dem jeweiligen LLM-Anbieter.
modelName Der Name des LLM-Modells, z.B. "gpt-4o" oder "gemini-2.0-flash".
displayName Wie QF-Test diese Konfiguration in Protokollen und Fehlermeldungen identifiziert, Standardwert: Default.
 
void resetDefaultConfig()

Setzt die zuvor mittels ai.setDefaultConfig gesetzte Standard-LLM-Konfiguration zurück auf die erste in Optionen > Künstliche Intelligenz definierte.