Skip to main content

Workflow Versions

You can version your workflows and tasks. Just provide the version argument to the decorator:
@workflow(name="my_workflow", version=2)
def my_workflow():
    ...
import * as traceloop from "@traceloop/node-server-sdk";

class JokeCreation {
  @traceloop.workflow({ name: "pirate_joke_generator", version: 2 })
  async joke_workflow() {
    eng_joke = create_joke();
    pirate_joke = await translate_joke_to_pirate(eng_joke);
    signature = await generate_signature(pirate_joke);
    console.log(pirate_joke + "\n\n" + signature);
  }
}
import * as traceloop from "@traceloop/node-server-sdk";

async function joke_workflow() {
  return await traceloop.withWorkflow(
    { name: "pirate_joke_generator", version: 2 },
    async () => {
      eng_joke = create_joke();
      pirate_joke = await translate_joke_to_pirate(eng_joke);
      signature = await generate_signature(pirate_joke);
      console.log(pirate_joke + "\n\n" + signature);
    }
  );
}

Prompt Versions

You can enrich your prompt traces by providing data about the prompt’s version, specifying the prompt template or the variables:
Traceloop.set_prompt(
    "Tell me a joke about {subject}", {"subject": subject}, version=1
)
completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": f"Tell me a joke about {subject}"}],
)