Observabilidade para Discourse AI

Monitorar e avaliar LLMs é fundamental:

Comecei a trabalhar com modelos de linguagem há cinco anos, quando liderei a equipe que criou o CodeSearchNet, um precursor do GitHub CoPilot. Desde então, vi muitas abordagens bem-sucedidas e malsucedidas para construir produtos de LLM. Descobri que produtos malsucedidos quase sempre compartilham uma causa raiz comum: a falha em criar sistemas de avaliação robustos.

Se o Discourse AI for impulsionar tarefas críticas de LLM para negócios, acho que o suporte a ferramentas de monitoramento como o LangSmith deve ser priorizado.

Usar o LangSmith é tão simples quanto executar yarn add langchain langsmith e adicionar algumas variáveis de ambiente.

A equipe do Discourse pensou em como podemos configurar o rastreamento de LLM? Além disso, alguma ideia sobre como podemos implementar isso antes que o discourse-ai o suporte oficialmente?

2 curtidas

Hahahaha, eu queria.

Registramos todas as requisições e respostas para LLMs em uma tabela e permitimos que os administradores consultem esses dados a qualquer momento por meio do Data Explorer. Você já tentou isso?

{
  "max_tokens": 2000,
  "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
  "temperature": 0,
  "stop": [
    "\n</output>"
  ],
  "messages": [
    {
      "role": "system",
      "content": "Você é um revisor de markdown. Você corrige erros de digitação grosseiros e problemas de formulação, mas mantém a voz original do usuário.\nVocê não mexe em blocos de código. Eu fornecerei o texto para você revisar. Se nada precisar ser corrigido, você repetirá o texto de volta.\nVocê encontrará o texto entre as tags XML <input></input>.\nVocê SEMPRE retornará o texto corrigido entre as tags 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
  }
}

A criação de avaliações para nossos recursos certamente está em nosso roteiro para a 3.4, especialmente para ajustes em nossos recursos de Tópicos Relacionados e Sumarização.

1 curtida

Eu não disse que era tudo. (:wink:) Mas acho que não importa, já que acho que as chamadas de LLM são feitas do Ruby.

Ainda não tentei, mas isso é brilhante - obrigado! Teoricamente, eu poderia exportar esses dados e criar programaticamente rastros no LangSmith para avaliações e experimentos.

1 curtida