Get API Key
Documentation

# Integrations & Observability

Explore this guide to learn how ChatboxAI works and how to integrate it into your workflow.

Integrations & Observability

Monitor, trace, and debug your AI integrations in production.

Logging Every Request

JAVASCRIPT
async function trackedCompletion(messages, metadata = {}) {
  const startTime = Date.now();
  
  try {
    const response = await client.chat.completions.create({
      model: "chatboxai/gpt-oss-20b",
      messages,
    });
    
    const latencyMs = Date.now() - startTime;
    
    // Log to your observability platform
    await logger.log({
      type: "ai_request",
      model: "chatboxai/gpt-oss-20b",
      latency_ms: latencyMs,
      input_tokens: response.usage.prompt_tokens,
      output_tokens: response.usage.completion_tokens,
      cost_usd: response.cost_usd,
      status: "success",
      ...metadata,
    });
    
    return response;
  } catch (err) {
    await logger.log({ type: "ai_request", status: "error", error: err.message, ...metadata });
    throw err;
  }
}

LangSmith Integration

JAVASCRIPT
import { Client } from "langsmith";
import { wrapOpenAI } from "langsmith/wrappers";

const langsmithClient = new Client();

const trackedClient = wrapOpenAI(
  new OpenAI({
    apiKey: process.env.CHATBOXAI_API_KEY,
    baseURL: "https://chatboxai.co.in/v1",
  })
);

Helicone Integration

JAVASCRIPT
const client = new OpenAI({
  apiKey: process.env.CHATBOXAI_API_KEY,
  baseURL: "https://oai.helicone.ai/v1",
  defaultHeaders: {
    "Helicone-Auth": `Bearer ${process.env.HELICONE_API_KEY}`,
    "Helicone-Target-URL": "https://chatboxai.co.in",
  },
});

Prometheus Metrics

JAVASCRIPT
import { Counter, Histogram, register } from "prom-client";

const requestCounter = new Counter({
  name: "chatboxai_requests_total",
  help: "Total API requests",
  labelNames: ["model", "status"],
});

const latencyHistogram = new Histogram({
  name: "chatboxai_latency_seconds",
  help: "Request latency",
  labelNames: ["model"],
});

Key Metrics to Track

MetricWhy it matters
Latency P50/P95/P99User experience quality
Error rateReliability indicator
Token usage/requestCost efficiency
Cost/active userBusiness sustainability
Cache hit rateOptimization opportunity
Fallback rateProvider reliability

OpenTelemetry Tracing

JAVASCRIPT
import { trace } from "@opentelemetry/api";

const tracer = trace.getTracer("chatboxai-client");

async function tracedChat(messages) {
  const span = tracer.startSpan("chatboxai.chat");
  
  try {
    const response = await client.chat.completions.create({ model: "chatboxai/gpt-oss-20b", messages });
    span.setAttributes({
      "ai.model": "chatboxai/gpt-oss-20b",
      "ai.input_tokens": response.usage.prompt_tokens,
      "ai.output_tokens": response.usage.completion_tokens,
    });
    return response;
  } catch (err) {
    span.recordException(err);
    throw err;
  } finally {
    span.end();
  }
}