You can add additional attributes to traces in Langtrace by simply wrapping your code with the withAdditionalAttributes or inject_additional_attributes function. This will add the specified attributes to the trace spans.
You can add additional attributes to traces in Langtrace by simply wrapping your code with the withAdditionalAttributes for typescript or inject_additional_attributes function for python. This will add the specified attributes to the trace spans. Make sure to pass the attributes as a key-value pair to the function.
import*as Langtrace from"@langtrase/typescript-sdk";import OpenAI from'openai'Langtrace.init({ write_spans_to_console:true,})const openai =newOpenAI()exportconstrun=async()=>{const response =await Langtrace.withAdditionalAttributes(async()=>{returnawait openai.chat.completions.create({ model:'gpt-4', messages:[{ role:'system', content:'Talk like a pirate'},{ role:'user', content:'Tell me a story in 3 sentences or less.'}], stream:false})},{ user_id:"userid1234", request_id:"randomId"})// Add additional attributes to the trace spans can be any key value pair}run().then(()=>console.log('done'))
from langtrace_python_sdk import inject_additional_attributesdefdo_llm_stuff(name=""): response = client.chat.completions.create( model="gpt-4", messages=[{"role":"user","content":"Say this is a test three times"}], stream=False,)return responsedefmain(): response = inject_additional_attributes(lambda: do_llm_stuff(name="llm"),{'user_id':'userid1234'})# if the function do not take arguments then this syntax will work response = inject_additional_attributes(do_llm_stuff,{'user_id':'userid1234'})main()
DO NOT USE this the Python decorator - with_additional_attributes. It will be
deprecated soon. Please use inject_additional_attributes function instead.