• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

API de monitoreo de IA

Cuando haya instrumentado su aplicación para monitoreo de IA, el agente New Relic Ruby recopila automáticamente muchas métricas de IA, pero también proporciona API para recopilar información sobre el recuento token y los comentarios de los usuarios.

Sugerencia

Las API de monitoreo de IA están disponibles en la versión 9.8.0 y superior del agente Ruby.

Recuento token

Puede configurar un proceso de devolución de llamada para calcular el atributo token_count para los eventos LlmEmbedding y LlmChatCompletionMessage y luego pasar esa información a New Relic usando la API NewRelic::Agent.set_llm_token_count_callback.

Esta API debe llamarse solo una vez para configurar una devolución de llamada para usar con todos los cálculos del token LLM. Si se llama varias veces, cada nueva devolución de llamada reemplazará a la anterior. El proceso se llamará con un único hash como argumento de entrada y debe devolver un número entero que represente el número de token utilizado para ese símbolo, mensaje de finalización o incrustación en particular. Los valores menores o iguales a 0 no se adjuntarán a un evento.

El hash tiene las siguientes claves:

  • :model (Cadena): el nombre del modelo LLM.
  • :content (Cadena) - El contenido del mensaje o símbolo.

El siguiente código de ejemplo demuestra cómo configurar una devolución de llamada que calcula el recuento token y pasar esa devolución de llamada a NewRelic::Agent.set_llm_token_count_callback.

require 'tiktoken_ruby' # Example library for counting GPT model tokens used
token_count_callback = proc do |hash|
return unless hash[:model].includes?('gpt')
enc = Tiktoken.encoding_for_model(hash[:model])
enc.encode(hash[:content]).length
end
NewRelic::Agent.set_llm_token_count_callback(token_count_callback)

Comentarios de los usuarios

Monitoreo de IA puede correlacionar los ID de traza entre un mensaje generado por su IA y la retroalimentación del mensaje de un usuario final usando NewRelic::Agent.record_llm_feedback_event.

NewRelic::Agent.record_llm_feedback_event acepta los siguientes argumentos:

  • trace_id (obligatorio) - ID de la traza donde se produjo la finalización del chat relacionado con los comentarios
  • rating (obligatorio): calificación proporcionada por un usuario final (por ejemplo: "Bueno", "Malo", 1, 2, 5, 8, 10).
  • category (opcional) - Categoría de los comentarios proporcionados por el usuario final (por ejemplo: "informativo", "inexacto")
  • message (opcional): comentarios de texto de formato libre de un usuario final
  • metadata (opcional): conjunto de pares de valores principales para almacenar cualquier otro dato deseado para enviar con el evento de retroalimentación.

Esta API requiere el trace_id actual para correlacionar mensajes con comentarios, que se pueden obtener usando NewRelic::agente::rastreador.current_trace_id.

El siguiente código de ejemplo utiliza una aplicación Sinatra para demostrar la recopilación de los comentarios del usuario requeridos y la traza de una transacción actual (junto con el parámetro opcional de esta API) y luego pasar esos parámetros a NewRelic::Agent.record_llm_feedback_event.

responses = {}
get '/chat-completion' do
@response_message = client.chat(
parameters: {
model: 'gpt-3.5-turbo',
messages: [
{'role': 'system', 'content': 'You are a helpful assistant.'},
],
temperature: 0.7,
}
)
# trace_id must be obtained within the current transaction
trace_id = NewRelic::Agent::Tracer.current_trace_id
responses[@response_message.id] = trace_id
render(@response_message)
end
post '/feedback' do
trace_id = responses[@response_message.id]
rating = 1
category = 'feedback-test'
message = 'Good talk'
metadata = {user: 'new'}
halt(404) if !responses[@response_message.id]
NewRelic::Agent.record_llm_feedback_event(
trace_id: responses[@response_message.id],
rating: 1,
category: 'feedback-test',
message: 'Good talk',
metadata: {user: 'new'}
)
render('Feedback Recorded')
end
Copyright © 2024 New Relic Inc.

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