Regeln
Verwenden Sie dies, um eine Anfrage basierend auf der Eingabe oder Ausgabe eines LLM-API-Aufrufs fehlschlagen zu lassen.
import litellm
import os
# set env vars
os.environ["OPENAI_API_KEY"] = "your-api-key"
os.environ["OPENROUTER_API_KEY"] = "your-api-key"
def my_custom_rule(input): # receives the model response
if "i don't think i can answer" in input: # trigger fallback if the model refuses to answer
return False
return True
litellm.post_call_rules = [my_custom_rule] # have these be functions that can be called to fail a call
response = litellm.completion(model="gpt-3.5-turbo", messages=[{"role": "user",
"content": "Hey, how's it going?"}], fallbacks=["openrouter/gryphe/mythomax-l2-13b"])
Verfügbare Endpunkte​
litellm.pre_call_rules = []- Eine Liste von Funktionen, die vor dem API-Aufruf durchlaufen werden. Jede Funktion sollte entweder True (Aufruf zulassen) oder False (Aufruf fehlschlagen) zurĂĽckgeben.litellm.post_call_rules = []- Liste von Funktionen, die vor dem API-Aufruf durchlaufen werden. Jede Funktion sollte entweder True (Aufruf zulassen) oder False (Aufruf fehlschlagen) zurĂĽckgeben.
Erwartetes Format der Regel​
def my_custom_rule(input: str) -> bool: # receives the model response
if "i don't think i can answer" in input: # trigger fallback if the model refuses to answer
return False
return True
Eingaben​
input: str: Die Benutzereingabe oder die LLM-Antwort.
Ausgaben​
bool: Gibt True (Aufruf zulassen) oder False (Aufruf fehlschlagen) zurĂĽck
Beispielregeln​
Beispiel 1: Fehlschlag, wenn die Benutzereingabe zu lang ist​
import litellm
import os
# set env vars
os.environ["OPENAI_API_KEY"] = "your-api-key"
def my_custom_rule(input): # receives the model response
if len(input) > 10: # fail call if too long
return False
return True
litellm.pre_call_rules = [my_custom_rule] # have these be functions that can be called to fail a call
response = litellm.completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hey, how's it going?"}])
Beispiel 2: Fallback auf ein unzensiertes Modell, wenn der LLM die Antwort verweigert​
import litellm
import os
# set env vars
os.environ["OPENAI_API_KEY"] = "your-api-key"
os.environ["OPENROUTER_API_KEY"] = "your-api-key"
def my_custom_rule(input): # receives the model response
if "i don't think i can answer" in input: # trigger fallback if the model refuses to answer
return False
return True
litellm.post_call_rules = [my_custom_rule] # have these be functions that can be called to fail a call
response = litellm.completion(model="gpt-3.5-turbo", messages=[{"role": "user",
"content": "Hey, how's it going?"}], fallbacks=["openrouter/gryphe/mythomax-l2-13b"])