Sintaxe
newrelic.agent.set_llm_token_count_callback(callback, application=None)
Registra uma função de retorno de chamada que será utilizada para calcular contagens token em eventos de grande modelo de linguagem (LLM).
Requisitos
Agente Python versão 9.8.0 ou superior.
Descrição
Esta API registra um retorno de chamada para calcular e armazenar contagens token em eventos LlmEmbedding
e LlmChatCompletionMessage
.
- Esta função deve ser usada quando
ai_monitoring.record_content.enabled
estiver definido comofalse
. Essa configuração evita que o agente envie conteúdo de IA para o servidor New Relic, onde as contagens de token estão anexadas no lado do servidor. - Se ainda quiser capturar contagens token para o evento LLM, você pode implementar um retorno de chamada no código do seu aplicativo para determinar as contagens token localmente e enviar essas informações para New Relic.
Na maioria dos casos, esta API será chamada exatamente uma vez, mas você pode fazer várias chamadas para esta API. Cada nova chamada feita ao endpoint substitui o retorno de chamada registrado anteriormente pelo novo fornecido. Para cancelar completamente o retorno de chamada, passe None
no lugar do retorno de chamada original.
Parâmetro API
Parâmetro | Descrição |
---|---|
chamável ou Nenhum | Obrigatório. O retorno de chamada para calcular contagens token . Para cancelar a definição do retorno de chamada atual, passe |
objeto | Opcional. O objeto de aplicativo específico ao qual associar a chamada de API. Um objeto de aplicativo pode ser obtido usando a função |
Valores de retorno
Nenhum.
Requisitos de retorno de chamada
O retorno de chamada fornecido deve retornar um valor de contagem token inteiro positivo ou nenhuma contagem token será capturada no evento LLM.
Parâmetro de retorno de chamada
Parâmetro | Descrição |
---|---|
corda | Obrigatório. O nome do modelo LLM. |
corda | Obrigatório. O conteúdo/prompt da mensagem ou entrada de incorporação. |
Exemplos
Calculando contagens token e registrando o retorno de chamada
Exemplo com 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)
Exemplo de uso de API com um objeto de aplicativo passado:
application = newrelic.agent.register_application(timeout=10.0) newrelic.agent.set_llm_token_count_callback(token_count_callback, application)