Syntaxe
newrelic.agent.set_llm_token_count_callback(callback, application=None)
Enregistre une fonction de rappel qui sera utilisée pour calculer le nombre de jetons lors d'un événement grands modèles de langage (LLM) (LLM).
Exigences
Python agent version 9.8.0 ou supérieure.
Description
Cette API enregistre un rappel pour calculer et stocker les nombres de jetons sur les événements LlmEmbedding
et LlmChatCompletionMessage
.
- Cette fonction doit être utilisée lorsque
ai_monitoring.record_content.enabled
est défini surfalse
. Ce paramètre empêche l' agent d'envoyer du contenu IA au serveur New Relic, où les nombres de jetons sont attachés côté serveur. - Si vous souhaitez toujours capturer le nombre de jetons pour l'événement LLM, vous pouvez implémenter un rappel dans le code de votre application pour déterminer le nombre de jetons localement et envoyer ces informations à New Relic.
Dans la plupart des cas, cette API sera appelée une seule fois, mais vous pouvez effectuer plusieurs appels à cette API. Chaque nouvel appel effectué vers le point de terminaison remplace le rappel précédemment enregistré par le nouveau qui est fourni. Pour désactiver complètement le rappel, passez None
à la place du rappel d'origine.
Paramètres de API
paramètres | Description |
---|---|
appelable ou Aucun | Requis. Le rappel pour calculer le nombre de jetons. Pour annuler le rappel actuel, transmettez |
objet | Facultatif. L'objet application spécifique auquel associer l'appel d'API . Un objet d'application peut être obtenu à l'aide de la fonction |
Valeurs de retour
Aucun.
Conditions de rappel
Le rappel fourni doit renvoyer une valeur de nombre de jetons entière positive, sinon aucun nombre de jetons ne sera capturé lors de l'événement LLM.
rappel paramètres
paramètres | Description |
---|---|
chaîne | Requis. Le nom du modèle LLM. |
chaîne | Requis. Le contenu du message/ prompt ou l'incorporation (incorporation) d'entrée. |
Exemples
Calcul du nombre de jetons et enregistrement du rappel
Exemple avec tiktoken :
import newrelic.agentdef token_count_callback(model, content): """ Calculate token counts locally based on the model being used and the content. This callback will be invoked for each message sent or received during a LLM call. If the application supports more than one model, it may require finding libraries for each model to support token counts appropriately.
Arguments: model -- name of the LLM model content -- the LLM message content """ import tiktoken
try: enc = tiktoken.encoding_for_model(model) except KeyError: return None # Unknown model return len(enc.encode(content))
newrelic.agent.set_llm_token_count_callback(token_count_callback)
Exemple d'utilisation de l'API avec un objet d'application transmis :
application = newrelic.agent.register_application(timeout=10.0) newrelic.agent.set_llm_token_count_callback(token_count_callback, application)