const result = await lumina.trace('rag_pipeline', async (parentSpan) => {
parentSpan.setAttribute('query', userQuery);
// Child span 1: Vector search
const docs = await lumina.trace('retrieval', async () => {
return await vectorDB.search(userQuery);
});
// Child span 2: LLM synthesis
const response = await lumina.traceLLM(
() => llm.generate(buildPrompt(userQuery, docs)),
{ name: 'synthesis', system: 'anthropic' }
);
return response;
});