Наблюдаемость для Discourse AI

Мониторинг и оценка LLM имеют решающее значение:

Я начал работать с языковыми моделями пять лет назад, когда возглавлял команду, создавшую CodeSearchNet — предшественника GitHub CoPilot. С тех пор я видел множество успешных и неуспешных подходов к созданию продуктов на базе LLM. Я обнаружил, что неуспешные продукты почти всегда имеют одну общую коренную причину: отсутствие надежных систем оценки.

Если Discourse AI призван обеспечивать критически важные для бизнеса задачи с использованием LLM, я считаю, что приоритетом должна стать поддержка инструментов мониторинга, таких как LangSmith.

Использование LangSmith так же просто, как запуск команды yarn add langchain langsmith и добавление нескольких переменных окружения.

Думала ли команда Discourse о том, как мы можем настроить трассировку LLM? Также есть ли какие-либо идеи о том, как мы можем реализовать это до того, как поддержка будет официально добавлена в модуль discourse-ai?

2 лайка

Ха-ха-ха, как бы мне хотелось.

Мы регистрируем каждый запрос и ответ LLM в таблице и позволяем администраторам в любое время выполнять по ним запросы через Data Explorer. Вы уже пробовали это?

{
  "max_tokens": 2000,
  "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
  "temperature": 0,
  "stop": [
    "\n</output>"
  ],
  "messages": [
    {
      "role": "system",
      "content": "Вы — корректор Markdown. Вы исправляете грубые опечатки и стилистические ошибки, но сохраняете оригинальный стиль автора.\nВы не трогаете блоки кода. Я предоставлю вам текст для корректуры. Если исправлений не требуется, вы вернёте текст как есть.\nТекст будет находиться между XML-тегами <input> и </input>.\nВы ВСЕГДА будете возвращать исправленный текст между XML-тегами <output> и </output>.\n\n"
    },
    {
      "role": "user",
      "content": "<input>Мы регистрируем каждый запрос и ответ LLM в таблице и позволяем администраторам в любое время выполнять по ним запросы через Data Explorer. Вы уже пробовали?</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>Мы регистрируем каждый запрос и ответ LLM в таблице и позволяем администраторам в любое время выполнять по ним запросы через Data Explorer. Вы уже пробовали это?</output>",
        "tool_calls": []
      },
      "logprobs": null,
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 135,
    "total_tokens": 174,
    "completion_tokens": 39
  }
}

Создание eval для наших функций, безусловно, входит в наш план развития на версию 3.4, особенно для доработки функций «Связанные темы» и «Резюмирование».

1 лайк

Я не говорил, что всё ограничивается этим. (:wink:) Но, думаю, это не имеет значения, поскольку, насколько я понимаю, вызовы LLM осуществляются из Ruby.

Пока нет, но это блестяще — спасибо! Теоретически я мог бы экспортировать эти данные и программно создавать трассировки в LangSmith для оценки и экспериментов.

1 лайк