Observabilidad para Discourse AI

Monitorear y evaluar los LLM es fundamental:

Comencé a trabajar con modelos de lenguaje hace cinco años, cuando dirigí el equipo que creó CodeSearchNet, un precursor de GitHub CoPilot. Desde entonces, he visto muchos enfoques exitosos y fallidos para construir productos LLM. He descubierto que los productos fallidos casi siempre comparten una causa raíz común: la incapacidad de crear sistemas de evaluación robustos.

Si Discourse AI va a potenciar tareas LLM críticas para el negocio, creo que se debería priorizar el soporte de herramientas de monitoreo como LangSmith.

Usar LangSmith es tan simple como ejecutar yarn add langchain langsmith y agregar algunas variables de entorno.

¿Ha pensado el equipo de Discourse en cómo podemos configurar el rastreo de LLM? Además, ¿alguna idea sobre cómo podemos implementar esto antes de que discourse-ai lo soporte oficialmente?

2 Me gusta

Jajajaja, ojalá.

Registramos cada solicitud y respuesta a los LLM en una tabla, y permitimos a los administradores consultarlas en cualquier momento a través del Explorador de Datos. ¿Ya has probado esto?

{
  "max_tokens": 2000,
  "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
  "temperature": 0,
  "stop": [
    "\n</output>"
  ],
  "messages": [
    {
      "role": "system",
      "content": "Eres un corrector de textos en formato markdown. Corriges errores tipográficos graves y problemas de redacción, pero mantienes la voz original del usuario.\nNo tocas los bloques de código. Te proporcionaré texto para corregir. Si no hay nada que arreglar, entonces repetirás el texto.\nEncontrarás el texto entre las etiquetas XML <input></input>.\nSIEMPRE devolverás el texto corregido entre las etiquetas XML <output></output>.\n\n"
    },
    {
      "role": "user",
      "content": "<input>We log every single request and response to LLMs in a table, and allow admins to query those at any time via Data Explorer. Have you tried already?</input>"
    }
  ]
}
{
  "id": "chat-45cd241b6e0f4a58840fcc9f49dfa56a",
  "object": "chat.completion",
  "created": 1722528517,
  "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "<output>We log every single request and response to LLMs in a table, and allow admins to query those at any time via Data Explorer. Have you tried this already?</output>",
        "tool_calls": []
      },
      "logprobs": null,
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 135,
    "total_tokens": 174,
    "completion_tokens": 39
  }
}

La creación de evaluaciones para nuestras funciones está ciertamente en nuestra hoja de ruta para la 3.4, especialmente para ajustar nuestras funciones de Temas Relacionados y Resumen.

1 me gusta

No dije que eso fuera todo. (:wink:) Pero supongo que no importa, ya que creo que las llamadas a LLM se hacen desde Ruby.

Aún no lo he hecho, pero esto es brillante. ¡Gracias! Teóricamente, podría exportar estos y crear programáticamente traces en LangSmith para evaluaciones y experimentos.

1 me gusta