Observability per Discourse AI

Il monitoraggio e la valutazione dei LLM sono fondamentali:

Ho iniziato a lavorare con i modelli linguistici cinque anni fa, quando ho guidato il team che ha creato CodeSearchNet, un precursore di GitHub CoPilot. Da allora, ho visto molti approcci di successo e insuccesso nella creazione di prodotti LLM. Ho scoperto che i prodotti insuccessi condividono quasi sempre una causa principale comune: il fallimento nella creazione di sistemi di valutazione robusti.

Se Discourse AI deve alimentare attività LLM critiche per il business, penso che il supporto a strumenti di monitoraggio come LangSmith dovrebbe essere una priorità.

Usare LangSmith è semplice come eseguire yarn add langchain langsmith e aggiungere alcune variabili d’ambiente.

Il team di Discourse ha pensato a come possiamo configurare il tracing dei LLM? Ci sono anche pensieri su come possiamo implementare questo prima che discourse-ai lo supporti ufficialmente?

2 Mi Piace

Ahahahah, vorrei.

Registriamo ogni singola richiesta e risposta agli LLM in una tabella e consentiamo agli amministratori di interrogarle in qualsiasi momento tramite Data Explorer. Hai già provato?

{
  "max_tokens": 2000,
  "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
  "temperature": 0,
  "stop": [
    "\n</output>"
  ],
  "messages": [
    {
      "role": "system",
      "content": "Sei un correttore di bozze markdown. Correggi errori di battitura evidenti e problemi di formulazione, ma mantieni la voce originale dell'utente.\nNon toccare i blocchi di codice. Ti fornirò il testo da correggere. Se non c'è nulla da correggere, ripeterai il testo.\nTroverai il testo tra i tag XML <input></input>.\nRestituirai SEMPRE il testo corretto tra i tag 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 creazione di valutazioni per le nostre funzionalità è sicuramente nella nostra roadmap per la 3.4, in particolare per le modifiche alle nostre funzionalità di Argomenti Correlati e Riassunto.

1 Mi Piace

Non ho detto che fosse tutto qui. (:wink:) Ma immagino non abbia importanza dato che penso che le chiamate LLM vengano effettuate da Ruby.

Non l’ho ancora fatto, ma è geniale - grazie! Teoricamente, potrei esportarli e creare programmaticamente tracce in LangSmith per valutazioni ed esperimenti.

1 Mi Piace