Reference · Snippet · typescript
Pass request ID through LLM calls
Last updated
export async function POST(req: Request) {
const requestId = req.headers.get("x-request-id") ?? crypto.randomUUID();
const span = tracer.startSpan("chat", { attributes: { requestId } });
try {
const embedSpan = tracer.startSpan("embed_query", { parent: span });
const vector = await embed(query, { headers: { "x-request-id": requestId } });
embedSpan.end();
const retrieveSpan = tracer.startSpan("retrieve", { parent: span });
const chunks = await vectorDb.search(vector);
retrieveSpan.setAttribute("chunk_count", chunks.length);
retrieveSpan.end();
// ...
} finally {
span.end();
}
}