• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

AI Monitoring API

Depois de instrumentar seu aplicativo com AI Monitoring, você pode acessar alguma API para coletar contagem token e feedback do usuário. Para utilizar a AI Monitoring API, verifique se seu agente Java está atualizado para a versão 8.12.0 ou superior.

Registrar contagem token

Se você desativou o agente com ai_monitoring.record_content.enabled=false, poderá usar a setLlmTokenCountCallback(LlmTokenCountCallback llmTokenCountCallback) API para calcular token_count o atributo. Isso calcula contagens token para eventos LlmEmbedding e LlmChatCompletionMessage sem gravar o conteúdo da mensagem.

  1. Implemente LlmTokenCountCallback para que ele substitua o método calculateLlmTokenCount(String model, String content). Isso calcula uma contagem token com base em um determinado nome de modelo LLM e no conteúdo ou prompt da mensagem LLM:

    class MyTokenCountCallback implements LlmTokenCountCallback {
    @Override
    public int calculateLlmTokenCount(String model, String content) {
    // Implement custom token calculating logic here based on the LLM model and content.
    // Return an integer representing the calculated token count.
    return 0;
    }
    }
  2. Crie uma instância da implementação LlmTokenCountCallback para registrar o retorno de chamada e depois transmita-o para a API setLlmTokenCountCallback. Por exemplo:

    LlmTokenCountCallback myTokenCountCallback = new MyTokenCountCallback();
    // The callback needs to be registered at some point before invoking the LLM model
    NewRelic.getAgent().getAiMonitoring.setLlmTokenCountCallback(myTokenCountCallback);

Para usar o retorno de chamada, implemente LlmTokenCountCallback para que:

  • Ele retorna um número inteiro que representa o número de tokens para um determinado prompt, mensagem de conclusão ou incorporação.
  • Se os valores forem menores ou iguais a 0, LlmTokenCountCallbacks não será anexado a um evento.

Lembre-se de que esta API deve ser chamada apenas uma vez. Chamar esta API várias vezes substituirá cada retorno de chamada anterior.

Registrar feedback do usuário

AI Monitoring pode correlacionar ID do trace entre uma mensagem gerada de seus modelos LLM e o feedback final de um usuário. A API recordLlmFeedbackEvent constrói um argumento com um mapa da classe LlmFeedbackEventAttributes.Builder.

O registro do feedback do usuário ocorre em duas etapas:

  1. Use a TraceMetadata.getTraceId() API para adquirir o ID do trace da transação atualmente em execução:

    String traceId = NewRelic.getAgent().getTraceMetadata().getTraceId();
  2. Adicione recordLlmFeedbackEvent(Map<String, Object> llmFeedbackEventAttributes) para correlacionar o ID do trace com um evento de feedback. Aqui está um exemplo de como você pode registrar um evento de feedback do LLM:

    String traceId = ... // acquired directly from New Relic API or retrieved from some propagation mechanism
    Map<String, String> metadata = new HashMap<>();
    metadata.put("interestingKey", "interestingVal");
    LlmFeedbackEventAttributes.Builder llmFeedbackEvenAttrBuilder = new LlmFeedbackEventAttributes.Builder(traceId, ratingString);
    Map<String, Object> llmFeedbackEventAttributes = llmFeedbackEvenAttrBuilder
    .category("General")
    .message("Ok")
    .metadata(metadata)
    .build();
    NewRelic.getAgent().getAiMonitoring().recordLlmFeedbackEvent(llmFeedbackEventAttributes);

A classe LlmFeedbackEventAttributes.Builder usa o seguinte parâmetro:

Parâmetro

Definição

trace_id (Obrigatório)

ID do trace onde ocorreram as conclusões do chat relacionadas ao feedback

rating (Obrigatório)

Uma avaliação do usuário final. Por exemplo, os valores podem ser good, bad ou uma classificação inteira.

category (Opcional)

Categoria do feedback fornecido pelo usuário final. Por exemplo, os valores podem ser informative ou inaccurate.

message (Opcional)

Feedback de texto de formato livre de um usuário final

metadata (Opcional)

Conjunto de pares de valores principais para armazenar quaisquer outros dados desejados para enviar com o evento de feedback

Se o feedback do usuário for registrado em um thread ou serviço diferente de onde ocorreu o prompt ou a resposta do LLM, será necessário:

  • Adquirir o ID do trace do thread ou serviço de origem
  • Propague esse ID para onde o evento de feedback do usuário será registrado

Adicionar atributo LLM personalizado

Você pode ajustar seu agente para coletar atributos personalizados do LLM:

  • Qualquer atributo personalizado adicionado com a NewRelic.addCustomParameter(...) API pode ser prefixado com llm.. Isso copia automaticamente esses atributos para LlmEvents
  • Se você estiver adicionando atributo personalizado a LlmEvents com a API addCustomParameters , certifique-se de que a chamada da API ocorra antes de invocar o Bedrock SDK.
  • Um atributo personalizado opcional com significado especial é llm.conversation_id. Você pode usar isso para agrupar mensagens LLM em conversas específicas no APM.
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.