Skip to main content

Overview

This guide shows you how to integrate Latitude Telemetry into an existing application that uses Cohere. After completing these steps:
  • Every Cohere generation can be captured as a log in Latitude.
  • Logs are attached to a specific prompt and version in Latitude.
  • You can annotate, evaluate, and debug your Cohere-powered features from the Latitude dashboard.
You’ll keep calling Cohere directly — Telemetry simply observes and enriches those calls.

Requirements

Before you start, make sure you have:
  • A Latitude account and API key.
  • At least one prompt created in Latitude.
  • A Node.js-based project that uses CohereClient from cohere-ai.
Note: Only CohereClient is supported. CohereClientV2 is not supported yet.

Steps

1

Install requirements

Add the Latitude Telemetry package to your project:
npm add @latitude-data/telemetry @opentelemetry/api
2

Initialize Latitude Telemetry with Cohere

Create a LatitudeTelemetry instance and pass the Cohere module as an instrumentation.
import { LatitudeTelemetry } from '@latitude-data/telemetry'
import * as Cohere from 'cohere-ai'

export const telemetry = new LatitudeTelemetry('your-latitude-api-key', {
  instrumentations: {
    cohere: Cohere, // Enables automatic tracing for CohereClient
  },
})
3

Wrap your Cohere-powered feature

Wrap the code that calls Cohere with a Telemetry prompt span, and execute your Cohere call inside that span.
import { context } from '@opentelemetry/api'
import { BACKGROUND } from '@latitude-data/telemetry'
import { CohereClient } from 'cohere-ai'

export async function generateSupportReply(input: string) {
  const $prompt = telemetry.prompt(BACKGROUND(), {
    promptUuid: 'your-prompt-uuid',
    versionUuid: 'your-version-uuid',
  })

  await context
    .with($prompt.context, async () => {
      const cohere = new CohereClient({
        token: process.env.COHERE_API_KEY!,
      })

      const response = await cohere.generate({
        model: 'command-r-plus',
        prompt: input,
      })

      // Use response here...
    })
    .then(() => $prompt.end())
    .catch((error) => $prompt.fail(error as Error))
    .finally(() => telemetry.flush())
}

Seeing your logs in Latitude

Once you’ve wrapped your Cohere-powered feature, you can see your logs in Latitude.
  1. Go to the Traces section of your prompt in Latitude.
  2. You should see new entries every time your code is executed, including:
    • Input/output text
    • Model name
    • Latency and error information