Feedback Tracking

Use feedback tracking for:

  • user's reactions to your chatbot's responses directly on the frontend.
  • score LLM outputs directly yourself

You can then use this to filter llm calls and fine-tune your own models based on the data.

Feedback tracking can be done in the backend or directly on the frontend if it's easier for you.

const msgId = thread.trackMessage({
role: 'assistant',
content: 'Hello! How can I help you?',
})
lunary.trackFeedback(msgId, { thumbs: 'up' })
msg_id = thread.track_message({
"role": "assistant",
"content": "Hello! How can I help you?"
})
lunary.track_feedback(msg_id, { "thumbs": "up" })

Example of a React Feedback component

You can also use the feedback method to track user reactions to your chatbot's responses directly on the frontend.

<Button onClick={() => lunary.trackFeedback(message.id, { thumbs: "up" })}>
👍
</Button>

The trackFeedback method takes two arguments:

  • runId: the ID of the message or run you want to track the feedback on.
  • feedback: an object containing the feedback data. You can use any key/value pair you want.

Feedback data

You can send any feedback data you want, as long as it's a valid JSON object.

We recommend using the following keys to ensure that data is displayed correctly in the dashboard.

KeyValuePreview
thumbsup or down👍 / 👎
retriedtrue🔄 if the user clicked on the retry button
emojiemoji string😍
ratinginteger between 1 and 5⭐️⭐️⭐️
commentarbitrary stringeg. "This is not correct."

Removing feedback

To remove feedback, simply pass null as the feedback data.

lunary.trackFeedback(message.id, { thumbs: null })

Questions? We're here to help.