Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.langtrace.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.

Typescript SDK

import * as Langtrace from "@langtrase/typescript-sdk";
import OpenAI from 'openai'
Langtrace.init({
  write_spans_to_console: true,
})
const openai = new OpenAI()
export const run = async ()=>{
    const response = await Langtrace.withAdditionalAttributes(async () => {
      return await 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'))

Python SDK

from langtrace_python_sdk import inject_additional_attributes

def do_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 response


def main():
  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.